📄 int.asm
字号:
;**********************************************
; MCS-51系列单片机仿真实验系统 硬件实验项目
; 外部中断处理(急救车与交通灯实验)
;**********************************************
Flash equ 0 ;LED状态
STOP equ 1
SY equ P1.0 ;南北黄灯
SG equ P1.1 ;南北绿灯
SR equ P1.2 ;南北红灯
EY equ P1.3 ;东西黄灯
EG equ P1.4 ;东西绿灯
ER equ P1.5 ;东西红灯
org 0
ljmp Start
org 3
setb STOP ;南北、东西均红灯
reti
Start:
mov SP,#70
mov TCON,#01h ;下降沿, IT0
mov IE,#81h ;EA允许, EX0
clr SR ;南北、东西均红灯
setb SY
setb SG
clr ER
setb EY
setb EG
clr STOP
Loop:
jb STOP,AllRed
clr SR ;南北红灯,东西绿灯
setb SY
setb SG
setb ER
setb EY
clr EG
mov a,#20
call Delay
jb STOP,AllRed
clr SR ;南北红灯, 东西黄灯闪
setb SY
setb SG
setb ER
setb EY
setb EG
clr Flash
mov r7,#9
Loop1:
mov c,Flash
mov EY,c
mov a,#1
call Delay
cpl Flash
djnz r7,Loop1
jb STOP,AllRed
setb SR ;南北绿灯,东西红灯
setb SY
clr SG
clr ER
setb EY
setb EG
mov a,#20
call Delay
jb STOP,AllRed
setb SR ;东西红灯,南北黄灯闪
setb SY
setb SG
clr ER
setb EY
setb EG
clr Flash
mov r7,#9
Loop2:
mov c,Flash
mov SY,c
mov a,#1
call Delay
cpl Flash
djnz r7,Loop2
ljmp Loop
AllRed: ;两个方向交通信号灯全红
clr SR
setb SY
setb SG
clr ER
setb EY
setb EG
clr STOP
mov a,#10
call Delay
ljmp Loop
Delay: ;延时子程序
mov r1,#80H
mov r0,#0
DelayLoop:
jb STOP,ExitDelay
djnz r0,DelayLoop
djnz r1,DelayLoop
djnz ACC,Delay
ExitDelay:
ret
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -