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

8279 Keyboard/Display Controller | Microprocessor Tutorials

YASH PAL, April 20, 2026May 1, 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.

Table of Contents

  • 8279 Keyboard/Display Controller
    • Block Diagram of 8279 Keyboard/Display Controller
      • Keyboard Section
      • Scan Section
      • Display Section
      • Processor Section
    • 8279 Command Words
      • Keyboard/Display mode set command
      • Program Clock Command
      • Read FIFO/Sensor RAM Command
      • Read Display RAM Command
      • Write Display RAM Command
      • Display Inhibit/Blanking Command
    • Clear Command
      • End Interrupt/Error Mode Set Command

8279 Keyboard/Display Controller

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 devices such 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 Keyboard/Display Controller

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

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 the 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 as reading the 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

Microprocessor Subject Tutorials & Notes | Beginners Guide
engineering subjects Microprocessor microprocessor

Post navigation

Previous post
Next post

Introduction to Microprocessor
Generations of Computer
Microprocessor Types
Types of Computer Systems
Types of Programming Languages
Basic Computer Structure
Interfacing Logic Devices
Number System in Computer
Number System Arithmetic – Addition & Subtraction

Microprocessor as CPU
8085 Microprocessor Architecture
Pin Configuration of 8085 Microprocessor
Demultiplexing of Address and Data Bus in 8085 Microprocessor
Basic Operations of the 8085 Microprocessor
Memory Organization in 8085 Microprocessor

Microprocessor memory structure
Memory Interfacing with 8085 Microprocessor
Memory address decoding in a microprocessor
Input/Output Interfacing in Microprocessor

8085 Microprocessor Programming Model
8085 Assembly Language Programming
8085 Microprocessor Instructions
Microprocessor Programming Steps
Flowchart Design of a Program
8085 Microprocessor Data Transfer Instructions
8085 Microprocessor Arithmetic Instructions
8085 Microprocessor Logical Instructions
8085 Microprocessor Branch Instructions
8085 Microprocessor Machine-Processor Control Instructions
Basic Structure of an Assembly Language Program
Programming Techniques for Repeated Tasks
Debugging of a Microprocessor Program

8085 Microprocessor Timing Operations
Timing Diagram of 8085 Microprocessor
Time Delay in Microprocessor
Stack in 8085 Microprocessor
Subroutine in 8085 Microprocessor
MACRO in Microprocessor

Interrupts in 8085 Microprocessor
Digital to Analog Converter (DAC) in Microprocessor
Analog to Digital Converter (ADC) in Microprocessor

Programmable Peripheral Interface
8255 (PPI) Programmable Peripheral Interface
Programmable Interval Timer (PIT) 8253/8254
Programmable Interrupt Controller (PIC) 8259
Direct Memory Access (DMA) Controller 8257

8086 Microprocessor Architecture, Instructions, and Pin Diagram
Addressing Modes of the 8086 Microprocessor
Instruction Set of 8086 Microprocessor
8088 Microprocessor Architecture with Pin Diagram
Difference between 8085, 8086, and 8088 Microprocessors
80186 Microprocessor Architecture
80286 Microprocessor Architecture & Features
80386 Microprocessor Architecture & Features
80486 Microprocessor Architecture & Features
80586 (Pentium) Microprocessor Architecture & Features

8051 Microcontroller Architecture
8051 Microcontroller Memory Organization
8051 Microcontroller Pin Configuration & Programming Model
8051 Microcontroller Timers and Counters
Serial Communication in 8051 Microcontroller
Interrupts of the 8051 Microcontroller
Addressing Modes of the 8051 Microcontroller
Intel MMX Architecture
Dual Core Processor

LED & Multiplexed Display Interfacing with Microprocessor
Liquid Crystal Display (LCD) Pin Configuration & Interfacing
Matrix Keyboard Interfacing with Microprocessor
8279 Keyboard/Display Controller
Programmable Communication Interface (USART) 8251
Serial Communication Standards in Microprocessor
Computer System Standard Buses

TheCScience

At TheCScience.com, our mission is to make quality education accessible to everyone. We provide in-depth, easy-to-understand articles covering Secondary, Senior Secondary, and Graduation-level subjects.

Our content is designed to simplify complex concepts through clear explanations, diagrams, and structured learning—helping students build strong fundamentals and succeed academically without financial barriers.

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

Microprocessor

Programming Tutorials

Data Structure and Algorithm

C

Java

NCERT

Class 12th

©2026 TheCScience | WordPress Theme by SuperbThemes