首页 > 搜索 > 2021过年mov,51单片机汇编程序:倒计时交通灯

2021过年mov,51单片机汇编程序:倒计时交通灯

互联网 2021-01-23 02:49:59
在线算命,八字测算命理

一个51单片机汇编语言的程序,要求就是红灯25秒,绿灯20秒,黄灯闪烁5秒。

很简单的要求,用下图电路即可实现:

51 汇编编程:倒计时交通灯 - 非著名博主 - 电子信息角落

全部程序如下:

;倒计时交通灯

;四位共阳数码管

;P0 接段码

;P2.0123 接位码

;P3 接红绿黄灯

NB_R   EQU  P3.0

NB_Y   EQU  P3.1

NB_G   EQU  P3.2

DX_R   EQU  P3.3

DX_Y   EQU  P3.4

DX_G   EQU  P3.5

;-------------------------------------------

    ORG   0000H

    JMP   MAIN

    ORG   000BH         ;T0中断的入口地址

    MOV   TL0, #0B0H

    MOV   TH0, #3CH     ;50ms中断一次

    DJNZ  R2, EXIT_T0

    MOV   R2, #20       ;定时1s

    DEC   R3            ;倒计时

    DEC   R4            ;倒计时

EXIT_T0:

    RETI

;***************************************

MAIN:

    MOV   TMOD, #01H

    MOV   TH0, #3CH     ;定时50ms

    MOV   TL0, #0B0H

    MOV   R2, #20       ;定时1s

    SETB  TR0

    SETB  ET0

    SETB  EA

    MOV   SP, #60H

;***************************************

N_B:                    ;南北

    MOV   P3, #0        ;关闭全部红绿灯

    SETB  NB_G

    SETB  DX_R

    MOV   R3, #20       ;南北通行时间

    MOV   R4, #25

NB_W1:

    CJNE  R3, #0, NB_DISP

    MOV   R3, #5        ;南北黄灯时间

    SJMP  N_B_Y

NB_DISP:

    CALL  DISPLAY

    SJMP  NB_W1

;-----------------------

N_B_Y:

    CLR   NB_G

NB_W2:

    CJNE  R4, #0, NB_DISP2

    JMP   D_X

NB_DISP2:

    MOV   A, R2

    MOV   C, ACC.3

    MOV   NB_Y, C

    CALL  DISPLAY

    SJMP  NB_W2

;***************************************

D_X:

    MOV   P3, #0        ;关闭全部红绿灯

    SETB  DX_G

    SETB  NB_R

    MOV   R3, #25

    MOV   R4, #20       ;东西通行时间

DX_W1:

    CJNE  R4, #0, DX_DISP

    MOV   R4, #5        ;东西黄灯时间

    SJMP  D_X_Y

DX_DISP:

    CALL  DISPLAY

    SJMP  DX_W1

;-----------------------

D_X_Y:

    CLR   DX_G

DX_W2:

    CJNE  R3, #255, DX_DISP2

    JMP   N_B

DX_DISP2:

    MOV   A, R2

    MOV   C, ACC.3

    MOV   DX_Y, C

    CALL  DISPLAY

    SJMP  DX_W2

;***************************************

DISPLAY:

    MOV   DPTR, #TAB1

    MOV   A, R3

    MOV   B, #10

    DIV   AB

    MOVC  A, @A + DPTR

    MOV   P0, A

    MOV   P2, #1

    DJNZ  R7, $

    DJNZ  R7, $

    MOV   P2, #0

;----------------------

    MOV   A, B

    MOVC  A, @A + DPTR

    MOV   P0, A

    MOV   P2, #2

    DJNZ  R7, $

    DJNZ  R7, $

    MOV   P2, #0

;----------------------

    MOV   A, R4

    MOV   B, #10

    DIV   AB

    MOVC  A, @A + DPTR

    MOV   P0, A

    MOV   P2, #4

    DJNZ  R7, $

    DJNZ  R7, $

    MOV   P2, #0

;----------------------

    MOV   A, B

    MOVC  A, @A + DPTR

    MOV   P0, A

    MOV   P2, #8

    DJNZ  R7, $

    DJNZ  R7, $

    MOV   P2, #0

    RET

TAB1:

    DB  0C0H, 0F9H, 0A4H, 0B0H, 99H

    DB   92H,  82H, 0F8H,  80H, 90H

;***************************************

END

;-------------------------------------------

免责声明:非本网注明原创的信息,皆为程序自动获取互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件12小时内删除。

相关阅读

一周热门