交通灯毕业设计_交通灯设计毕业设计
交通灯毕业设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“交通灯设计毕业设计”。
4.4 程序编写
-交通灯控制程序----------
MCS-51汇编语言---------
用AT89S51单片机,12MHz晶振-------------------
程序名:交通灯.ASM----
交通灯控制系统程序-----
ORG 0000H;主程序的入口地址
AJMP MAIN;ORG 0003H AJMP INTO;ORG 0100H MAIN: MOV SP, #60H SETB EX0 SETB IT0 SETB EA;CPU MOV TMOD, #10H;MOV A , #0DEH;MOV P0 MOV R2START: ACALL DELAY DJNZ R2 DISP: MOV P0 MOV R2
DISP1: ACALL DELAY;DJNZ R2 MOV R2 WARN1: CPL P0.7;ACALL DELAY DJNZ R2 MOV P0 MOV R2 YEL1: ACALL DELAY DJNZ R2 MOV P0 MOV R2 DISP2: ACALL DELAY DJNZ R2 MOV R2 WARN2: CPL P0.2;,A,#2,START,#07EH;,#28H;,DISP1;20S,#10;,WARN1;,#0BBH;,#06,YEL1;3S,#0DBH;,#28H,DISP2,#10
指向主程序 指向紧急车辆出现中断程序 ;允许INT0中断
;设外部中断0下降沿有效 开中断
置定时器1为方式1 南北红灯,东西红灯 ;调用0.5S子程序 南北绿灯放行,红灯禁止 置0.5S循环次数 调用0.5S延时子程序 不到继续循环
置南北绿灯闪烁循环次数 南北绿灯闪烁 闪烁次数未到继续循环 南北东西黄灯警告 未到继续循环 南北红灯,东西绿灯 ;20S未到继续循环 东西绿灯闪烁 ACALL DELAY DJNZ R2,WARN2 MOV P0,#0BDH;南北东西黄灯 MOV R2,#06 YEL2: ACLAA DELAY DJNZ R2,YEL2 AJMP DISP;循环执行主程序 INT0: PUSH P0 ;P0口数据压栈保护 PUSH 03H ;R3寄存器压栈保护 PUSH TH1;TH1 PUSH TL1;TL1 MOV P0 MOV R5 DELAY0: ACLAA DELAY DJNZ R5 POP TL1;POP TH1 POP 03H RETI;DELAY: MOV R3 MOV TH1,#03CH MOV TL1,#0B0H SETB TR1 LP1: JBC R3 SJMP LP1
LP2: MOV TH1 MOV TL1 DJNZ R3 RET ENT,#0DEH;,#14H;,DELAY0;10S,#0AH,LP2,#03CH,#0B0H,LP1 压栈保护 压栈保护
南北东西道均为红灯置0.5S循环初值 未到继续循环 弹栈恢复现场 返回主程序