⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trled2.asm

📁 MCS-51单片机实验 39个实用实验和源码
💻 ASM
字号:
;FOR    EAT598
CS273   EQU     0F200H
        ORG     0000H
        LJMP    START
        ORG     0003H           ;INT 0 中断入口地址
        LJMP    INT0
        ORG     0040H
START:
        MOV     SP,#60H
        SETB    EX0             ;INT 0 中断有效
        SETB    IT0
        SETB    EA
        LCALL   STATUS0         ;初始状态(都是红灯)
CIRCLE: LCALL   STATUS1         ;南北绿灯,东西红灯
        LCALL   STATUS2         ;南北绿灯闪转黄灯,东西红灯
        LCALL   STATUS3         ;南北红灯,东西绿灯
        LCALL   STATUS4         ;南北红灯,东西绿灯闪转黄灯
        LJMP    CIRCLE
INT0:
        PUSH    PSW             ;保护现场
        PUSH    2
        PUSH    ACC
        MOV     DPTR,#CS273
        MOV     A,#0FH          ;南北,东西都亮红灯
        MOVX    @DPTR,A
        MOV     R2,#50          ;延时50秒
        LCALL   DELAY
        POP     ACC             ;恢复现场
        MOVX    @DPTR,A
        POP     2
        POP     PSW
        RETI
STATUS0:                        ;南北红灯,东西红灯
        MOV     DPTR,#CS273
        MOV     A,#0FH
        MOVX    @DPTR,A
        MOV     R2,#10          ;延时1秒
        LCALL   DELAY
        RET
STATUS1:                        ;南北绿灯,东西红灯
        MOV     DPTR,#CS273
        MOV     A,#96H          ;南北绿灯,东西红灯
        MOVX    @DPTR,A
        MOV     R2,#50          ;延时5秒
        LCALL   DELAY
        RET
STATUS2:                        ;南北绿灯闪转黄灯,东西红灯
        MOV     DPTR,#CS273
        MOV     R3,#03H         ;绿灯闪3次
FLASH:  MOV     A,#9FH
        MOVX    @DPTR,A
        MOV     R2,#03H
        LCALL   DELAY
        MOV     A,#96H
        MOVX    @DPTR,A
        MOV     R2,#03H
        LCALL   DELAY
        DJNZ    R3,FLASH
        MOV     A,#06H          ;南北黄灯,东西红灯
        MOVX    @DPTR,A
        MOV     R2,#10          ;延时1秒
        LCALL   DELAY
        RET
STATUS3:                        ;南北红灯,东西绿灯
        MOV     DPTR,#CS273
        MOV     A,#69H
        MOVX    @DPTR,A
        MOV     R2,#50          ;延时5秒
        LCALL   DELAY
        RET
STATUS4:                        ;南北红灯,东西绿灯闪转黄灯
        MOV     DPTR,#CS273
        MOV     R3,#03H         ;绿灯闪3次
FLASH1: MOV     A,#6FH
        MOVX    @DPTR,A
        MOV     R2,#03H
        LCALL   DELAY
        MOV     A,#69H
        MOVX    @DPTR,A
        MOV     R2,#03H
        LCALL   DELAY
        DJNZ    R3,FLASH1
        MOV     A,#09H          ;南北红灯,东西黄灯
        MOVX    @DPTR,A
        MOV     R2,#10          ;延时1秒
        LCALL   DELAY
	    NOP
        RET
DELAY:                          ;延时子程序
        PUSH    2
        PUSH    1
        PUSH    0
DELAY1: MOV     1,#00H
DELAY2: MOV     0,#0B2H
        DJNZ    0,$
        DJNZ    1,DELAY2        ;延时 100 mS
        DJNZ    2,DELAY1
        POP     0
        POP     1
        POP     2
        RET
        END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -