×
单片机 > 单片机程序设计 > 详情

89C51单片机交通灯程序

发布时间:2020-05-28 发布时间:
|
1设计任务

( 按下时依次红灯全亮,同时数码管显示15S的到计时;东西绿灯亮,南北红灯亮,同时数码管显示30S的到计时;计闪次数8次。。。。。。。。。。。。)

2汇编程序

       MIAO EQU 30H

ORG 0000H

LJMP START

ORG 000BH

LJMP INTET0

START: LACALL  JS1

MOV P1,#0F6H                             ;点亮四个红灯

MOV P3,#0DEH

LCALL  DE15S                             ;延时15S

LLL: MOV P1,#0DBH                    ;东西绿灯亮,南北红灯亮

MOV P3,#0DEH

LCALL   DE30S                             ;延时30S

MOV P1,#0FFH                             ;东西绿灯灭,南北红灯亮

MOV P3,#0DEH

MOV R1,#08H                                ; 计闪次数8次

DDD: MOV P1,#0EDH                    ; 东西黄灯亮,南北红灯亮

MOV P3,#0DEH

ACALL DE02S

MOV P1,#0FFH                              ; 东西黄灯灭,南北红灯亮

DE6S: MOV R5,#60                        ;延时6S

SJMP DE1

DE02S: MOV R5,#02H                    ; 延时0.2S

DE1: MOV R6,#200

DE2: MOV R7,#126

DE3: DJNZ R7,DE3

DJNZ R6,DE2

DJNZ R5,DE1

RET

JS1: MOV TMOD,#01H                ; 50MS定时常数

MOV TH0,#3CH

MOV TL0,#0B0H

MOV R0,#20                                      ; 1S定时常数

SETB EA

SETB ET0

RET

DE30S: MOV MIAO,#00H

NEXT: MOV A,MIAO

MOV B,#10

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOVC A,@A+DPTR

MOV    P2,A

LCALL DELY1S

INC MIAO

MOV A,MIAO

DEC  MIAO

MOV A,MIAO

CJNE A,#30,NEXT

LJMP DE30S

DE15S: MOV MIAO,#00H

NEXT: MOV A,MIAO

MOV B,#10

DIV AB

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

MOV A,B

MOVC A,@A+DPTR

MOV P2,A

LCALL DELY1S

INC MIAO

MOV A,MIAO

DEC  MIAO

MOV A,MIAO

CJNE A,#15,NEXT

LJMP DE15S

DELY1S: MOV R5,#100

D2: MOV R6,#20

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

DJNZ R5,D2

RET

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈AVR中定时器几种工作模式