用汇编语言编写路灯的控制

来源:百度知道 编辑:UC知道 时间:2024/06/25 15:29:58
是单片机80C51 控制的

系统晶振是 11.0592 MHz
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,#8300H
MOV A,#0FH ;南北,东西都亮红灯 00001111
MOVX @DPTR,A
MOV R2,#100 ;延时10秒
LCALL DELAY
POP ACC ;恢复现场
MOVX @DPTR,A
POP 2
POP PSW
RETI
STATUS0: ;南北红灯,东西红灯
MOV DPTR,#8300H
MOV A,#0FH ;00001111
MOVX @DPTR,A
MOV R2,#10 ;延时1秒
LCALL DELAY
RET
STATUS1: ;南北绿灯,东西红灯
MOV DPTR,#8300H
MOV A,#96H ;南北绿灯,东西红灯 10010110
MOVX