这是我初学单片机,并用Proreus 软件自己绘制自己编写程序实现的一个交通红绿灯的系统
这是硬件连接图和程序,以便今后复习
左 上 右 下 中控制部分,上面一个开关按下时,南北方向绿灯,东西方向红灯黄灯 闪 烁3秒 绿灯设置1 5 秒,红灯设置1 8 秒
绿灯走完 1 5 秒后黄灯闪烁 3 秒变为红灯,红灯走完 1 8 秒后变成绿灯,以此循环
源程序: COUNT EQU 30H ;T0 中断计数 SNLEDDATA EQU 31H ;存储南北数码管显示的数据 SNCOLORFLAG EQU 32H ;=1 时南北绿灯亮,=2 时南北黄灯亮,=3 时南北红灯亮 SNLEDDATAINIT EQU 33H ;存储南北各颜色灯的初始时间 EWLEDDATA EQU 34H ;存储东西数码管显示的数据 EWCOLORFLAG EQU 35H ;=1 时东西红灯亮,=2 时东西绿灯亮,=3 时东西黄灯亮 EWLEDDATAINIT EQU 36H ;存储东西各颜色灯的初始时间 org 0000h lJMP MAIN org 0003h ljmp exint0 ORG 000BH lJMP INTT0 org 0013h ljmp exint1 org 0100h ;主函数************************************** MAIN: CALL INIT START: MOV A,COUNT CJNE A,#200,NOT1S ;没到 1 秒跳转 MOV COUNT,#00 ;1 秒时间到 DEC SNLEDDATA MOV A,SNLEDDATA JNZ checkewleddata MOV SNLEDDATA,SNLEDDATAINIT INC SNCOLORFLAG MOV A,SNCOLORFLAG CJNE A,#04,checkewledd