0% found this document useful (0 votes)
80 views16 pages

8051 Kit Programs

This program interfaces a traffic light controller with an 8051 microcontroller using an 8255 PPI. It initializes the port addresses and control registers of the 8255. It then uses a DO-WHILE loop to sequentially turn on each traffic light, adding a delay, before looping back to the start.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views16 pages

8051 Kit Programs

This program interfaces a traffic light controller with an 8051 microcontroller using an 8255 PPI. It initializes the port addresses and control registers of the 8255. It then uses a DO-WHILE loop to sequentially turn on each traffic light, adding a delay, before looping back to the start.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

AIM:

INTERFACE 7 SEGMENT DISPLAY CARD WITH 8051 USING 8255.

PROGRAM:
ADRESS 0PCODE MNEMONICS

9100 74 80 START:MOV A, #80


9102 90 40 03 MOV DPTR, #4003

9105 F0 MOVX @DPTR, A


9106 74 FF MOV A, #FF

9108 90 40 00 MOV DPTR, #4000


910B F0 MOVX @DPTR, A

910C 12 91 14 LCALL DATA


910F 12 91 2C LCALL DELAY

9112 80 EC SJMP START


9114 7A 0A DATA: MOV R2, #0A

9116 7B 92 MOV R3, #92


9118 7C 00 MOV R4, #00

911A 8C 82 REP: MOV 82, R4


911C 8B 83 MOV 83, R3

911E E0 MOVX A, @DPTR


911F 90 40 01 MOV DPTR, #4001

9122 F0 MOVX @DPTR


9123 12 91 2C LCALL DELAY

9126 12 91 2C LCALL DELAY


9129 0C INC R4

912A DA EE DJNZ R2, REP


912C 78 EE DELAY: MOV R0, #FF

912E 79 FF LOOP: MOV R1, #FF


9130 D9 FE LOOP1: DJNZ R1, LOOP1

9132 D8 FA DJNZ R0, LOOP


9134 22 RET
7.2 PS- ADDON LED & SWITCH
GPIO-I (8255) J 1 CONNECTER

PORTS ADDRESS
CONTROL REG 4003

PORT A 4000
PORT B 4001

PORT C 4002

PROCEDURE:

⮚ CONNECT A 20 PIN FRC CABLE BETWEEN 8051 MICROCONTROLLER J1 PORT (MIDDILE PART)
AND THE LED & SWITCH INTERFACE CARD.
⮚ CONNECT USB/PS2 KEYBOARD ON 8051 MICROCONTROLLER JP2 PORT.
⮚ TYPE AND EXECUTE THE PROGRAM BY USING USB/PS2 KEYBOARD.
⮚ NOW TURN ON/OFF THE SWITCHES IN LED &SWITCH INTERFACE CARD AND THE
CORRESPONDING OUTPUT LED WILLM BE TURNED ON/OFF.

AIM:
Interface LED& Switch card with 8051 using 8255.

PROGRAM:
ADRESS OPCODE MNEF0MONICS
9100 90 40 03 MOV DPTR, #4003

9103 74 90 MOV A, #90


9105 F0 MOVX @DPTR, A

9106 90 40 00 START:MOV DPTR, #4000


9109 E0 MOVX A, @DPTR

910A 90 40 01 MOV DPTR, #4001


910D F0 MOVX @DPTR, A

910E 80 F6 SJMP START

INPUT: give the input through slide switch.

OUTPUT: View the corresponding digital output on LED.


7.3 PS-ADDON KEYPAD
IN 8051 WE HAVE SINGLE 8255

PORTS ADDRESS
CONTROL REG 4003H

PORT A 4002H

PROCEDURE:
⮚ Connect a 20 pin FRC Cable between 8051 trainer kit (J3- Third port) and 4x4 Matrix keypad.
⮚ Connect USB/PS2 Keyboard on 8051 Microcontroller JP2port.
⮚ Type and Execute the program. press any key in 4x4 Matrix keyboard the corresponding
value will be displayed in 8051 trainer kits LCD.
⮚ The 8051’s LCD will display output ACC= 0F (When SW16 pressed in matrix)

PROGRAM:
ADRESS OPCODE MNEMONICS

9100 90 40 03 MOV DPTR, #4003H


9103 74 88 mov A, #88H

9105 F0 MOVX @DPTR, A


9106 74 00 START: MOV A, #00H

9108 54 0F ANL A, #0FH


910A 90 40 02 MOV DPTR, #4002H
910D F0 MOVX @DPTR, A
910E 90 40 02 MOV DPTR, #4002H

9111 E0 MOVX @DPTR


9112 54 F0 ANL A, #0FOH

9114 B5 F0 02 CJNE A,0FOH, CONT


9117 80 ED JMP START

9119 311D CONT: ACALL DATA


911B 80 E9 JMP START

911D 78 00 DATA: MOV R0, #00H


911F 79 92 MOV R1, #92H

9121 7A 00 MOV R2, #00H


9123 7B 93 MOV R3, #93H
9125 74 0E MOV A, #0EH

9127 31 36 ACALL FIND1


9129 74 0D MOV A, #0DH

912B 31 36 ACALL FIND1


912D 74 0B MOV A, #0BH

912F 31 36 ACALL FIND1


9131 74 07 MOV A, #07H

9133 31 36 ACALL FIND1


9135 22 RET

9136 54 0F FIND1: ANL A, #0FH


9138 90 40 02 MOV DPTR, #4002H

913B F0 MOVX @DPTR, A


913C 90 40 02 MOV DPTR, #4002H

913F E0 MOVX A, @DPTR


9140 54 F0 ANL A, #OFOH

9142 3 RR A
9143 3 RR A

9144 3 RR A
9145 3 RR A

9146 FE MOV R6, A


9147 7D 04 MOV R5, #04H

9149 8A 82 FIND2: MOV 82, R2


914B 8B 83 MOV 83, R3

914D E0 MOVX A, @DPTR


914E 8E 82 MOV 82, R6

9150 B5 82 09 CJNE A, 82, FIND3


9153 88 82 MOV 82, R0

9155 89 83 MOV 83, R1


9157 E0 MOVX A, @DPTR

9158 12 00 BB LCALL 00BBH


915B 22 RET

915C 8 FIND3: INC R0


915D 0A INC R2
915E DD E9 DJNZ R5, FIND2

9160 7A 00 MOV R2, #00H


9162 7B 93 MOV R3, #93H

9164 22 RET

ORG 9200H

9200 00 01 02 03 DB 00H, 01H, 02H, 03H

9204 04 04 06 07 DB O4H, 05H, 06H, 07H

9208 08 09 0A 0B DB 08H, 09H, OAH, 0BH

920C 0C 0D 0E 0F DB 0CH, 0DH, 0EH, 0FH

ORG 9300H

9300 0E 0D 0B 07 DB 0EH, ODH, OBH, 07H


7.4 PS -ADDON TRAFFIC LIGHT CONTROLLER

TRAFFIC LIGHT CONTROLLER INTERFACING WITH 8051.


GPIO-I (8255) J1 CONNECTOR
PORTS ADDRESS
Control REG 4003
PORT A 4000

PORT B 4001
PORT C 4002

PROCEDURE:
⮚ Connect a 2o pin FRC cable between 8051 Trainer kits J1 port (middle port) and the traffic
light controller.
⮚ Type the program by using USB/PS2 keyboard.
⮚ Execute the program. Now Traffic light led’s are blinking.

MODEL TRAFFIC LIGHT CONTROLLER


AIM:
Interface Traffic light controller with 8051 using 8255

PROGRAM:
ADDRESS OPCODE MNEMONICS

9100 90 92 00 START: MOV DPTR, #9200


9103 7A 08 MOV R2, #08

9105 E0 MOVX A, @DPTR


9106 C0 83 PUSH 83

9108 C0 82 PUSH 82
910A 90 40 03 MOV DPTR, #4003

910D F0 MOVX @DPTR, A


910E D0 82 POP 82

9110 D0 83 POP 83
9112 A3 INC DPTR

9113 E0 LOOP1: MOVX A, @DPTR


9114 C0 83 PUSH 83
9116 C0 82 PUSH 82

9118 90 40 00 MOV DPTR, #4000


911B F0 MOVX @DPTR, A

911C D0 82 POP 82
911E D0 83 POP 83

9120 A3 INC DPTR


9121 E0 LOOP1: MOVX A, @DPTR

9122 C0 83 PUSH 83
9124 C0 82 PUSH 82

9126 90 40 01 MOV DPTR , #4001


9129 F0 MOVX @DPTR, A

912A 12 91 36 LCALL DELAY


912D D0 82 POP 82

912F D0 83 POP 83
9131 A3 INC DPTR

9132 DA DF DJNZ R2, LOOP1


9134 80 CA SJMP START

9136 7F 10 DELAY: MOV R7, #10H


9138 7D FF LOOP4: MOV R5, #OFFH

913A 7E FF LOOP3: MOV R6, #OFFH


913C 00 LOOP2: NOP

913D 00 NOP
913E DE FC DJNZ R6, LOOP2

9140 DD F8 DJNZ R5, LOOP3


9142 DF F4 DJNZ R7, LOOP4

9144 22 RET

ORG 9200H

9200 80 DB 80H
9201 21 09 31 09 DB 21H, 09H, 31H, 09H

9205 0C 09 8C 09 DB 0CH, 09H, 8CH, 09H

9209 64 08 64 0C DB 64H, 08H, 64H, 0CH

920D 24 03 26 03 DB 24H, 03H, 26H, 03H

7.11 PS ADDON-12C 7 SEGMENT INTERFACE CARD

PROCEDURE:
⮚ Connect a 20 pin FRC cable between 8051 trainer kit J3 port and 12C peripheral interface
card.
⮚ Turn ON DIP Switch SW2 pin 7SEG (12C add-on card).
⮚ Enable 12C Data (SDA0) and clock (SCL0) pins of SW1 (12C Add-on Card).
⮚ Connect USB/PS2 keyboard on 8051 Microcontroller kit. Type and Execute the program.
⮚ Now 7 segment Displays the value 0 1 2 3.

PROGRAM:
ADDRESS OPCODE LABEL MNEMONICS COMMENTS

9100 74 80 MOV A, #80H 8255 CONTROL WORD


9102 90 40 03 MOV DPTR, #4003H

9105 F0 MOVX@DPTR, A
9106 12 91 2C LCALL I2CINIT

9109 12 91 33 LCALL STARTC


910C 78 70 MOV R0, #70H SEG SLAVE ADDRESS

910E 31 4A ACALL SEND


9110 78 00 MOV R0, #00H SEG START BIT

9112 31 4A ACALL SEND


9114 78 27 MOV R0, #27H SEG CONTROL WORD

9116 31 4A ACALL SEND


9118 78 4F MOV R0, #4FH 0 DATA SEND

911A 31 4A ACALL SEND


911C 78 5B MOV R0, #5BH 1 DATA SEND

911E 31 4A ACALL SEND


9120 78 06 MOV R0, #06H 2 DATA SEND
9122 31 4A ACALL SEND

9124 78 3F MOV R0, #3FH 3 DATA SEND


9126 31 4A ACALL SEND

9128 31 3D ACALL STOP


912A 80 FE HERE: SJMP HERE

912C 74 03 I2CINIT: MOV A, #03H SDA SET


912E F0 MOVX@DPTR, A

912F 74 01 MOV A, #01H SCL SET


9131 F0 MOVX@DPTR, A

9132 22 RET
9133 74 01 STARTC: MOV A, #-01H SCL SET

9135 F0 MOVX@DPTR, A

ADDRES OPCODE LABEL MNENONICS COMMENTS


S

9136 74 02 MOV A, #02H SDA CLR


9138 F0 MOVX@DPTR, A

9139 74 00 MOV A, #00H SCL CLR


913B F0 MOVX@DPTR, A

913C 22 RET
913D 74 00 STOP: MOV A, #00H SCL CLR

913F F0 MOVX@DPTR, A
9140 74 02 MOV A, #02H SDA CLR

9142 F0 MOVX@DPTR, A
9143 74 01 MOV A, #01H SCL SET

9145 F0 MOVX@DPTR, A
9146 74 03 MOV A, #03H SDA SET
9148 F0 MOVX@DPTR, A

9149 22 RET
914A 7F 08 SEND: MOV R7, #08H

914C 74 00 BACK: MOV A, #00H SCL CLR


914E F0 MOVX@DPTR, A

914F E8 MOV A, R0
9150 33 RLC A

9151 F8 MOV R0, A


9152 40 04 JC LOOPCRY

9154 74 02 MOV A, #02H SDA CLR


9156 80 02 SJMP SENDBIT

9158 74 03 LOOPCRY: MOV A, #03H SDA SET


915A F0 SENDB: MOVX@DPTR, A

915B 74 01 MOV A, #01H SCL SET


915D F0 MOVX@DPTR, A

915E DF EC DJNZ R7, BACK

ADDRESS OPCODE LABEL MNEMONICS COMMENTS


9160 74 00 MOV A, #00H SCL CLR
9162 F0 MOVX@DPTR, A

9163 74 03 MOV A, #03H SDA SET


9165 F0 MOVX@DPTR, A

9166 74 01 MOV A, #01H SCL SET


9168 F0 MOVX@DPTR, A

9169 74 00 MOV A, #00H SCL CLR


916B F0 MOVX@DPTR, A

916C 22 RET
DC MOTOR INTERFACE WITH 8051

AIM:
To interface DC motor with 8051 and to run the DC motor speed.

PROGRAM:

ADRESS OPCODE MNEMONICS


9100 74 80 MOV A, #80

9102 90 40 03 MOV DPTR, #4003


9105 F0 MOVX @DPTR, A

9106 74 06 START: MOV A, #06H


9108 90 40 01 MOV DPTR, #4001

910B F0 MOVX @DPTR, A


910C 12 91 11 LCALL DELAY

910F 80 F5 SJMP START


9111 78 FF DELAY:MOV R0, #FF

9113 79 FF LOP:MOV R1, #FF


9115 D9 FE LOP1: DJNZ R1, LOP1

9117 D8 FA DJNZ R0, LOP


9119 22 RET

RESULT:
Execute the program. Now we can see that the DC motor run
STEPPER MOTOR INTERFACE WITH 8051

AIM:
To interface the stepper motor with 8051 trainer kit and to run a stepper motor at different
speed in clockwise direction.

PROGRAM:
ADDRESS OPCODE MNEMONICS
9100 74 80 MOV A, #80

9102 90 40 03 MOV DPTR, #4003


9105 F0 MOVX @DPTR, A

9106 90 92 00 START:MOV DPTR, #9200


9109 A9 82 MOV R1, 82

910B AA 83 MOV R2, 83


910D 78 04 MOV R0, #04

910F E0 REP: MOVX A, @DPTR


9110 90 40 00 MOV DPTR, #4000

9113 F0 MOVX @DPTR, A


9114 12 91 20 LCALL DELY
9117 09 INC R1
9118 89 82 MOV 82, R1

911A 8A 83 MOV 83, R2


911C D8 F1 DJNZ R0, REP

911E 80 E6 SJMP START


9120 7F 03 DELY: MOV R7, #03

9122 7E 0A LOP3: MOV R6, #OA


9124 7B FF LOP2: MOV R3, #FF

9126 DB FE LOP1: DJNZ R3, LOP1


9128 DE FA DJNZ R6, LOP2

912A DE F6 DJNZ R7, LOP3


912C 22 RET
ORG 9200H

9200 03060C09 DB 03H, 06H, 0CH, 09H

END

RESULT:
Execute the program. Now we can see that the stepper motor runs in forward direction
with a delay.

REQUIRED ANGLE IN STEPPER MOTOR PROGRAM IN 8051

AIM:
To interface the stepper motor with 8051 trainer kit and to run a stepper motor for required
angle within 360 degrees.

PROGRAM:
ADDRESS OPCODE MNEMONICS

9100 74 80 MOV A, #80


9102 90 40 03 MOV DPTR, #4003

9105 F0 MOVX @DPTR, A


9106 78 32 START: MOV R0, #32

9108 90 92 00 CLKWI: MOV DPTR, #9200


910B A9 82 MOV R1, 82

910D AA 83 MOV R2, 83


910F 31 17 ACALL ROTAT

9111 D8 F5 DJNZ R0, CLKWI


9113 31 32 ACALL HLT

9115 80 EF SJMP START


9117 7B 04 ROTAT: MOV R3, #04

9119 E0 REPT: MOVX A, @DPTR


911A 90 40 00 MOV DPTR, #4000

911D F0 MOVX @DPTR, A


911E 7C 03 MOV R4, #03

9120 7D 0A LOP3: MOV R5, #0A


9122 7E EF LOP2: MOV R6, #FF

9124 DE FE LOP1: DJNZ R6, LOP1


9126 DD FA DJNZ R5, LOP2

9128 DC F6 DJNZ R4, LOP3


912A 09 INC R1

912B 89 82 MOV 82, R1


912D 8A 83 MOV 83, R2

912F DB E8 DJNZ R3, REPT


9131 22 RET

9132 80 FE HLT: SJMP HLT

ORG 9200H

9200 03060C09 DB 03H,06H, 0CH,09H

RESULT:
Execute the program. Now we can see that the stepper motor runs in forward
direction with required angle.

You might also like