Skip to content
The Computer Science
TheCScience
  • Engineering Subjects
    • Human Values
    • Computer System Architecture
    • Digital Communication
    • Internet of Things
  • NCERT Solutions
    • Class 12
    • Class 11
  • HackerRank solutions
    • HackerRank Algorithms Problems Solutions
    • HackerRank C solutions
    • HackerRank C++ problems solutions
    • HackerRank Java problems solutions
    • HackerRank Python problems solutions
  • JEE 2027
The Computer Science
TheCScience

8279 Keyboard/Display Controller

YASH PAL, April 20, 2026April 20, 2026

8279 Keyboard/Display Controller – The 8279 is a hardware approach to interface a matrix keyboard and multiplexed display. A software approach is also possible to interface the keyboard and the display unit. The disadvantage of the software approach is that the microprocessor is occupied for a considerable amount of time in checking the keyboard and refreshing the display.

The 8279 is a 40-pin device (as shown in Figure 1 & Figure 2) with two major segments: Keyboard and display. The keyboard segment can be connected to a 64-contact key matrix. A maximum of 8 keyboard entries (codes) can be stored in the FIFO (First In First Out) RAM. Every time a key is pressed, an interrupt signal is generated to request the microprocessor to read the key code. The display segment can provide a 16-character scanned display interface with such devices as LEDS. This segment has 16 x 8 R/W memory (RAM), which can be used to read/write information for display purposes. The display can be set in either right-entry or left-entry format.

Pin Configuration of 8279
Figure 1: Pin Configuration of 8279
Pin Diagram of 8279
Figure 2: Pin diagram of 8279

Block Diagram of 8279

The block diagram is shown in Figure 3. It can be divided into four major sections: Keyboard section, Scan section, Display section, and Processor section.

Block diagram of 8279
Figure 3: Block diagram of 8279

Keyboard Section

The function of various pins of this section is:

  1. RL0 – RL7 (Return Lines): These lines are connected to eight columns of a keyboard.
  2. SHIFT: It is used in the scanned keyboard. On key closure or when the key is closed, the shift input status is stored.
  3. CNTL/STB (Control/Strobe): The status of the SHIFT key and the control key can be stored along with a key closure. The keys are automatically debounced, and the keyboard can operate in two modes:
    1. Two-key lockout mode: In the two-key lockout mode, if two keys are pressed simultaneously, only the first key is recognized.
    2. N-key rollover mode: In the N-key rollover mode, simultaneous keys are recognized, and their codes are stored in the internal buffer; it can also be set up so that no key is recognized until only one key remains pressed.

Scan Section

The scan section has a scan counter and four scan lines (SL0 – SL3). These four scan lines can be decoded using a 4-to-16 decoder to generate 16 lines for scanning. These lines can be connected to the rows of a matrix keyboard and the digit drivers of a multiplexed display.

Display Section

The display section has eight output lines divided into two groups, A0 – A3 and B0 – B3. These lines can be used, either as a group of eight lines or as two groups of four, in combination with the scan lines for a multiplexed display. The display can be blanked by using the BD line. This section includes 16 x 8 display RAM

Processor Section

The function of various pins of this section is:

  1. DB0 – DB7: These are bidirectional data bus lines, used to transmit the commands.
  2. IRQ: It is an active high signal. It goes high whenever data entries are stored in FIFO RAM. This signal is used to interrupt the microprocessor to indicate the availability of data.
  3. A0: When A0 is high, signals are interpreted as control words or status. When A0 goes low, signals are interpreted as data.
  4. CS (Chip Select): It is an active low signal and is used to enable the chip.
  5. RD (Read): It is an active low signal and used to read the input.
  6. WR (Write): It is an active low signal and used to write the input.
  7. CLK (Clock): It is used to generate internal timing.
  8. RESET: It is an active high signal and is used to reset the 8279.

8279 Command Words

8279 provides 8 commands that are sent on the data bus with CS low and A0 high.

Keyboard/Display mode set command

This command is used to set various operating modes of the keyboard and display section. The format for this command is shown in Figure 4.

keyboard/display mode set command
Figure 4: keyboard/display mode set command
Display mode
008-digit, 8-bit character display – left entry
0116-digit, 8-bit character display – left entry
108-digit, 8-bit character display – right entry
1116-digit, 8-bit character display – right entry
Table for Display Mode of 8279
Keyboard Mode
000Encoded scan keyboard – 2 key lockout
001Decoded scan keyboard – 2 key lockout
010Encoded scan keyboard – N Key rollover
011Decoded scan keyboard – N Key rollover
100Encoded sensor matrix
101Decoded sensor matrix
110Strobe input, encoded display scan
111Strobe input, decoded display scan
Table for Keyboard mode of 8279

Program Clock Command

It is used to set the internal clock frequency. PPPPP bits of a command word vary from 2 to 3110, specifying the internal divisor. This is shown in Figure 5.

Program clock diagram of 8279
Figure 5: Program clock diagram of 8279

Read FIFO/Sensor RAM Command

  1. To read FIFO/Sensor RAM, 8279 is set by this command.
  2. Auto increment flag AI and RAM address bits AAA are not required in scan keyboard mode.
  3. In sensor matrix mode, AAA selects one of the 8 rows of RAM, and each successive read from the subsequent row is done by setting AI = 1.
Read FIFO Sensor RAM Command
Figure 6: Read FIFO Sensor RAM Command

Read Display RAM Command

This command is used to read data from display RAM. If AI is set to 1 then row address will be incremented after each read.

Read Display RAM Command
Figure 7: Read Display RAM Command

Write Display RAM Command

This command is used to write a character into the display RAM. The bit AAAA specifies the address of a 16-byte display RAM location to be accessed. Auto increment functions are the same to read display RAM.

Write Display RAM Command
Figure 8: Write Display RAM Command

Display Inhibit/Blanking Command

This command is used to inhibit or blank the display. IW bits are used to mask nibbles. When IW = 1, the port is masked.

Display Inhibit blanking command
Figure 9: Display Inhibit blanking command
Inhibit nibble A
0Normal operation
1Inhibit nibble A display
Inhibit nibble B
0Normal operation
1Inhibit nibble B display
Blank nibble A
0Normal operation
1Inhibit nibble A display
Blank nibble B
0Normal operation
1Inhibit nibble B display

Clear Command

This command is used to set the clear or blanking code of the display and clear the status register.

(a) CD bits (CD0 – CD1) are used to select blanking code as given below

CD1CD0Blanking Code
0XAll zeros (for common cathode displays)
1020H (for alphanumeric displays)
11All ones (for common Anode display)

Bit CD2, when set to one, enables a clear display.

(b) If CF = 1, FIFO is cleared, and it resets the interrupt line.

(c) CA clears all the bits.

Clear Command
Figure 10: Clear Command

End Interrupt/Error Mode Set Command

This command disables the IRQ signal and enables further writing into RAM. For N-key rollover mode, if E = 1, the error special mode is operated.

End Interrupt/Error Mode Set Command
Figure 11: End Interrupt/Error Mode Set Command
engineering subjects Microprocessor microprocessor

Post navigation

Previous post
Next post

Engineering Core Subjects

Digital Communication Subject
Internet of Things Subject
Computer Architecture subject
Human Value Subject

JEE Study Materials

JEE Physics Notes
JEE Chemistry Notes

TheCScience

We at TheCScience.com are working towards the goal to give free education to every person by publishing in dept article about Secondary, Senior-Secondary, and Graduation level subjects.

Pages

About US

Contact US

Privacy Policy

DMCA

Our Tools

Hosting - get 20% off

Engineering Subjects

Internet of Things

Human Values

Digital Communication

Computer System Architecture

Programming Tutorials

Data Structure and Algorithm

C

Java

NCERT

Class 12th

©2026 TheCScience | WordPress Theme by SuperbThemes