1.系统功能
本设计完成的功能是带倒计时显示的交通信号灯,在有紧急情况发生的时候,按下紧急按钮,主、次道均变为红灯,关闭数码管显示。
2.Proteus电路设计
设计电路中需要的8086系统基本电路(最小模式电路、存储器电路、IO端口译码电路)在第三章中已详细介绍,此处不再赘述,只画出接口及外设电路部分,电路如图4-7所示。
该电路用到的元件有8255A、8259、8253、BUTTON、RES、7SEG-MPX2-CC、TRAFFIC LIGHTS。
3.程序设计
程序流程图如图4-8所示,包含主程序、2个中断子程序、显示子程序、延时子程序。显示子程序采用动态扫描方式。IR0中断子程序完成的功能是当按紧急按钮时,屏蔽IR1中断,暂停计时,数码管熄灭,主、次道全变为红灯,再一次按紧急按钮时,允许IR1中断,继续开始计时,红绿灯状态恢复正常。IR1中断子程序实现的功能是:每中断一次计数加1,中断50次为1s,1s到秒数倒计时减1,并根据时间变化切换交通信号灯的状态。
图4-8 交通信号灯程序流程图
续图4-8 交通信号灯程序流程图
参考程序如下:(www.daowen.com)
4.仿真结果
汇编文件(asm文件)通过emu8086编译生成exe文件,将exe文件添加到Proteus电路中8086的Program File,进行电路仿真。电路仿真结果如图4-9所示,主道绿灯亮次道红灯亮、主道黄灯闪(5s)次道红灯亮、主道红灯亮次道绿灯亮、主道红灯亮次道黄灯闪(5s),主干道通行时间55s,黄灯闪烁5s,次道通行时间25s,黄灯闪烁5s。
图4-9 交通信号灯仿真结果
5.思考题
交通规则变化后,交通信号灯也发生了变化,如果改为绿灯结束前闪烁3s变黄灯2s,再加上左转弯控制,应该如何修改设计电路图及程序?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。