Professional Documents
Culture Documents
8051-Microcontroller Experiments Exp No: 17
8051-Microcontroller Experiments Exp No: 17
Exp No: 17
AIM:
To perform 8 bit arithmetic operations using 8051 microcontroller.
A) Addition
B) Subtraction
C) Multiplication
D) Division
ADDITION
LABEL:
HERE:
MOV R0,#00
MOV A,#DATA1
ADD A, #DATA2
JNC LABEL
INC R0
MOV DPTR,#4150
MOVX @DPTR,A
INC DPTR
MOV A,R0
MOVX @DPTR,A
SJMP HERE
SUBTRACTION
LABEL:
HERE:
CLR C
MOV B,#00
MOV A,#DATA1
SUBB A,#DATA2
JNC LABEL
CPL A
INC A
INC B
MOV DPTR,#4150
MOVX @DPTR, A
INC DPTR
MOV A,B
MOVX @DPTR,A
SJMP HERE
MULTIPLICATION
LOOP:
MOV A, #DATA1
MOV B, A
MOV A, #DATA2
MUL AB
MOV DPTR, #4150
MOVX @DPTR, A
INC DPTR
MOV A, B
MOVX @DPTR, A
SJMP LOOP
DIVISION
LOOP
MOV A, #DATA1
MOV B,A
MOV A, #DATA2
DIV AB
MOV DPTR, #4150
MOVX @DPTR, A
INC DPTR
MOV A, B
MOV @DPTR, A
SJMP LOOP
PROGRAM
START
DELAY
LOOP
HERE
MOV DPTR,#FFC8
MOV A,#00
MOVX @DPTR,A
LCALL DELAY
MOV
A,#FF
MOVX @DPTR,A
LCALL DELAY
LJMP
START
MOV
R1, #05
MOV R2, #FF
DJNZ
R2, HERE
DJNZ
R1, LOOP
RET
.
LOOP:
AIM
To generate triangular waveform using DAC.
Program
START
LOOP1
LOOP2
Aim
To interface the stepper motor with 8051 and run it in clockwise and anticlockwise
directions.
Program
Start: MOV
MOV
JO : MOVX
PUSH
PUSH
MOV
MOV
MOV
DLY1: MOV
DLY: DJNZ
DJNZ
DJNZ
MOVX
POP
POP
INC
DJNZ
SJMP
DPTR,#4500
R0,#04H
A,@DPTR
DPH
DPL
DPTR,#FFC0
R2,#04
R1,#0F
R3,#0F
R3,DLY
R1,DLY1
R2,DLY1
@DPTR,A
DPL
DPH
DPTR
R0,JO
START
01
02
4502
04
04
4503
02
01
Clock wise
Step A1
1
1
2
0
3
0
4
0
A2
0
0
1
0
B1
0
0
0
1
B2
0
1
0
0
8
1
4
2
Anticlock wise
Step A1 A2
1
1
0
2
0
0
3
0
1
4
0
0
B1
0
1
0
0
B2
0
0
0
1
8
2
4
1