欢迎来到天天文库
浏览记录
ID:9217199
大小:276.34 KB
页数:6页
时间:2018-04-23
《基于8051单片机的交通灯控制系统设计与模拟》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、万方数据万方数据孙晓艳基于8051单片机的交通灯控制系统设计与模拟该信号灯点亮时间由键盘设定(设定范围为00一99s),系统受启动开关控制,按下键盘上A键后,系统开始工作,同时点亮时间进行倒计时显示。时问减为∞时,南北红和东西绿灯熄灭,两方向的黄灯同时点亮,并维持2s。倒计时显示又减为∞时,南北绿灯亮,同时东西红灯亮,维持时间仍由键盘设定。当倒计时显示又减为00时.开始第二周期的动作,以后周而复始的循环。系统还设定了修改键B,在任何时候可根据实际情况重新修订信号灯点亮时间,按下B键后,倒计时显示熄灭,等待重新输入新的设定时间。正常控制时序见主程序流程图所示。I.2急车强行通过控制急车强通信号
2、受急车强通开关控制,元急车时,信号灯按正常时序控制。有急车来时。将急车强通开关按下,不管原来信号灯的状态如何,一律强制让两方向的红灯点亮,禁止其它车辆通行,使急车放行205。1.3变通异常状况判列爰处理等功能在十字路口经常出现的一种交通异常状况是一方向的车辆过多发生阻塞,而另一方向的车辆却很稀少,这时正常的信号灯时序会使交通状况更加恶化。本系统可由传感器根据外界实际情况来进行对信号灯的控制,当传感器检测到一道有车而另一道无车时,将自动启动交通异常状况处理方式,强制有车车道放行5S,无车车道然后放行。2.系统的硬件设计2.1总体设计系统总框图(如图I所示)lt盘控翻ll模班l旧≯卜单片帆罄口量
3、小熏统电培l变通异乍状II鬻r圈l其中,单片机最小系统为系统的主控制器,用以控制其他模块协调工作;交通灯模块用以显示各车道的通行情况(红灯表示该车道禁止通行,绿灯表示该车道允许通行,黄灯为中间过渡时间);LED倒计时显示模块和键盘控制模块由单片机外接接口控制;急车强行通过模块和交通异常状况处理模块以外部中断方式进入。2。2各模块设计2.2.1单片机最小应用系统及接口电路单片机选择8051芯片,它是IBITEL公司推出的采用HMOS工艺制造的双列直插(DW)式芯片。其片内有4KB可编程的程序存储器、具有256个字节的片内RAM、具有32条可编程的I/O端口线、具有2个16位的可编程定时/计数器
4、、有5个中断源和一个全双工串行通信口,最高工作频率可达24MHZ,完全可以满足本系统的需要。对交通灯的控制主要用其中的计数器定时来完成。一方面要完成对各模块的控制,另一方面也要协调好各模块的时序及口线冲突问题。本系统扩展了一块Intel公司生产的可编程输入输出接口苍片8255,它具有3个8位的并行I/O口,有三种工作方式,使用灵活,通用性强,很适宜作为单片机与多种外围设备连接时的中间接口电路(如图2所示)。田22.2.2键盘控制模块整个键盘控制模块由AT89C51的P1口控制。包括数字键0—9、系统启动键A及通行时间修改键B,可手动设置和在线修改通行时问。具有灵活的特性。2.2。3交通灯显示
5、模块整个交通灯显示模块由8255的PA口控制,以6个发光二极管模拟双向十字路口的红、黄、绿灯,该电路含741s373(数据锁存器)和限流电阻,可使交通灯正常工作(如图3,4,5所示)。109oooooo万方数据南宁职业技术学院学报2007年第12卷第3期J0umalofNanningPolytechnic2007V01.12No.3圈3囝4圈52.2.4LED倒计时显示模块单片机从定时数据区取得延时时间后,由定时器T0控制延时,然后从8255的PB口送显示码,从8255的PC口送位选码,在两个数码管上动态扫描显示剩余时间。2.2.5急车强行通过、交通异常状况判别及处理模块用按键S0模拟紧急车
6、辆通过开关,当so为高电平时,属正常情况;当s0为低电平时,属紧急车10辆通过的情况,直接将S0信号接至P3.2引脚,通过外部中断方式进行处理(如图6所示)。圈6由于我们所需要的传感器信号只要表征车辆在一定的位置上停留的时间长度,所以传感器系统可采用低成本的HI一11ACl00型压电式传感器.为每一车道距离十字路口200m远的地段安装2条,传感器并列相距为3m,将传感器信号输出端用电缆与单片机的模拟接口连接。本系统用按键s1、s2模拟两车道的检测信号,当s1、s2为高电平(不按按键)时,表示有车,当sl、S2为低电平(按下按键)时,表示无车。sl、S2相同时属于正常情况,s1、s2不相同时属
7、于一道有车另一道无车的情况。依此产生中断。3.系统的软件设计全部控制程序分为三个模块:主程序;显示控制、键盘处理等子程序;定时、紧急情况处理等中断处理程序。。主程序完成堆栈初始化,TO初始化,8255初始化,对定时数据区和显示缓冲区初始化,开中断,然后循环调用显示子程序和键盘处理子程序等工作。其流程图见图7所示。显示控制子程序中,89C51通过8255接口轮流将显示缓冲区中两位BCD码送LED显示器显示(流程
此文档下载收益归作者所有