51单片机控制交通灯的课程设计
时间:11-23
来源:互联网
点击:
51单片机控制交通灯的课设
程序如下:
ORG 00H
;************************************************************
;灯操作及数码管显示
;************************************************************
START:MOV DPTR,#TAB
MOV SCON,#00H
MOV P1,#6CH
MOV R0,#11
D1: DEC R0 ;自定义为10S
CJNE R0,#3,LP0
LCALL DBDB
MOV P1,#6CH
LCALL DISP1
D11: DEC R0
CJNE R0,#0,LP00
MOV P1,#6CH
LCALL DBDB
LCALL DISP
MOV P1,#0AAH
MOV R0,#04
D2: DEC R0
CJNE R0,#0,LP1
LCALL DBDB
LCALL DISP
MOV P1,#0C6H
MOV R0,#16 ; 自定义为15S
D3: DEC R0
CJNE R0,#3,LP2
LCALL DBDB
MOV P1,#0C6H
LCALL DISP1
D33: DEC R0
CJNE R0,#0,LP22
MOV P1,#0C6H
LCALL DBDB
LCALL DISP
MOV P1,#0AAH
MOV R0,#04
D4: DEC R0
CJNE R0,#0,LP3
LCALL DBDB
LCALL DISP
MOV P1,#6CH
MOV R0,#11
LJMP D1
LP0: LCALL DBDB
LCALL DISP
LJMP D1
LP00: LCALL DBDB
MOV P1,#6CH
LCALL DISP1
LJMP D11
LP1: LCALL DBDB
LCALL DISP
LJMP D2
LP2: LCALL DBDB
LCALL DISP
LJMP D3
LP22: LCALL DBDB
MOV P1,#0C6H
LCALL DISP1
LJMP D33
LP3: LCALL DBDB
LCALL DISP
LCALL D4
;************************************************************
;除10运算
;************************************************************
DBDB: MOV A,R0
MOV B,#10
div AB
MOV R1,A
MOV R2,B
RET
;************************************************************
;显示子程序
;************************************************************
DISP: MOV A,R2
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
MOV A,R1
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
LCALL DELAY
RET
DISP1: MOV A,R2
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
MOV A,R1
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
LCALL DELAY1
MOV P1,#0FFH
MOV A,#10
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
MOV SBUF,A
JNB TI,$
CLR TI
LCALL DELAY2
RET
;************************************************************
;延时子程序
;************************************************************
DELAY:MOV R3,#09H
K1: MOV R4,#100
K2: MOV R5,#250
K3: DJNZ R5,K3
DJNZ R4,K2
DJNZ R3,K1
RET
DELAY1:MOV R3,#09H
SS1: MOV R4,#80
SS2: MOV R5,#250
SS3: DJNZ R5,SS3
DJNZ R4,SS2
DJNZ R3,SS1
RET
DELAY2:MOV R3,#09H
AA1: MOV R4,#30
AA2: MOV R5,#250
AA3: DJNZ R5,AA3
DJNZ R4,AA2
DJNZ R3,AA1
RET
TAB: DB 3FH,06H,5BH
DB 4FH,66H
DB 6DH,7DH,07H
DB 7FH,6FH,00H
程序如下:
ORG 00H
;************************************************************
;灯操作及数码管显示
;************************************************************
START:MOV DPTR,#TAB
D1:
D11:
D2:
D3:
D33:
D4:
LP0:
LP00: LCALL DBDB
LP1:
LP2:
LP22: LCALL DBDB
LP3:
;************************************************************
;除10运算
;************************************************************
DBDB: MOV A,R0
;************************************************************
;显示子程序
;************************************************************
DISP: MOV A,R2
DISP1: MOV A,R2
;************************************************************
;延时子程序
;************************************************************
DELAY:MOV R3,#09H
K1:
K2:
K3:
DELAY1:MOV R3,#09H
SS1:
SS2:
SS3:
DELAY2:MOV R3,#09H
AA1:
AA2:
AA3:
TAB:
51单片机控制交通灯课程设 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)