Manual Microprocessor
Manual Microprocessor
DEPARTMENT
OF
COMPUTER
SCIENCE AND
ENGINEERING
Page 1
MICROPROCESSORS [2624]
MICROPROCESSORS [2624]
Page 2
MICROPROCESSORS [2624]
EXPERIMENT-1
AIM: Familiarization of different keys of 8085 microprocessor kit and its memory map.
APPARATUS: 8085 kit.
DIAGRAM:
THRORY:-
KEYBOARD DESCRIPTION:
Vinytics 8085 kit has 28 keys and six-seven segment display to communicate with the outside world. As
kit is switches ON ,a message –‘UP 85’ 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.
10
MICROPROCESSORS [2624]
REL:- RELOCATES a program written for some memory area and to be transferred to other
memory area.
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.
10
MICROPROCESSORS [2624]
EXPERIMENT-2
AIM:- Exercise the steps to enter program and to execute a program on 8085 micro processor kit.
APPARATUS:- 8085 up kit.
PROCEDURE:-
1) Switch on the power supply and kit will display “UP 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 ~ execute buttons
4) To check the result press Reset ~ examine memory~Memory address(where the result has been
stored in program) ~Next.
10
MICROPROCESSORS [2624]
Experiment:-3(A)
Aim:- Writing and execution of ALP for the addition of two 8-bit numbers.
Apparatus:- 8085 kit.
Program:
PROCEDURE:
1. Switch on the power supply and kit will display “UP 8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on up to the end of program opcodes
3. To execute the program press Reset ~ go ~ starting 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 2503H
10
MICROPROCESSORS [2624]
Experiment:-3(B)
Aim:- Writing and execution of ALP for the Subtraction of two 8-bit numbers.
Apparatus:- 8085 kit.
Program:
PROCEDURE:
1. Switch on the power supply and kit will display “UP 8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on up to the end of program opcodes
3. To execute the program press Reset ~ go ~ starting 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 2503H
10
MICROPROCESSORS [2624]
EXPERIMENT-4(A)
Aim:- Write a program for the multiplication of two 8-bit numbers.
Apparatus:- 8085 kit.
Program:
PROCEDURE:
1. Switch on the power supply and kit will display “UP 8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on up to the end of program opcodes
3. To execute the program press Reset ~ go ~ starting 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 2202H
10
MICROPROCESSORS [2624]
EXPERIMENT-4(B)
AIM:- Write a program for the division of two 8- bit numbers.
Apparatus:- 8085 kit.
Program:
PROCEDURE:
1. Switch on the power supply and kit will display “UP 8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on up to the end of program opcodes
3. To execute the program press Reset ~ go ~ starting 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 2502H & 2503H respectively.
10
MICROPROCESSORS [2624]
EXPERIMENT-5(A)
Aim:- Writing and execution of ALP for arranging the elements of array in ascending order.
Apparatus:- 8085 kit.
Program:
10
MICROPROCESSORS [2624]
PROCEDURE:
1. Switch on the power supply and kit will display “UP 8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on up to the end of program opcodes
3. To execute the program press Reset ~ go ~ starting 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 2500H to 2504H
10
MICROPROCESSORS [2624]
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
Set the counter (in D register) at the total no. of
2000-01 16,05 MVI D,05H
elements you have to arrange in ascending order
Load the H-L register pair with the starting address
2002-2004 21,00,25 (Z) LXI H,2500H
of the elements to be arranged
Set one more counter in L register which indicate
2005-2006 0E,09 MVI L,04H
the total no. of elements still left to arrange
Move the contents of Memory addressed by H-L
2007 7E(Y) MOVA,M
pair into A register
2008 23 INX H Increment the contents of H-L pair
Compare the contents of Accumulator & memory
2009 BE CMP M
addressed by H-L Register pair
Jump to ‘X (2012H) if no carry produced after the
200A-OC DA,12,20 JNC (X)
execution of previous instruction
Move the contents of Memory addressed by H-L
200D 46 MOV B,M
pair into B register
Move the contents of A register into Memory
200E 77 MOVM,A
addressed by H-L register pair
200F 2B DCX H Decrement the contents of H-L register pair by 1
Move the contents of B register into Memory
2010 70 MOVM,B
addressed by H-L pair
2011 23 INXH Increment the contents of H-L register pair by 1
2012 OD (X) DCRC Decrement the contents of C register pair by 1
Jump to “Y(2007) if the result produced after the
2013-15 C2,07,20 JNZ (Y)
execution of previous instruction is not Zero
2016 15 DCRD Decrement the contents of D register pair by 1
Jump to “Z(2002) if the result produced after the
2017-19 C2,02,20 JNZ (Z)
execution of previous instruction is not Zero
201A 76 HLT End of Program
10
MICROPROCESSORS [2624]
PROCEDURE:
1. Switch on the power supply and kit will display “UP 8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on up to the end of program opcodes
3. To execute the program press Reset ~ go ~ starting 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 2500H to 2504H
10
MICROPROCESSORS [2624]
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
PROCEDURE:
10
MICROPROCESSORS [2624]
1. Switch on the power supply and kit will display “UP 8085”.
2. Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on up to the end of program opcodes
3. To execute the program press Reset ~ go ~ starting 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
2200H
10
MICROPROCESSORS [2624]
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 2050
1 1 1 1 1 1 0 0 1 F9H 2051
2 1 0 0 0 0 1 0 0 A4H 2052
3 1 0 1 1 0 0 0 0 BOH 2053
4 1 0 0 1 1 0 0 1 99H 2054
5 1 0 0 0 0 0 1 0 92H 2055
6 1 0 0 1 0 0 1 1 89H 2056
7 1 1 1 0 1 0 0 0 F8H 2057
8 1 0 0 1 0 0 0 0 89H 2058
9 1 0 1 0 1 0 0 0 98H 2059
Interfacing Diagram:
Program:
10
MICROPROCESSORS [2624]
10
MICROPROCESSORS [2624]
PROCEDURE:-
1) Connect the 8255 peripheral card to the kit by 50 pin.
10
MICROPROCESSORS [2624]
EXPERIMENT-8
10
MICROPROCESSORS [2624]
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.
10
MICROPROCESSORS [2624]
The count value which should be loaded in counter 0 to generate the square wave of 1ms can be calculated
as:
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
10
MICROPROCESSORS [2624]
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 2000H.
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 ~ 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.
10
MICROPROCESSORS [2624]
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.
10
MICROPROCESSORS [2624]
Diagram:
Program:
Memory Opcode
Mnemonics Comments
Address (HEX)
2000-01 3E,01 MVI A,01H Load mode word in accumulator, having
2 key lockout, decoded scan keyboard.
2002-03 D3, 0F OUT 0FH Write the mode set word on given port
address
2004-05 3E,39 MVI A , Load clock word in accumulator used for
39H “divide by 25”
2006-07 D3,0F OUT 0FH Write the clock word
2008-09 3E,C3 MVI A , Clear word to clear only FIFO
C3H
200A- D3,0F OUT 0FH Write the clear word
0B
200C- DB, 0F IN 0FH Read the status word
0D(x)
10
MICROPROCESSORS [2624]
200E-0F E6 , 07
ANI 07H AND immediately accumulator contents
with 07H
2010-12 C5,0C,20 JZ (x) If key is not pressed, then read the status
again
2013-14 3E , 40 MVI A,40H Read FIFO control word
2015-16 D3, 0F OUT 0FH Output control word to control port
2017-18 DB , 0E IN 0EH Read keycode from FIFO, at the data
port of 8279
2019-1B 32,50,20 STA 2050H Save the result
201C 76 HLT Stop
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 2000H
4) Steps to enter the program:-
Switch on the power supply and kit will display “UP 8085”.
Press reset ~ examine memory ~ program starting memory address ~ next ~ opcode ~ next
and so on up to the end of program opcodes
To execute the program press Reset ~ go ~ starting 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
10