[go: up one dir, main page]

0% found this document useful (1 vote)
94 views22 pages

TPC MP Lab Manual

Uploaded by

Vasu 7177
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
94 views22 pages

TPC MP Lab Manual

Uploaded by

Vasu 7177
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Thapar Polytechnic College, Patiala

EXPERIMENT-1
• AIM: Familiarization of different keys of 8085 microprocessor kit and its memory map.
• APPARATUS:ESA(Electro Systems Associates) 8085 kit.
• DIAGRAM:

Reset VCT Shift C D E F


INT

RTG INSD DELD 8 9 A B


SI

DEL INS REL 4 5 6 7


GO BM EMEM

STRG MEMC FILL 0 1 2 3


PRG NEXT

Keyboard of 8085 kit


• THRORY:-
KEYBOARD DESCRIPTION:
Vinytics 8085 kit has 28 keys and six-seven segment display to communicate with the outside world. As
kit is switched ON ,a message –‘ESA85’ is displayed on the display and all keys are in command mode.
The keyboard is as shown below:
• RESET:- Reset the system.
• VCT INT:- Hardware interrupt via keyboard, RST 7.5.
• SHIFT:- Provides a second level command to all keys.
• GO:- To execute a program.
• SI:- To execute the program on single step mode.
• EXREG:- EXAMINE REGISTER; allows user to examine and modify the contents of different
register.
• PRE:- Previous is used as an intermediate terminator in case of examine memory.
• DEL:- DELETE the part of the program or data with relocation, by one or more bytes.
• INS:- Inserts the part of the program or data with relocation, by one or more bytes.
• B.M:- BLOCK MOVE allows user to move a block of memory to any RAM area.
• FILL:- Allows user to fill RAM area with a constant.
• REL:- RELOCATES a program written for some memory area and to be transferred to other
memory area.

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 1
Thapar Polytechnic College, Patiala

• INS DATA:- INSERT DATA insert one or more data bytes in the user’s program/data area.
• STRING:- Finds out the string of data lying at s particular address or addresses.
• MEMC:- MEMORY COMPARE: compare two blocks of memory for equality.
• O TO F:- Hexadecimal keys.

Memory Map of kit:


0000H TO OFFFH = ERROM(2732)
1000H TO 17FFH = RAM#1(6 1/6)
1800H TO 1FFFH = RAM#2(6 1/6)
2000H TO 27FFH = RAM#3(6 1/6)
2800H TO 2FFMH = RAM#4(6 1/6)
309FH TO 300FH = 256bytes of user HLT
30AOH TO 3FFFH = fold back memory
4000H TO FFFFH = expendable memory

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 2
Thapar Polytechnic College, Patiala

EXPERIMENT-2

• AIM:- Exercise the steps to enter program and to execute a program on 8085 micro processor kit.
• APPARATUS:- 8085 ESA kit.
• PROCEDURE:-
1) Switch on the power supply and kit will display “ESA 8085”.
2) Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next and
so on upto the end of program opcodes
3) To execute the program press Reset ~ go ~ starting address ~ending address~ execute buttons
4) To check the result press Reset ~ examine memory~Memory address(where the result has been
stored in program) ~Next.

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 3
Thapar Polytechnic College, Patiala

Experiment:-3(A)
• Aim:- Writing and execution of ALP for the addition of two 8-bit numbers.
• Apparatus:- 8085 kit.
• Program:

Memory address. Opcode(HEX) Mnemonics Comment


8000 3E MVI A 56H Place 1st number in accumulator
8001 56 .
8002 06 MVI B 49H Place 2nd number in B register
8003 49
8004 80 ADD B Add the contents of A &B registers
8005 32
8006 03 STA 8503H Store the contents of Accumulator at
8007 85 8503 H memory address

8008 76 HLT End of Program

• PROCEDURE:
1. Switch on the power supply and kit will display “ESA8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on ESAto the end of program opcodes
3. To execute the program press Reset ~ go ~ starting address ~ending address~ execute buttons
4. To check the result press Reset ~ examine memory~Memory address(where the result has
been stored in program) ~Next.
• Result: We have seen the result 9F H which is the addition of 56H and 49H at the memory
address 8503H

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 4
Thapar Polytechnic College, Patiala

Experiment:-3(B)
• Aim:- Writing and execution of ALP for the Subtraction of two 8-bit numbers.
• Apparatus:- 8085 kit.
• Program:

Memory address. Opcode (HEX) Mnemonics Comment


8000 3E MVI A 56H Place 1st number in accumulator
8001 56 .
8002 06 Place 2nd number in B register
MVI B 49H
8003 49
8004 90 SUB B Subtract the contents of A &B registers
8005 32
8006 03 STA 8503H Store the contents of Accumulator at
8007 85 8503 H memory address

8008 76 HLT End of Program

• PROCEDURE:
1. Switch on the power supply and kit will display “ESA8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on ESAto the end of program opcodes
3. To execute the program press Reset ~ go ~ starting address ~ending address~ execute buttons
4. To check the result press Reset ~ examine memory~Memory address(where the result has
been stored in program) ~Next.

• Result: We have seen the result 0D H which is the subtraction of 56H and 49H at the memory
address 8503H

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 5
Thapar Polytechnic College, Patiala

EXPERIMENT-4(A)
• Aim:- Write a program for the multiplication of two 8-bit numbers.
• Apparatus:- 8085 kit.
• Program:

Memory OPCODE Mnemonics Comments


Address (Hex)
8000 26
MVI H, 02H Place the 1st number in H register
8001 02
8002 2E MVI L, 03H Place the 2nd number in L register
8003 03
8004 3E MVI A, 00H Initialize the accumulator to 00H
8005 00
8006 84(X) ADDH Add the contents of H and A register

8007 2D DCRL Decrement the contents of L register by 1

8008 C2
Jump to ‘X (8006H)’ if contents of above
8009 06 JNZ (X)
register (L register) is not zero
800A 20
800B 32
Store the contents of Accumulator to
800C 02 STA 8202H 8202H Memory address
800D 82
800E 76 HLT End of Program

• PROCEDURE:
1. Switch on the power supply and kit will display “ESA8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on ESAto the end of program opcodes
3. To execute the program press Reset ~ go ~ starting address ~ending address~ execute buttons
4. To check the result press Reset ~ examine memory~Memory address(where the result has
been stored in program) ~Next.

• Result: We have seen the result 06 H which is the multiplication of 02H and 03H at the memory
address 8202H

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 6
Thapar Polytechnic College, Patiala

EXPERIMENT-4(B)
• AIM:- Write a program for the division of two 8- bit numbers.
• Apparatus:- 8085 kit.
• Program:

Memory Address OPCODE (Hex) Mnemonics Comments


8000-01 3E, 08 MVI A, 08H Place the 1st number in accumulator
8002-03 06,02 MVIB,02H Place the 2nd number in B register
Initialize the C register (which will
8004-05 0E, 00 MVIC, 00H store the value for quotient) to 00H
Subtract the contents of B register
8006 90 (Y) SUB B
from Accumulator
Jump to ‘X (800EH)’ if the result of
8007-09 FA,0E,80 JM (X)
above subtraction has minus sign
800A OC INRC Increment the contents of Register C
800B-OD C3,06,80 JMP (Y) Jump to ‘Y (8006H)’
Add the contents of B register &
800E 80 (X) ADDB
accumulator
Store the contents (Remainder of
8OOF-11 32,03,85 STA,8503H Division) of Accumulator at 8503H
memory address
8012 79 MOVA, C Move the contents (Quotient) in C
register to A register
Store the contents of Accumulator at
8013-15 32,02,85 STA,8502H
8502H memory address
8016 76 HLT End of the Program

• PROCEDURE:
1. Switch on the power supply and kit will display “ESA8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on ESAto the end of program opcodes
3. To execute the program press Reset ~ go ~ starting address ~ending address~ execute buttons
4. To check the result press Reset ~ examine memory~Memory address(where the result has
been stored in program) ~Next.

• Result: We have seen the result 04 H (quotient) & 00H (remainder) of division of 08H & 02H at the
memory address 8502H & 8503H respectively.

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 7
Thapar Polytechnic College, Patiala

EXPERIMENT-5(A)
• Aim:- Writing and execution of ALP for arranging the elements of array in ascending order.
• Apparatus:- 8085 kit.
• Program:

Memory Address OPCODE (Hex) Mnemonics Comments


Set the counter (in D register) at the total no. of
8000-01 16,05 MVI D,05H
elements you have to arrange in ascending order
8002-04 Load the H-L register pair with the starting address
21,00,85 (Z) LXI H,8500H
of the elements to be arranged
8005-06 Set one more counter in L register which indicate
0E,09 MVI L,04H
L the total no. of elements still left to arrange
,
8007 0 Move the contents of Memory addressed by H-L
7E(Y) MOVA,M
4
H pair into A register
8008 23 INX H Increment the contents of H-L pair
Compare the contents of Accumulator & memory
8009 BE CMP M addressed by H-L Register pair
Jump to ‘X (2012H) if carry produced after the
800A-OC DA,12,20 JC (X)
execution of previous instrucion
800D 46 MOV Move the contents of Memory addressed by H-L
B,M pair into B register
Move the contents of A register into Memory
800E 77 MOVM,A addressed by H-L register pair
800F 2B DCX H Decrement the contents of H-L register pair by 1
Move the contents of B register into Memory
8010 70 MOVM,B
addressed by H-L pair
8011 23 INXH Increment the contents of H-L register pair by 1

8012 OD (X) DCRC Decrement the contents of C register pair by 1

C2,07,20 Jump to “Y(2007) if the result produced after the


8013-15 JNZ (Y)
execution of previous instruction is not Zero
8016 15 DCRD Decrement the contents of D register pair by 1
Jump to “Z(2002) if the result produced after the
8017-19 C2,02,20 JNZ (Z)
execution of previous instruction is not Zero
801A 76 HLT End of Program

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 8
Thapar Polytechnic College, Patiala

• PROCEDURE:
1. Switch on the power supply and kit will display “ESA8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on ESAto the end of program opcodes
3. To execute the program press Reset ~ go ~ starting address ~ending address~ execute buttons
4. To check the result press Reset ~ examine memory~Memory address(where the result has
been stored in program) ~Next.
• Result: We have seen all the five numbers arranged in ascending order which are stored at memory
locations from 8500H to 8504H

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 9
Thapar Polytechnic College, Patiala

EXPERIMENT-5(B)
• Aim:- Writing and execution of ALP for arranging the elements of array in descending order.
• Apparatus:- 8085 kit.
• Program:

MemoryAddress OPCODE (Hex) Mnemonics Comments

MVI D,05H Set the counter (in D register) at the total no. of
8000-01 16,05
elements you have to arrange in ascending order
21,00,85 (Z) LXI H,8500H Load the H-L register pair with the starting address
8002-04
of the elements to be arranged
8005-06 Set one more counter in L register which indicate
0E,09 MVI L,04H
the total no. of elements still left to arrange
Move the contents of Memory addressed by H-L
8007 7E(Y) MOVA,M
pair into A register
8008 23 INX H Increment the contents of H-L pair

8009 Compare the contents of Accumulator & memory


BE CMP M
addressed by H-L Register pair
Jump to ‘X (8012H) if no carry produced after the
800A-OC DA,12,80 JNC (X)
execution of previous instruction
800D 46 Move the contents of Memory addressed by H-L
MOV B,M
pair into B register
Move the contents of A register into Memory
800E 77 MOVM,A
addressed by H-L register pair
800F 2B DCX H Decrement the contents of H-L register pair by 1

8010 70 Move the contents of B register into Memory


MOVM,B
addressed by H-L pair
8011 23 INXH Increment the contents of H-L register pair by 1
8012 OD (X) DCRC Decrement the contents of C register pair by 1
Jump to “Y(8007) if the result produced after the
8013-15 C2,07,80 JNZ (Y)
execution of previous instruction is not Zero
8016 15 DCRD Decrement the contents of D register pair by 1

JNZ (Z) Jump to “Z(8002) if the result produced after the


8017-19 C2,02,80
execution of previous instruction is not Zero
801A 76 HLT End of Program

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 10
Thapar Polytechnic College, Patiala

• PROCEDURE:
1. Switch on the power supply and kit will display “ESA8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on ESAto the end of program opcodes
3. To execute the program press Reset ~ go ~ starting address ~ending address~ execute buttons
4. To check the result press Reset ~ examine memory~Memory address(where the result has
been stored in program) ~Next.
• Result: We have seen all the five numbers arranged in descending order which are stored at memory
locations from 8500H to 8504H

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 11
Thapar Polytechnic College, Patiala

EXPERIMENT-6
• Aim:- Write and execution of ALP for 0-9 BCD counter ( up/down counter).
• Apparatus:- 8085 kit.
• Program:
Memory Address OPCODE (Hex) Mnemonics Comments

8000-01 3E,00 MVIA,00H Initialize the counter at 00H

8002-2004 21,00,82 Load H-L register pair with 2200H


LXIH,8200H
Memory address
8005 77(X) MOVM,A Move the contents of A Register into
memory addressed by H-L pair
8006 3C INR A Increment the contents of A register by 1
Increment the contents of H-L register pair
8007 23 INXH
by 1
Compare the immediate data ‘0A’ with the
8008-09 FE,0A CPI,0A
contents of accumulator
Jump to ‘X(8005H) if the result after the
800A-DC C2,05,80 JNZ (X) execution of previous instruction is not
zero
Move the immediate data ‘09H’ into
8OOD-OE 3E,09 MVIA,09
Accumulator
800F 3D DCR A (Y) Decrement the contents of A register by 1

MOVM,A Move the contents of A register to


8010 77
Memory addressed by H-L pair
8011 23 INX H Increment the contents of H-L register pair
Compare the immediate data ‘00H’ with
8012-13 FE,00 CPI,00
the contents of accumulator
Jump to ‘X(800FH) if the result after the
8014-16 CE,0F,80 JNZ (Y) execution of previous instruction is not
zero
8017 76 HLT End of Program

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 12
Thapar Polytechnic College, Patiala

• PROCEDURE:
1. Switch on the power supply and kit will display “ESA8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on ESAto the end of program opcodes
3. To execute the program press Reset ~ go ~ starting address ~ending address~ execute buttons
4. To check the result press Reset ~ examine memory ~Memory address(where the result has
been stored in program) ~Next.
• Result: We have seen the numbers from 0-9 and then from 9-0 starting from the memory address
8200H

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 13
Thapar Polytechnic College, Patiala

EXPERIMENT – 7
• AIM:- Interface the seven segment display to 8085 with the help of 8255
• Apparatus:- 8085 kit, 8255 interfacing card, 50 pin FRC cable.
• Theory:- The interfacing details are shown in fig. Port B is used to drive the seven segment display
through PB0 to PB 7 lines respectively. The data required to display the number is calculated and stored
in memory from address 2050H as shown in figure.

Display PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 HEX Memory address
Number. dp g f e d c b a data

0 1 1 0 0 0 0 0 0 COH 8050
1 1 1 1 1 1 0 0 1 F9H 8051
2 1 0 0 0 0 1 0 0 A4H 8052
3 1 0 1 1 0 0 0 0 BOH 8053
4 1 0 0 1 1 0 0 1 99H 8054
5 1 0 0 0 0 0 1 0 92H 8055
6 1 0 0 1 0 0 1 1 89H 8056
7 1 1 1 0 1 0 0 0 F8H 8057
8 1 0 0 1 0 0 0 0 89H 8058
9 1 0 1 0 1 0 0 0 98H 8059

• Interfacing Diagram:

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 14
Thapar Polytechnic College, Patiala

• Program:
Memory OPCODE
Mnemonics Comments
Address (Hex)
Move 80H (Code to make Port B as O/P
3E,80 MVIA,80H
8000-01 Port) into Accumulator
8002-03 Out the contents of Accumulator to the
D3,28 OUT,2BH control word register of microprocessor
having address 2BH
8004-05 Move the Counter Value 0AH into C
OE,OA (Y) MVIC,OAH
register
Load the H-L register with memory
8006-08 21,50,80 LXIH,8050H Address 8050H at which the first code to
display digit ‘0’ is stored
Move the contents C0H of memory
8009 7E (X) MOVA,M
8050H into Accumulator
D3,29 OUT 29H Out the contents of Accumulator on
800A-0B
Port B whose address is 29H
800C-0E Call the Delay Sub Program (Starting
CD,17,80 CALL DELAY
from Memory address 8017H)
800F 23 INXH Increment the contents of H-L Pair
8010 0D DCRC Decrement the contents of C Register
Jump to Memory address 8009H if the
8011-13 C2,09,80 JNZ(X) Result after the execution of previous
Instruction is not Zero
Jump to Memory address 8004H if after
the execution of previous Instruction
8014-16 C3,04,80 JNP(Y)
there is no parity or parity
Flag is set to ‘0’
8017-18 Move the Delay counter FFH into D
16FF (DELAY) MVID,FFH
Register
Move the Delay counter FFH into E
8019-1A 1E,FF MVIE,FFH Register to create desired Delay in
Whole Program
801B 1D,(DL1) DCRE Decrement the contents of E Register
Jump to Memory address 801BH if the
8010-1E C2.IB,80 JNZ,DL1 Result after the execution of previous
Instruction is not Zero
801F 15(DL 2) DCRD Decrement the contents of D Register
Jump to Memory address 801BH if the
8020-22 C2,19,80 JNZ,DL2 Result after the execution of previous
Instruction is not Zero
8023 C1 RET Return to 800FH Memory address

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 15
Thapar Polytechnic College, Patiala

• PROCEDURE:-
1) Connect the 8255 peripheral card to the kit by 50 pin.
2) Keep the switch S1 in OFF position to enable single stepping.
3) Now ON the kit and enter the program as given for each experiment starting address for
entering the program is 8000H
Steps to enter the program:-
4. Switch on the power supply and kit will display “ESA8085”.
5. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next and
so on ESAto the end of program opcodes
6. To execute the program press Reset ~ go ~ starting address ~ending address~ execute buttons
7. To check the result press Reset ~ examine memory ~Memory address(where the result has been
stored in program) ~Next.

• Result: We have seen the digit 0-9 blinking on seven segment display provided on the kit

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 16
Thapar Polytechnic College, Patiala

EXPERIMENT-8
• AIM- Interfacing of 8253 ( Programmable interval Timer ) to microprocessor 8085 to generate square
wave of 1ms period. If input clock frequency to 8253 is 1 MHz.
• APPARATUS- 8085 microprocessor kit ,8253 interfacing card , connecting leads, 50 pin FRC cable
and CRO.
• DIAGRAM:

CRO

Microprocessor

• THEORY- 8253 is named as programmable interval Timer. So it consist of three identical 16 bit
counter or Timer. These Timer/counter can work as counter or can provide accurate time delay.The
8253 can be used in 6 modes as given below:
MODE 0 : Interrupt on terminal count.
MODE 1 : Programmable line-shot.
MODE 2 : Pulse generator.
MODE 3 : Squarewave generator.
MODE 4 : Software triggered strobe.
MODE 5 : Hardware triggered strobe.

To generate the square wave 8253 is operated in mode 3. Counter 0 can be used for this purpose.
The count value which should be loaded in counter 0 to generate the square wave of 1ms can be calculated
as:

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 17
Thapar Polytechnic College, Patiala

Count Value =

= 10-3/106 = 1000H

Each counter of 8253 is to be initialized separately by transferring separate control word for each counter to
control word register.
Format of control word register
D7 D6 D5 D4 D3 D2 D1 D0
Binary or
SC1 SC0 RL1 RL0 M2 M1 M0 BCD
counter

➢ SC1 and SC0 are used for selecting the counter.


➢ RL1 & RL2 are used to select counter Read Load Operation.
➢ The M2, M1 and M0 are for mode selection.
➢ D0 bit is used to select type of counter i.e BCD or Binary Counter.
To generate square wave with the help of 8253, required control word is 00110111 = 37H. The port address
for control word register & Counter 0 of 8253 are given below.
CWR = 2BH
Counter 0 = 28H
• PROGRAM:
Memory Opcode
Mnemonics Comments
Address (Hex)
Place 37H in accumulator to initialize counter 0 ,
8000-01 3E , 37 MVI A ,37H
in mode 3
8002-03 D3 , 33 OUT ,33H Place control word in control register
8004-05 3E , 00 MVI A ,00H Load LSB count value to Accumulator
8006-07 D3 , 30 OUT ,30H Move LSB count value to counter 0
8008-09 3E , 10 MVI A, 10H Load MSB count value to accumulator
800A-0B D3 , 30 OUT , 30H Move MSB count value to counter 0
800C CF RET Return to starting address

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 18
Thapar Polytechnic College, Patiala

• PROCEDURE:-
1) Connect the 8253 card to 8085 kit with the 50 pins.
2) Enter the program for select of mode as given below from memory location 8000H.
i. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next and so on
upto the end of program opcodes
ii. To execute the program press Reset ~ go ~ starting address ~ending address~ execute button
3) Connect the probe of oscillator to the required pins.
4) Give the +5V to gate and give the clock 1 to clock 0.
5) Execute the program and see the waveform on CRO at out 0 pin of 8253.

• RESULT: We have seen the square wave of period 1ms on CRO

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 19
Thapar Polytechnic College, Patiala

EXPERIMENT-9
AIM- Interfacing of 4×4 Matrix key board with an 8085 microprocessor using 8279 programmable
keyboard/display controller to display the hex code of the key pressed on display of microprocessor.
APPARATUS- 4×4 matrix key board, IC 8279, connecting wires, microprocessor 8085 kit.
THEORY- 8279 is a programmable keyboard or display controller designed specifically for 8 bit intel
microprocessor. It has two sections. A) Keyboard section b) display section.
Keyboard section is used to interface the keyboard with the microprocessor as input device. The display
section is used to drive the alphanumeric display and indicator lights. This section is directly connected
with microprocessor bus.
On pressing any key of the keyboard , the keyboard entry is stored in the internal FIFO memory of 8279.
Unique interrupt signal is generated by each keyboard entry.
The 8279 can be used in two modes: .
A) 2-KEY LOCKOUT
B) N-KEY ROLLOVER
A) 2-Key lockout:- In this mode the key must be relased before another key press. Code of that key will
store to the FIFO RAM.
B) N-Key rollover:- In this mode if 2 keys are pressed simultaneously both keys are recognized and
their codes are stored to internal buffer in order in which they were pressed. We will use polling to read
the keycode from the 8279 FIFO whenever the key is pressed. Here , the keys are named such that
keycodes will be equl to their hex value i.e. keycode of the key E is 0EH. The position of the key in the
keyboard matrix decides its key code. Key ‘2’ is placed at the junction of the row 0 and column 2. Hence
its code will be 02H as calculated below:
0 0 0 0 0 0 1 0
CNTL & Shift Key Status Row Code Return Code
Which is equal to (00000010) = 02H

Interfacing details: 8- Return Lines (RL0 – RL7 ) of 8279 are connected to the columns of matrix
keyboard and output lines (A0- A3 and B0 – B3) are connected to drive the LED segments. 3 – scan lines
( SL0 – SL2 ) are connected to the decoder ( 74LS156) , to generate 8 – decoded signals. 6 output lines of
the decoder are connected to six seven segment LEDS. Two output lines of the decoder are not used.

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 20
Thapar Polytechnic College, Patiala

Diagram:

Figure: Interfacing of 4×4 Keyboard with 8279


Program:
Memory Opcode
Mnemonics Comments
Address (HEX)
8000-01 3E,01 MVI A,01H Load mode word in accumulator, having
2 key lockout, decoded scan keyboard.
8002-03 D3, 0F OUT 0FH Write the mode set word on given port
address
MVI A , Load clock word in accumulator used for
8004-05 3E,39
39H “divide by 25”
8006-07 D3,0F OUT 0FH Write the clock word
8008-09 3E,C3 MVI A , Clear word to clear only FIFO
C3H
800A-0B D3,0F OUT 0FH Write the clear word

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 21
Thapar Polytechnic College, Patiala

800C-D(x) DB, 0F IN 0FH Read the status word

AND immediately accumulator contents


800E-0F E6 , 07 ANI 07H
with 07H
8010-12 C5,0C,80 JZ (x) If key is not pressed, then read the status
again
8013-14 3E , 40 MVI A,40H Read FIFO control word
8015-16 D3, 0F OUT 0FH Output control word to control port
8017-18 DB , 0E IN 0EH Read keycode from FIFO, at the data
port of 8279
8019-1B 32,50,80 STA 8050H Save the result
801C 76 HLT HLT

PROCEDURE:-
1) Connect the 8279 peripheral card to the 8085 kit by 50 pin.
2) Keep the switch S1 in OFF position to enable single stepping.
3) Now ON the kit and enter the program as given for each experiment starting address for
entering the program is 8000H
4) Steps to enter the program:-
• Switch on the power supply and kit will display “ESA8085”.
• Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on ESAto the end of program opcodes
• To execute the program press Reset ~ go ~ starting address ~ending address~ execute buttons
• To check the result press Reset ~ examine memory ~Memory address(where the result has
been stored in program) ~Next.

RESULT: We have seen the Hex code of the key pressed from matrix keyboard on display

Prepared By: Er. Geetanjali Singla (ECE Deptt)


Page 22

You might also like