You are on page 1of 6

8051- Microcontroller Experiments

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

EXP NO: 18) INTERFACING OF DAC (Digital to Analog Converter)FOR


GENERATIG WAVEFORMS

18 A) SQUARE WAVE GENERATION


AIM.
To generate square wave using DAC.

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
.

18 B) Generation of sawtooth wave


Aim
To create a sawtooth wave using DAC
Program

LOOP:

MOV DPTR, #FFC8


MOV A,#00
MOVX @DPTR,A
INC A
SJMP LOOP

18 C) Generation of triangular wave

AIM
To generate triangular waveform using DAC.

Program

START
LOOP1

LOOP2

MOV DPTR, #FFC8


MOV A, #00
MOV @DPTR,A
INC A
JNZ LOOP1
MOV A, #FF
MOVX @DPTR,A
DEC A
JNZ LOOP2
LJMP START

Exp No: 19 ) Stepper Motor Interfacing

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

Address For Clockwise For


Rotation
Anticlockwise
Rotation
4500
08
08
4501

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

You might also like