Beruflich Dokumente
Kultur Dokumente
MICROPROCESSORS &
MICROCONTROLLERS
(III B.Tech., ECE- II Sem.)
(IV B.Tech., EEE- I Sem.)
1.
2.
3.
Arithmetic Operation
4.
String Operation
5.
6.
7.
8.
9.
10.
S.No.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
ARITHMETIC OPERATION
ARITHMETIC OPERATIONS
Program:1
AIM: To add two 32-bit data (Multibyte addition) using 8086 microprocessor.
APPARATUS:
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,[0300]
MOV BX,[0304]
ADD AX,BX
MOV [030A],AX
MOV AX,[0302]
MOV BX,[0306]
ADC AX,BX
MOV [030C],AX
INT A5
RESULT:
Input Data (Before Execution)
0000:0300
0000:0301
0000:0302
0000:0303
0000:0304
0000:0305
0000:0306
0000:0307
78
56
34
12
65
87
21
43
Program:2
AIM: To subtract two 32-bit data (Multibyte subtraction) using 8086 microprocessor.
APPARATUS:
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,[0300]
MOV BX,[0304]
SUB AX,BX
MOV [030A],AX
MOV AX,[0302]
MOV BX,[0306]
SBB AX,BX
MOV [030C],AX
INT A5
RESULT:
Input Data (Before Execution)
0000:0300
0000:0301
0000:0302
0000:0303
0000:0304
0000:0305
0000:0306
0000:0307
44
44
44
44
11
11
11
11
Program:3
AIM: To multiply two 16-bit data (Multibyte multiplication) using 8086 microprocessor.
APPARATUS:
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,[0300]
MOV BX,[0302]
MUL BX
INT A5
RESULT:
Input Data (Before Execution)
0000:0300
0000:0301
0000:0302
0000:0303
44
44
11
11
00
00
Program:4
AIM: To multiply two 16-bit data (Multibyte division) using 8086 microprocessor.
APPARATUS:
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,[0300]
MOV BX,[0302]
DIV BX
INT A5
RESULT:
Input Data (Before Execution)
0000:0300
0000:0301
0000:0302
0000:0303
44
44
22
22
00
00
Program:5
AIM: To multiply two signed numbers (8-bit data) using 8086 microprocessors.
APPARATUS:
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,0200
MOV DS,AX
MOV AL,[1500]
NEG AL
MOV BL,[1501]
MUL BL
MOV [1505],AX
INT A5
RESULT:
Input Data (Before Execution)
2000:1500
2000:1501
10
15
B0
13
STRING OPERATION
Program:1
01
02
03
04
05
ES:DI
2000:0200
2000:0201
2000:0202
2000:0203
2000:0204
01
02
03
04
05
Program:2
AIM: To find the length of a given string of data using 8086 microprocessor
programming.
APPARATUS:
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,2000
MOV ES,AX
MOV DI,0100
MOV CX,0000
MOV AL,00
CLD
Again
SCASB
JZ
Last
INC CX
JMP
Last
Again
INT A5
RESULT
Input Data (Before Execution)
2000:0100
2000:0101
2000:0102
2000:0103
2000:0104
44
67
49
20
00
Program:3
AIM: To move a sting or a block of data from one segment to the other segment using
8086 microprocessor programming.
APPARATUS:
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,2100
MOV DS,AX
MOV AX,2200
MOV ES,AX
MOV SI,2000
MOV DI,0000
MOV CX,0005
CLD
REP MOVSB
INT A5
RESULT
Input Data (Before Execution)
2000:2000
2000:2001
2000:2002
2000:2003
2000:2004
23
45
21
78
69
23
45
21
78
69
Program:4
SORTING STRING OF N NUMBERS IN ASCENDING/DESCENDING ORDER
AIM: To write a program to sort a given string of a number in ascending/descending
8086 microprocessor programming.
APPARATUS:
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV CX,0005
DEC CX
Again
MOV DX,CX
MOV SI,0200
Up
MOV AL,[SI]
INC SI
MOV BL,[SI]
CMP AL,BL
JLE/JGE
Next
XCHG AL,BL
MOV [SI],BL
DEC SI
MOV [SI],AL
INC SI
Next
DEC DX
JNZ
Up
DEC CX
JNZ
Again
INT A5
RESULT
Input Data (Before Execution)
0000:0200
0000:0201
0000:0202
0000:0203
0000:0204
38
47
02
11
29
Descending order
47
38
29
11
02
Program:5
REVERSE OF A STRING
MOV AL,[SI]
XCHG AL,[DI]
MOV [SI],AL
INC SI
DEC DI
JNZ
Next
INT A5
RESULT
Input Data (Before Execution)
2000:0200
2000:0201
2000:0202
2000:0203
2000:0204
2000:0205
2000:0206
2000:0207
2000:0208
2000:0209
00
01
02
03
04
05
06
07
08
09
09
08
07
06
05
04
03
02
01
00
Program: 1
AIM: To covert the given two digit BCD data into 8-bit binary or two digit hexadecimal
number by using 8086 microprocessor programming.
APPARATUS:
1. 8080 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,2000
MOV DS,AX
XOR AX,AX
MOV SI,1000
MOV AL,[SI]
MOV DL,AL
AND AL,F0
MOV CL,04
ROR AL,CL
MOV BL,0A
MUL BL
AND DL,0F
ADD AL,DL
MOV [SI],AL
INT A5
RESULT
Input Data
2000:1000
72
Output Data
2000:1000
48
Program:2
AIM: To covert given 8-bit binary or two digit hexadecimal number data into BCD
number by using 8086 microprocessor programming.
APPARATUS:
1. 8080 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,2000
MOV DS,AX
XOR AX,AX
MOV AL,[1000]
MOV BL,64
DIV BL
MOV [1001],AL
MOV AL,AH
MOV AH,00
MOV BL,0A
DIV BL
MOV CL,04
SHL AL,CL
ADD AL,AH
MOV [1002],AL
INT A5
RESULT
Input Data
2000:1000
FF
Output Data
2000:1001
02
2000:1002
55
Program:3
AIM: To covert the given binary number to ASCII number by using 8086 microprocessor
programming.
APPARATUS:
1. 8080 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AL,[0100]
MOV BL,30
CMP AL,09
JL
Down
ADD BL,07
Down
ADD BL,AL
INT A5
RESULT
Input Data
0000:0100
05
Output Data
0000:0001
35
Program:4
AIM: To covert the given ASCII number to binary number by using 8086 microprocessor
programming.
APPARATUS:
1. 8080 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,1200
MOV DS,AX
MOV AL,[1000]
SUB AL,30
CMP AL,0A
JB
Down
SUB AL,07
Down
MOV [1001],AL
INT A5
RESULT
Input Data
1200:1000
37
Output Data
1200:1001
07
Program:5
AIM: To unpack an 8-bit BCD data at a given memory locaion using 8086
microprocessor programming.
APPARATUS:
1. 8080 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AL,[0300]
MOV BL,AL
AND BL,0F
AND AL,F0
MOV CL,04
ROR AL,CL
MOV [0301],AL
MOV [0302],BL
INT A5
RESULT
Input Data
0000:0300
23
Output Data
0000:0301
02
0000:0302
03
Program:6
AIM: To pack an two unpacked BCD data at a given memory location using 8086
microprocessor programming.
APPARATUS:
1. 8080 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV SI,0300
MOV DI,0301
MOV AL,[SI]
MOV BL,[DI]
AND AL,0F
AND BL,0F
MOV CL,04
ROR AL,CL
OR AL,BL
MOV [0302],AL
INT A5
RESULT
Input Data
0000:0300
05
0000:0301
08
Output Data
0000:0302
58
Program:1
AIM: To generate Fibonacci series upto a given number by using 8086 assembly
language program.
APPARATUS
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV SI,0300
MOV BL,00
MOV DL,00
MOV AL,01
Up
INC SI
MOV [SI],AL
MOV DL,BL
MOV BL,AL
ADD AL,DL
DEC CL
JNZ
Up
INT A5
RESULT
Input Data
0000:0300
05
Output Data
0000:0301
0000:0302
0000:0303
0000:0304
0000:0305
01
01
02
03
05
Program:3
1S COMPLIMENT OF A NUMBER
AIM: To find the ones compliment of a given 16-bit data using 8086 assembly language
program.
APPARATUS
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,2222
NOT AX
INT A5
RESULT
Input Data
AX
2222
Output Data
DX
DDDD
Program:4
2S COMPLIMENT OF A NUMBER
AIM: To find the twos compliment of a given 16-bit data using 8086 assembly language
program.
APPARATUS
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,2222
NEG AX
INT A5
RESULT
Input Data
AX
2222
Output Data
AX
DDDE
Program:5
FACTORIAL OF A NUMBER
AIM: To find the factorial of a given 8-bit number by using 8086 assembly language
program.
APPARATUS
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV AX,2200
MOV DS,AX
MOV SI,1000
MOV CX,0004
MOV AX,0001
Again
MUL CX
LOOP
Again
MOV [SI],AX
INT A5
RESULT
Input Data
CX
0004
Output Data
2200:1000
18H
Program:6
AIM: To find the square root of an 8-bit binary data into BCD number by using 8086
assembly language program.
APPARATUS
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV BH,00
MOV BL,[0300]
Up
MOV AL,CL
CMP CL,BL
JG
Down
MUL CL
CMP AX,BX
JZ
Last
INC CL
JMP
Up
Down
MOV CL,00
Last
INT A5
RESULT
Input Data
0000:0300
19
Output Data
CX
0005
Program:7
AIM: To find the sum of squares of data string by using 8086 assembly language
program.
APPARATUS
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV SI,[0300]
MOV CL,[SI]
MOV DI,0220
MOV BX,0000
MOV AH,00
Up
INC SI
MOV AL,[SI]
MUL AL
ADD [DI],AX
DEC CL
JNZ
Up
INT A5
RESULT
Input Data
0000:0300
0000:0301
0000:0302
0000:0303
0000:0304
0000:0305
05
01
02
03
04
05
Output Data
BX
0037
Program:8
AIM: To find the um of cubes of an array of size 10 by using 8086 assembly language
program.
APPARATUS
1. 8086 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV SI,0200
MOV DI,0220
MO CL,0A
MOV AX,0000
MOV [DI],AX
MOV AL,[SI]
MOV BL,AL
MUL AL
MUL BL
ADD [DI],AX
Up
INC SI
DEC CL
JNZ
Up
INT A5
RESULT
Input Data
0000:0200
0000:0201
0000:0202
0000:0203
0000:0204
0000:0205
0000:0206
0000:0207
0000:0208
0000:0209
Output Data
01
02
03
04
05
06
07
08
09
0A
0220
0221
D1
0b
Program:
MULTIPLICATION TABLE
AIM: To write an ALP for multiplication table upto10 of a given no. sorted at memory
location 0300 and result from 0301.
APPARATUS:
1. 8051 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV SI,0300
MOV AL,[SI]
MOV CL,0A
MOV AL,01
MOV DL,AL
Up
INC SI
MUL BL
MOV [SI],AL
IN BL
MOV AL,DL
DEC CL
JNZ
Up
INT A5
RESULT:
Input Data
0000:0300
04
Output Data
0000:0301
0000:0302
04
08
Program:
Up
XCHG AL,BL
Up
MOV CL,01
MOV DL,AL
Next
MUL CL
MOV [0302],AL
DIV BL
CMP AH,00
JE
Last
MOV AL,CL
INC CL
JMP
Last
Next
INT A5
RESULT:
Input Data
0000:0300
0000:0301
Output Data
0000:0302
04
05
014(H)
Program:
UP
XCHG AL,BL
DIV BL
MOV AL,BL
MOV BL,AH
MOV AH,00
CMP BL,00
JE
Next
Up
JMP
Next
INT A5
RESULT:
Input Data
0000:0300
0000:0301
78H
4EH
Output Data
AX
06
Program:1
AIM: To generate a ramp wave form by interfacing 8255 PPI with 8086 microprocessor.
APPARATUS:
1.
2.
3.
4.
5.
PROGRAM CODE:
MOV AL,80
MOV DX,8807
OUT DX,AL
Repeat
MOV AL,00
MOV DX,8801
Next
OUT DX,AL
INC AL
CMP AL,FF
JB
Next
JMP
Repeat
INT A5
RESULT: 8255 PPI is interfaced with 8086in mode 0 with Port A as output port.
8255 address
PORT A
8801
PORT B
8803
PORT C
8805
CWR
8807
Program:2
AIM: To generate a triangular wave form by interfacing 8255 PPI with 8086
microprocessor.
APPARATUS:
1.
2.
3.
4.
5.
PROGRAM CODE:
MOV AL,80
MOV DX,8807
OUT DX,AL
Repeat
MOV AL,00
MOV DX,8801
Next
OUT DX,AL
INC AL
CMP AL,FF
JB
Again
Next
OUT DX,AL
DEC AL
CMP AL,00
JA
JMP
INT A5
Again
Repeat
RESULT: 8255 PPI is interfaced with 8086in mode 0 with Port A as output port.
8255 address
PORT A
8801
PORT B
8803
PORT C
8805
CWR
8807
Port A is connected to CRO to verify the program output.
Output: Triangular waveform is generated on CRO and the wave form is plotted on
graph.
Peak to peak Voltage :
Time period
:
Department of Electronics & Communication Engineering
Program:3
AIM: To generate a square wave form by interfacing 8255 PPI with 8086
microprocessor.
APPARATUS:
1.
2.
3.
4.
5.
PROGRAM CODE:
MOV AL,80
MOV DX,8807
OUT DX,AL
Repeat
MOV AL,FF
MOV DX,8801
OUT DX,AL
CALL
Delay
MOV AL,00
OUT DX,AL
CALL
Delay
JMP
Repeat
DELAY PROGRAM
MOV CX,6D
Back
NOP
NOP
LOOP
Back
RET
RESULT: 8255 PPI is interfaced with 8086in mode 0 with Port A as output port.
8255 address
PORT A
8801
PORT B
8803
PORT C
8805
CWR
8807
Port A is connected to CRO to verify the program output.
Output: Square waveform is generated on CRO and the wave form is plotted on graph.
Peak to peak Voltage :
Time period
ON period
OFF period
Program:4
AIM: To generate a rectangular wave form by interfacing 8255 PPI with 8086
microprocessor.
APPARATUS:
1.
2.
3.
4.
5.
PROGRAM CODE:
MOV AL,80
MOV DX,8807
OUT DX,AL
Repeat
MOV AL,FF
MOV DX,8801
OUT DX,AL
CALL
Delay1
MOV AL,00
OUT DX,AL
CALL
Delay2
JMP
Repeat
DELAY PROGRAM
Delay1
MOV CX,6D
Back1
NOP
NOP
LOOP
Back1
RET
RESULT: 8255 PPI is interfaced with 8086in mode 0 with Port A as output port.
8255 address
PORT A
8801
PORT B
8803
PORT C
8805
CWR
8807
Port A is connected to CRO to verify the program output.
Output: Recatangular waveform is generated on CRO and the wave form is plotted on
graph.
Peak to peak Voltage :
Time period
ON period
OFF period
PROGRAM:5
AIM: To simulate a traffic light control signals by interfacing a traffic light controller kit
with 8086 microprocessor through 8255 PPI.
APPARATUS:
1.
2.
3.
4.
5.
PROGRAM CODE:
First
MOV AL,80
MOV DX,8806
OUT DX,AL
MOV AL,80
MOV DX,8000
OUT DX,AL
MOV AL,00
MOV DX,8802
OUT DX,AL
MOV AL,61
MOV DX,8004
OUT DX,AL
CALL
Delay2
MOV AL,00
MOV DX,8000
OUT DX,AL
MOV AL,40
MOV DX,8002
OUT DX,AL
CALL
Delay1
MOV AL,40
MOV DX,8000
OUT DX,AL
MOV AL,00
MOV DX,8002
OUT DX,AL
MOV AL,A1
MOV DX,8004
OUT DX,AL
CALL
Delay2
MOV AL,00
MOV DX,8000
OUT DX,AL
MOV AL,01
MOV DX,8002
OUT DX,AL
CALL
Delay1
MOV AL,02
MOV DX,8000
OUT DX,AL
MOV AL,00
MOV DX,8002
OUT DX,AL
MOV AL,C1
MOV DX,8004
OUT DX,AL
CALL
Delay2
MOV AL,00
MOV DX,8000
OUT DX,AL
MOV DX,8002
OUT DX,AL
CALL
Delay1
MOV AL,01
MOV DX,8000
OUT DX,AL
MOV AL,00
MOV DX,8002
OUT DX,AL
MOV AL,E0
MOV DX,8004
OUT DX,AL
CALL
Delay2
MOV AL,00
MOV DX,8000
OUT DX,AL
MOV AL,20
MOV DX,8002
OUT DX,AL
CALL
Delay1
JMP
First
DELAY PROGRAMS
Delay1
MOV CX,FFFF
JNT AA
RET
DELAY2 PROGRAM
CALL
CALL
RET
Delay1
Delay1
RESULT:
8255 PPI is interfaced with 8086 in mode 0 with port A, B, and C as output ports.
8255 address
PORT A
8801
PORT B
8803
PORT C
8805
CWR
8807
Output: Traffic light signals are generated on the traffic light controller kit. The delays
between each signal change are verified.
Program:6
AIM: To interface analog to digital converter with 8086 microprocessor through 8255
and display the digital equivalent of the analog input voltage.
APPARATUS:
1.
2.
3.
4.
5.
PROGRAM CODE:
MOV DX,8807
MOV AL,81
OUT DX,AL
MOV DX,8803
MOV AL,00
OUT DX,AL
MOV DX,8807
MOV AL,09
OUT DX,AL
MOV AL,08
OUT DX,AL
MOV AL,83
OUT DX,AL
INT AC
Repeat
MOV DX,8807
MOV AL,0D
OUT DX,AL
MOV AL,0C
OUT DX,AL
MOV DX,8805
UP
IN AL,DX
AND AL,02
JNZ
Up
Again
IN AL,DX
AND AL,02
JZ
Again
MOV AL,0B
MOV DX,8807
OUT DX,AL
MOV DX,8803
IN AL,DX
MOV CL,AL
MOV DX,8807
MOV AL,0A
OUT DX,AL
INT AB
MOV AL,02
MOV DX,CX
NOP
MOV DH,00
INT AE
MOV AH,0B
INT A1
AND AL,FF
JZ
Repeat
INT A3
RESULT: 8255 PPI is interfaced with 8086 in mode 0 with port A, B, and C as output
ports.
8255 address
PORT A
8801
PORT B
8803
PORT C
8805
CWR
8807
Output:
Program:7
STEPPER MOTOR
PROGRAM CODE:.
MOV DX,8006
MOV AL,80
OUT DX,AL
MOV CL,01
MOV DX,8000
MOV AL,88
OUT DX,AL
CALL
Delay
ROR AL,CL
JMP
Up
INT A5
DELAY PROGRAM
Delay
MOV CX,FFFF
INT AA
RET
Program:1
24
42
66
Program:2
44
37
0D
Program:3
22
11
42
02
Program:4
22
11
02
00
Program:5
50
05
Program:6
Down
MOV A,R1
RET
Down
MOV A,R0
RET
RESULT:
Input Data
R0
R1
05
08
Output Data
A
08
Program:7
FACTORIAL OF A NUMBERS
05
04
Output Data
A
78
Program:8
AIM: To increment and decrement the given two numbers until they are equal using
8051 microcontroller programming.
APPARATUS:
1. 8051 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV R2,#04
MOV R5,#08
INC R2
Up
MOV A,R2
DEC R5
CJNE A,05
Up
RET
RESULT:
Input Data
A
R1
05
04
Output Data
A
78
Program:9
SQUARE OF A NUMBERS
AIM: To find the square of a given number using subroutine using 8051 microcontroller
programming.
APPARATUS:
1. 8051 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV R0,#02
MOV R1,#03
MOV A,R0
LCALL
Routine
RET
SUBROUTINE:
Routine
MOV A,R1
MOV F0,R1
MUL AB
RET
RESULT:
Input Data
R1
03
Output Data
A
09
04
Output Data
A
40
04
05
Output Data
A
45
Program:12
AIM: To check whether n-th bit of given data is 1 or 0 using 8051 microcontroller
programming.
APPARATUS:
1. 8051 Trainer kit
2. Key board
3. SMPS
PROGRAM CODE:
MOV A,#10
AND A,#08
JNZ
Down
MOV A,#55
RET
Down
MOV A,#FF
RET
RESULT:
Input Data
A
10
Output Data
A
FF
Program:13
Down
MOV A,#00
RET
Down
JC
Last
MOV A,#FF
RET
Last
MOV A,#55
RET
RESULT:
Input Data
A
09
Data2 in prog. 08
Output Data
A
FF