欢迎来到天天文库
浏览记录
ID:34626868
大小:263.72 KB
页数:3页
时间:2019-03-08
《用8031单片机进行城市交通灯控制new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据用8031单片机进行城市交通灯控制付媛媛涂立(湖南城市学院湖南益阳413000)摘要系统采用MSC一51系列单片机Intel8031和可编程并行I/0接口芯片8255A为中心器件来设计交通灯控制器。实现了能根据实际车流量通过8031芯片的P1口设置红、绿灯燃亮时间的功能;为了系统稳定可靠,采用了MAX629“看门狗”芯片。避免了系统因为死机而停止工作的情况发生;显示时间直接通过8255的PA、PB口输出;交通灯信号通过PC口输出;交通灯的点亮采用VT双向晶闸管来控制,直接采用220V交流电源驱动,系统实用性强、操作简单、扩展性强。关键词单片机交通灯
2、控制器中图分类号1P216文献标识码A1交通管理的方案论证A、B两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯。指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换。且黄灯燃亮时间为A、B两千道的公共停车时间。设A道比B道的车流量大.指示灯燃亮的方案见表1。表1指示灯燃亮方案通灯初始时间。通过8031单片机P1输入到系统;②由8031单片机的定时器每秒钟通过P0口向8255的数据口送信息。由8255的PC口显示红、绿、黄灯的燃亮情况;由8255的PA、PB口显示每个灯的燃亮时间;③8031通过设置各个
3、信号灯的燃亮时间,通过8031设置.黄、绿、红时间依次为3秒、60秒、3秒、80秒、3秒循环由8031的P0口向8255的数据口输出;④通360380360A道黄灯亮红灯亮黄灯亮绿灯亮黄灯亮红灯亮B道黄灯亮绿灯亮黄灯亮红灯亮黄灯亮绿灯亮当为黄灯时,A、B两道同时为黄灯,以提示行人或车辆下一个灯色即将到来.时间3秒;当A到为红灯,A道车辆禁止通行,A道行人可通过,B道为绿灯,B道车辆通过.行人禁止通行.时间为60秒:当A道绿灯,A道车辆通行,B道为红灯,B道车辆禁止通过,行人通行,时间为80秒。A道车流大,通行时间长;这样如表1的时间和红、绿、黄出现的顺序依
4、次出现,这样行人和车辆就能安全畅通的通行。此表可根据车流量动态设定。2系统硬件设计选用设备803l单片机一片.8255并行通用接口芯片一片,74Ls07两片,MAX692‘看门狗’一片.共阴极的七段数码管两个,双向晶闸管若干,7805三端稳压电源一个,红、黄、绿交通灯各两个,开关键盘、连线若干(见图1)。系统工作原理为:①开关键盘输入交收稿日期:2007一06—29182科技创业月刊2007年第9期过8031单片机的P3.0位来控制系统是工作或设置初值,当.牌位0就对系统进行初始化,为1系统就开始工作;⑤8255PA口用于输出时间的个位,PB口用于输出时间
5、的十位,由747S07驱动芯片驱动:而PC口用于输出各个灯的情况,它的末段连接双向晶闸管采用220V交流电压驱动;⑥在交通控制程序中加入看门狗指令.当系统出现异常看门狗将发出溢出中断。通过专用端口输入到MAX692看门狗芯片的WDI引角引起RESET复位信号复位系统。3控制器的软件设计(1)每秒钟的设定。延时方法可以有两种一中是利用MCS一51内部定时器才生溢出中断来确定1秒的时间.另一种是采用软延时的方法。(2)计数器硬件延时。1秒钟已经超过了计数器的最大定时间。所以只有采用定时器和软件相结合的办法才能解决这个问题。采用在主程序中设定一个初值为20的软件
6、计数器和使TO定时50ms,这样每当T0到50ms时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中.CPU先使软件计数器减1.然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。(3)软件延时。MCS一51的工作频率为2—12MHZ,我们选用的8031单片机的工作图l交通灯控制线路图万方数据应用技术频率为6MHz。机器周期与主频有关,机器周期是主频的12倍.所以一个机器周期的时间为12×(1/6M)=2us。我们可以知道具体每条指令的周期数.这样就可以通过指令的执行条数来确定1秒的时闽。(4)时间及信号灯的显示。803
7、1虽然有4个8位I/0端口,但真正能提供借用的只有P1口,因为P2和P0口通常用于传送外部传送地址和数据.P3口也有它的第二功能。因此,8031通常需要扩展。由于用外输出时间时,时间的个位、十位、信号灯的显示都要用到一个I/O端口,显然8031的端口是不够的,需要扩展。扩展的方法有两种:一是借用外部RAM地址来扩展砌端口:二是采用I/O接口新片来扩充,我们用8255并行接口信片来扩展I,0端口。(5)显示原理。当定时器定时为1秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色.这时在返回定时予程序定时1秒,在显示黄
8、灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数
此文档下载收益归作者所有