8279 Keyboard and Display Interface card

INTERFACE CARDS
8279 Keyboard and
Display Interface card
Join the Technical Community Today!
http://www.pantechsolutions.net
Introduction
PS-ADD-ON 8279 Keyboard and Display controller card designed to study the
features of Keyboard and Display controller, PS- 8279 Interface card consist of 6
Nos. numbers of Common Cathode 7segment displays arranged in order with driver
by using PNP transistors, and 8X2 Matrix keypad consist of 16 Nos. snap on keys
arranged in matrix format, Address lines, Chip select lines and the Power lines are terminated
with 50-pin connector.
Packages
8279 Keyboard and display Add-on Card
Interface Cable
Reference Documents | Example Programs
Technical or Customer Support
Post your questions :
Pantech forum
:
www.pantechsolution.net/forum
Website
:
www.pantechsolutions.net
Join the Technical Community Today!
http://www.pantechsolutions.net
KEYBOARD AND DISPLAY INTERFACE CARD
-6 Nos. Seven Segment LEDs
-18 No of Tact Switches
SPECIFICATIONS
8279 (keyboard and Display )

40 pin keyboard and display IC

Simultaneous Keyboard and Display operation.

3 input mode such as scanned keyboard mode, scanned sensor mode and strobed input entry

6 character Display

8 character keyboard FIFO

Right or Left entry 6 Byte Display RAM

Programmable Scan Timing

2 Key lockout or N-key Roll-over with contact debounce.

Auto Increment facility for easy programming

Display Interface

Matrix Key Interface : 18 No of snap on keys
: 6 No of Seven Segment
50-pin Box Header
All data| control lines | Power lines terminated at box connector
50-pin FRC Cable
To connect host boards (Microcontroller/Micro Processor)
CARD FEATURES
16 Nos. Tact Switch
6 No of seven segment
20-pin Box Connector
Join the Technical Community Today!
http://www.pantechsolutions.net
KIT INCLUDES
8279 keyboard and display IC
8x2 Keypad matrix
6 No of seven segment
Interface Cable
HARDWARE DESCRIPTION OF 8279 INTERFACE CARD
Keyboard and display is configured in the encoded mode. In the encoded mode, a binary count sequence
is put on the scan lines SL0-SL3. These lines must be externally decoded to provide the scan lines for keyboard and
display. A 3 to 8 decoder 74LS138 is provided for this purpose. The S0-S1 output lines of this decoder are
connected to the two rows of the keyboard. And QA0 to QA7 is connected to 7 Segment Display
Join the Technical Community Today!
http://www.pantechsolutions.net
RL0-RL7 lines connect to the 8 columns of the keyboard matrix.
Join the Technical Community Today!
http://www.pantechsolutions.net
50 PIN
HEADER
8279
RD
RD
WR
WR
From Decoder
CS
RST
RST
RST 5.5
IRQ
CLK
CLK
D0
D0
D1
D1
D2
D2
D3
D3
D4
D4
D5
D5
D6
D6
D7
D7
VCC
VCC
GND
GND
DATA LINES
CONTROL LINES
HARDWARE CONFIGURATION OF 8279 WITH 8051/8086/8085
VCC
GND
CONNECTIONS
OUTPUT
Connect the 50 pin FRC
cable to PS - 8279
interface card and
trainer kit
8279 Output will be
displayed on Seven
Segment or Memory
address Specified in
the Program(D0 to D7)
Supply drawn from MCU/MPU.
Pin number 24 to 31 is connected to 7
segments. SL0 – SL2 is connected to decoder
and SL2 is no connect RL0 – RL7 is connected
to keypad
PROGRAMS ON PS-ADDON 8279 INTERFACE CARD
8085 MICRO PROCESSOR ON BOARD I/O DECODING ADDRESS
CONTROL
ADDRESS
Control REG
62H
Control Data
60H
Join the Technical Community Today!
http://www.pantechsolutions.net
8085 INTERFACE WITH 8279
PROGRAM 1: DISPLAY DATA "A":
To initialize 8279 and to display the character "A" in the first digit of the display. However, before sending
codes to the display RAM, a write display RAM control word should be sent. Then, write the data to be displayed,
to the data register.
ADDRESS
OPCODE
MNEMONICS
9100
3E 00
MVI A,00
9102
D3 62
OUT CNT
9104
3E CC
MVI A,CC
9106
D3 62
OUT CNT
9108
3E 90
MVI A,90 ;
910A
D3 62
OUT CNT
910C
3E 88
MVI A,98 ; data
910E
D3 60
OUT DAT
9110
3E FF
MVI A,FF
9112
D3 60
OUT DAT
9114
D3 60
OUT DAT
9116
D3 60
OUT DAT
9118
D3 60
OUT DAT
911A
D3 60
OUT DAT
911C
76
HLT
Join the Technical Community Today!
http://www.pantechsolutions.net
PROGRAM 2: READ A KEY:
To read a key and store the key code in memory location 9200. This code will be entered into the FIFO
whenever a key is pressed. To read a key, procedure to be followed is,
1) Read the status word
2) Check for a key closure:
This can be done by checking the least significant 3 bits of the status word. If it zero, it means there is no
key closure, so keep checking again.
3) If a key closure is encountered, read the data from FIFO RAM, and store this data (key code) in memory location
9200
The following program waits for a key to be pressed in the keyboard, reads the same and stores it in the
location 9200
ADDRESS
OPCODE
MNEMONICS
9150
DB 62
LOOP: IN CNT
9152
E6 07
ANI 07
9154
CA 50 91
JZ LOOP
9157
3E 40
MVI A,40H
9159
D3 62
OUT CNT
915B
DB 60
IN DAT
915D
32 00 92
STA 9200
9160
76
HLT
Join the Technical Community Today!
http://www.pantechsolutions.net
PROGRAM 3: ROLLING DISPLAY:
To display the rolling message 'HELP US' in the display. The initialization of 8279 is same as that of
Example-1. Then, the data is fetched from address 9200CH and displayed in the first digit of the display. The next
data is displayed in the second Digit of the display, since in the command word for 'write display RAM' the Auto
Increment flag is set. A time delay is given between successive digits for a lively display
ADDRESS
OPCODE
MNEMONICS
9100
21 2C 92
LXI H,9200H
9103
16 0F
MVI D,0FH
9105
3E 10
MVI A,10H
9107
D3 62
OUT CNT
9109
3E CC
MVI A,0CCH
910B
D3 62
OUT CNT
910c
3E 90
MVI A,90H
910F
D3 62
OUT CNT
9111
7E
9112
D3 60
OUT DAT
9114
CD 1F 91
CALL DELAY
9117
23
INX H
9118
15
DCR D
9119
C2 11 91
JNZ LOP
911C
C3 00 91
JMP START
911F
06
DELAY: MVI B,0A0H
9121
0E FF
LOP1:
MVI C,0FFH
9123
0D
LOP2:
DCR C
9124
C2 23 91
JNZ LOP 2
9127
05
DCR B
9128
C2 21 91
JNZ LOP1
912B
C9
RET
LOP:
MOV A,M
LOOK-UP TABLE:9200
FFH, FFH, FFH, FFH
9204
FFH, FFH, FFH, FFH
Join the Technical Community Today!
http://www.pantechsolutions.net
9208
98H, 68H, 7CH, C8H
920C
FFH, ICH, 29H, FFH
PROGRAM 4: ACCEPT A KEY AND DISPLAY IT:
To accept a key from the Hex keyboard and display it in the display. The initialization of 8279's FIFO RAM
and DISPLAY RAM are the same as that given in example 3. A lookup table is provided to obtain the corresponding
display codes for the keys
ADDRESS
ADDRESS
OPCODE
MNEMONICS
9100
06 08
MVI B,08
9102
3E 00
MVI A,00H
9104
D3 62
OUT CNT
9106
3E CC
MVI A,0CCH
9108
D3 62
OUT CNT
910A
3E 90
MVI A,90H
910C
D3 62
OUT CNT
910E
3E FF
MVI A,0FFH
9110
D3 60
9112
05
DCR B
9113
C2 10 91
JNZ BACK
9116
DB 62
9118
E6 07
ANI 07H
911A
CA 16 91
JZ LOP
911D
3E 40
MVI A,040H
911F
D3 62
OUT CNT
9121
DB 60
IN DAT
9123
E6 0F
ANI 0F
9125
4 6F
MOV L,A
9126
26 92
MVI H,92
9128
7E
MOV A,M
9129
D3 60
OUT DAT
912B
C3 16 91
JMP LOOP
BACK:
LOOP:
OUT DAT
IN CNT
Join the Technical Community Today!
http://www.pantechsolutions.net
LOOK-UP TABLE:9200
0CH, 9FH, 4AH, 0BH
9204
99H, 29H, 28H, 8FH
9208
08H, 09H, 88H, 38H
920C
6CH, 1AH, 68H, E8H
8051 MICRO PROCESSOR ON BOARD I/O DECODING ADDRESS
CONTROL
ADDRESS
Control REG
40A2H
Control Data
40A0H
8051 INTERFACE WITH 8279
PROGRAM 1: DISPLAY DATA "A":
To initialize 8279 and to display the character "A" in the first digit of the display. However, before sending
codes to the display RAM, a write display RAM control word should be sent. Then, write the data to be displayed,
to the data register.
ADDRESS
OPCODE
MNEMONICS
9100
90 40 A2
MOV DPTR,#40A2
9103
74 00
MOV A,#00
9105
F0
MOVX @DPTR,A
9106
74 CC
MOV A,#CC
9108
F0
MOVX @DPTR,A
9109
74 90
MOV A,#90
910B
F0
MOVX @DPTR,A
910C
90 40 A0
MOV DPTR,#40A0
910F
74 88
MOV A,#88
9111
F0
MOVX @DPTR,A
9112
78 05
MOV R0,#05
9114
74 FF
MOV A,#FF
9116
F0
9117
D8 FD
9119
80 FE
LOOP: MOVX @DPTR,A
DJNZ R0,LOOP
HERE: SJMP HERE
Join the Technical Community Today!
http://www.pantechsolutions.net
PROGRAM 2: READ A KEY:
To read a key and store the key code in memory location 9200. This code will be entered into the FIFO
whenever a key is pressed. To read a key, procedure to be followed is,
1) Read the status word
2) Check for a key closure:
This can be done by checking the least significant 3 bits of the status word. If it zero, it means there is no
key closure, so keep checking again.
3) If a key closure is encountered, read the data from FIFO RAM, and store this data (key code) in memory location
9200
The following program waits for a key to be pressed in the keyboard, reads the same and stores it in the
location 9200
ADDRESS
OPCODE
MNEMONICS
9100
90 40 A2
9103
E0
9104
54 07
ANL A,#07
9106
60 FB
JZ WAIT
9108
74 40
MOV A,#40
910A
F0
MOVX @DPTR,A
910B
90 40 A0
MOV DPTR,#40A0
910E
E0
MOVX A,@DPTR
910F
90 86 00
MOV DPTR,#9200
9112
F0
MOVX @DPTR,A
9113
80 FE
MOV DPTR,#40A2
WAIT:
HERE:
MOVX A,@DPTR
SJMP HERE
Join the Technical Community Today!
http://www.pantechsolutions.net
PROGRAM 3: ROLLING DISPLAY:
To display the rolling message 'HELP US' in the display. The initialization of 8279 is same as that of
Example-1. Then, the data is fetched from address 9200CH and displayed in the first digit of the display. The next
data is displayed in the second Digit of the display, since in the command word for 'write display RAM' the Auto
Increment flag is set. A time delay is given between successive digits for a lively display
ADDRESS
OPCODE
MNEMONICS
9100
90 40 A2
9103
78 00
MOV R0,#00
9105
79 92
MOV R1,#92 : to initialize
9107
74 10
MOV A,#10 : look-up table
9109
F0
MOVX @DPTR,A : at 8700
910A
74 CC
MOV A,#CC
910C
F0
MOVX @DPTR,A
910D
74 90
MOV A,#90
910F
F0
MOVX @DPTR,A
9110
89 83
9112
88 82
MOV DPL,R0
9114
E0
MOVX A,@DPTR
9115
90 40 A0
MOV DPTR,#40A0
9118
F0
MOVX @DPTR,A
9119
12 86 00
LCALL DELAY
911C
08
INC R0
911D
B8 0F F0
CJNE R0,#0F,LOOP
9120
02 91 00
LJMP START
8600
7C A0
DELAY:
8602
7D FF
LOOP2 : MOV R5,#FF
8604
00
LOOP1 : NOP
8605
DD FD
DJNZ R5,LOOP1
8607
DC F9
DJNZ R4,LOOP2
8609
22
RET
START:
LOOP:
MOV DPTR,#40A2
MOV DPH,R1
MOV R4,#A0
Join the Technical Community Today!
http://www.pantechsolutions.net
LOOK-UP TABLE:-
9200
FFH, FFH, FFH, FFH
9204
FFH, FFH, FFH, FFH
9208
98H, 68H, 7CH, C8H
920C
FFH, ICH, 29H, FFH
Join the Technical Community Today!
http://www.pantechsolutions.net
PROGRAM 4: ACCEPT A KEY AND DISPLAY IT:
To accept a key from the Hex keyboard and display it in the display. The initialization of 8279's FIFO RAM
and DISPLAY RAM are the same as that given in example 3. A lookup table is provided to obtain the corresponding
display codes for the keys
ADDRESS
OPCODE
MNEMONICS
9100
79 86
MOV R1,#92
9102
78 08
MOV R0,#08
9104
90 40 A2
MOV DPTR,#40A2
9107
74 00
MOV A,#00
9109
F0
MOVX @DPTR,A
910A
74 CC
MOV A,#CC
910C
F0
MOVX @DPTR,A
910D
74 90
MOV A,#90
910F
F0
MOVX @DPTR,A
9110
74 40
MOV A,#FF
9112
90 40 A0
MOV DPTR,#40A0
9115
F0
9116
D8 FD
9118
90 40 A2
AGAIN: MOV DPTR,#40A2
911B
E0
WAIT: MOVX A,@DPTR
911C
54 07
ANL A,#07
911E
60 FB
JZ WAIT
9120
74 40
MOV A,#40
9122
F0
MOVX @DPTR,A
9123
90 40 A0
MOV DPTR,#40A0
9126
E0
MOVX A,@DPTR
9127
54 0F
ANL A,#0F
9129
F5 82
MOV DPL,A
912B
89 83
MOV DPH,R1
912D
E0
MOVX A,@DPTR
912E
90 40 A0
MOV DPTR,#40A0
9131
F0
MOVX @DPTR,A
9132
80 E4
SJMP AGAIN
LOOP: MOVX @DPTR,A
DJNZ R0,LOOP
Join the Technical Community Today!
http://www.pantechsolutions.net
LOOK-UP TABLE:9200
0CH, 9FH, 4AH, 0BH
9204
99H, 29H, 28H, 8FH
9208
08H, 09H, 88H, 38H
920C
6CH, 1AH, 68H, E8H
Join the Technical Community Today!
http://www.pantechsolutions.net
8086 MICRO PROCESSOR ON BOARD I/O DECODING ADDRESS
ADDRESS
Control REG
FF52H
Control Data
FF50H
8086 INTERFACE WITH 8279
PROGRAM 1: DISPLAY DATA "A":
To initialize 8279 and to display the character "A" in the first digit of the display. However, before sending
codes to the display RAM, a write display RAM control word should be sent. Then, write the data to be displayed,
to the data register.
ADDRESS
OPCODE
MNEMONICS
1100
BA 52 FF
1103
B0 00
MOV AL,00
1105
EE
OUT DX,AL
1106
B0 CC
MOV AL,CC
1108
EE
OUT DX,AL
1109
B0 90
MOV AL,90
110B
BA 50 FF
MOV DX,FF50
110E
B0 88
MOV AL,88
1110
EE
OUT DX,AL
1111
B0 FF
MOV AL,FF
1113
B9 05 00
MOV CX,0005
1116
EE
1117
E2 FD
LOOP LP1
1119
EB E5
JMP START
START:MOV DX,FF52
LP1:
OUT DX,AL
Join the Technical Community Today!
http://www.pantechsolutions.net
PROGRAM 2: READ A KEY:
To read a key and store the key code in memory location 1200. This code will be entered into the FIFO
whenever a key is pressed. To read a key, procedure to be followed is,
1) Read the status word
2) Check for a key closure:
This can be done by checking the least significant 3 bits of the status word. If it zero, it means there is no
key closure, so keep checking again.
3) If a key closure is encountered, read the data from FIFO RAM, and store this data (key code) in memory location
1200
The following program waits for a key to be pressed in the keyboard, reads the same and stores it in the
location 1200
ADDRESS
OPCODE
MNEMONICS
1100
BB 00 12
MOV BX,1200
1103
BA 52 FF
MOV DX,FF52
1106
EC
1107
A8 07
TEST AL,07
1109
74 FB
JZ L0P1
110B
B0 40
MOV AL,40
110D
BA 52 FF
MOV DX,FF52
1110
EE
OUT DX,AL
1111
BA 50 FF
MOV DX,FF50
1114
EC
IN AL,DX
1115
88 07
MOV [BX],AL
1117
F4
HLT
LOP1: IN AL,DX
Join the Technical Community Today!
http://www.pantechsolutions.net
PROGRAM 3: ROLLING DISPLAY:
To display the rolling message 'HELP US' in the display. The initialization of 8279 is same as that of
Example-1. Then, the data is fetched from address 1200CH and displayed in the first digit of the display. The next
data is displayed in the second Digit of the display, since in the command word for 'write display RAM' the Auto
Increment flag is set. A time delay is given between successive digits for a lively display
ADDRESS
OPCODE
MNEMONICS
1100
BE 00 12
1103
B9 0F 00
MOV CX,000F
1106
B0 10
MOV AL,10
1108
BA 52 FF
MOV DX,FF52
110B
EE
OUT DX,AL
110C
B0 CC
MOV AL,CC
110E
EE
OUT DX,AL
110F
B0 90
MOV AL,90
1111
EE
OUT DX,AL
1112
8A 04
1114
BA 50 FF
MOV DX,FF50
1117
EE
OUT DX,AL
1118
E8 E5 01
CALL 1300
111B
46
INC SI
111C
E2 F4
LOOP LOP1
111E
EB E0
JMP START
1300
BA FF A0
1303
4A
DEC DX
1304
75 FD
JNZ 1303
1306
C3
RET
START:MOV SI,1200
LOP1: MOV AL,[SI]
DELAY:MOV DX,A0FF
Join the Technical Community Today!
http://www.pantechsolutions.net
LOOK-UP TABLE:1200
FFH, FFH, FFH, FFH
1204
FFH, FFH, FFH, FFH
1208
98H, 68H, 7CH, C8H
120C
FFH, 1CH, 29H, FFH
Join the Technical Community Today!
http://www.pantechsolutions.net
Did you enjoy the read?
Pantech solutions creates information packed
technical documents like this one every month. And
our website is a rich and trusted resource used by a
vibrant online community of more than 1, 00,000
members from organization of all shapes and sizes.
Join the Technical Community Today!
http://www.pantechsolutions.net
What do we sell?
Our products range from Various
Microcontroller development boards, DSP Boards,
FPGA/CPLD boards, Communication Kits, Power
electronics, Basic electronics, Robotics, Sensors,
Electronic components and much more . Our goal is
to make finding the parts and information you need
easier and affordable so you can create awesome
projects and training from Basic to Cutting edge
technology.
Join the Technical Community Today!
http://www.pantechsolutions.net