智能交通灯控制系统设计1单片机课程设计——智能交通灯控制系统设计电气与控制工程学院微电子科学与工程1101班组员:李少飞1106080118和彬彬1106080122王军1106080130余盛强1106080131指导老师:邵小强、刘晓蓉2014年7月3日智能交通灯控制系统设计2智能交通灯控制系统的设计摘要:近年来,随着我国国民经济的快速发展,我国机动车辆发展迅速,。而城镇道路建设由于历史等各方面因素相对滞后,交通拥挤和堵塞想想时常发生。如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得的研究课题。目前,国内的交通灯一般设计在十字路口,在醒目位置用红绿黄三种颜色的指示灯再加上一个倒计时的显示计时器来控制行车。我国交通法规也对交通指挥信号灯做出了规定:(1)绿灯亮时,准行车辆,行人通行,但已越过停止线的车辆和已进入人行横道的行人,可以继续通行。(2)黄灯亮时,不准车辆,行人通行,但已越过停止线的车辆和已进入人行横道的行人,可以继续通行。(3)红灯亮时,不准车辆,行人通行(4)绿灯箭头灯亮时,准许车辆按箭头所示方向通行(5)黄灯闪烁时,车辆行人在确保安全的原则下可以通行信号灯的出现,市交通得到有效地管制,对于疏导交通流量,提高道路通行能力和减少交通事故有明显效果关键词:红绿灯,黄灯闪烁,全红,南北禁行,东西禁行1设计任务本设计要求学生用单片机设计一个交通灯控制系统,使其能模仿城市“十字”路口交通功能,并能满足特殊的控制要求(如按键k1,k2,k3的使用),该系统的具体功能要求如下:(1)该控制系统能控制东西南北四个路口的红黄绿信号灯的正常工作(2)当东西方向准行,南北方向禁行时,东西方向亮绿灯,南北方向亮红灯(3)当南北方向准行,东西方向禁行时,南北方向亮绿灯,东西方向亮红灯(4)量垂直方向的准行时间均为60s(由于时间太长改为30秒)(5)准行方向亮绿灯与禁行方向亮绿灯55s后,四个道口同时加亮一盏黄灯进行闪烁,以警告车辆及行人,准备方向与禁行方向即将改变(及准行变为禁行,禁行变为准行)(6)四个道口军用数码管显示准行(禁行)的剩余时间(7)在交通情况比较特殊的情况下,可以通过k1,k2,k3三个按键对交通灯进行控制,具体实现的功能如下:当有紧急情况发生,如消防车。救护车等紧急车辆通过时,按下K1键,四个路智能交通灯控制系统设计3口同时加亮黄灯信号灯进行闪烁(闪烁时间为2s),并且倒计时显示装置关闭,黄色灯闪烁5s后,四个路口的信号灯全部变为红灯,这样四个路口的普通的车辆禁行,只允许紧急车辆通过,待紧急车辆通过后,松开K1键,表示紧急状态消除,交通灯控制系统恢复正常工作.当东西方向车辆过多时,按下K2键,四个路口同时加亮黄色信号灯进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄灯5s闪烁完成后只允许东西方向车辆通过,南北方向车辆禁行吗,从而有效地调节东西方向车辆过多的情况。松开K2键,交通灯又开始正常工作,当南北方向车辆过多时,按下K3键,四个路口同时加亮黄色信号灯进行闪烁(闪烁时间为5S),并且倒计时显示装置关闭,黄色灯5s闪烁完成后,只允许南北方向车辆通行,东西方向车辆禁行,从而有效地调节南北方向车辆过多的情况。松开K3键,交通灯又开始正常工作。主要硬件设备:AT89C51单片机。发光二极管。共阳型LED数码管,开关按键,连线若干等2整体设计方案本系统采用AT89C51单片机作为智能交通的系统的控制核心。从设计所要完成的任务和要求来看,单一路口显示倒计时时间的数码管必须用两位数,对于七段数码管,考虑AT89C51单片机所能提供的I\O接口的数量并结合实际编程,倒计时显示装置中的数码管在本系统中采用静态显示;设置了3个按键用来处理交通灯在实际应用可能出现的特殊情况,共使用3个I\O端口,其中P3.0接K1,P3.1接K2键,P3.6键K3键:十字路口共需要4组I\O红绿灯,加上转换黄灯,一共是12只灯,须用6个端口进行控制,具体I\O接口分配为:P1.0~P1.2分别接东西方向的红绿黄共6盏信号灯,P1.3~P1.5分别接南北方向的红绿黄共6盏信号灯;AT89C51单片机的I\O口作为输出时具有较大的吸收电流能力,因此我们可以选用共阳极数码管,这样由单片机的I/O口就可以直接驱动,从而简化硬件电路的设计,系统的整体方案设计图所示系统整体方案设计单片机AT89C51时钟电路复位电路红绿灯装置倒计时显示装置驱动电路智能交通灯控制系统设计43.系统硬件电路设计3.1交通灯电路为了方便实验,采用发光二极管作为交通灯使用,单片机的I/O接口直接和交通灯(发光二极管)连接。在十字路口的四座红黄绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色灯也彼此连接,收单片机额P1.0~P1.5控制。单片机的I/O接口和交通灯电路的具体连接方式:P1.0~P1.2分别接东西方向的红路灯共6个发光二极管。12个发光二级黄,P1.3~P1.5分别接南北方向的红绿灯共6个发光二极管。12个发光二极管采用共阳极的连接方式,因此I/O口输出低电平时,与之相连的二极管会亮,I/O口输出高电平时,相应的发光二极管会灭,交通灯电路如图所示3.2复位电路为确保控制系统能够稳定可靠工作,复位电路时必不可少的一部分。它可以保证程序从指定处开始执行,即从程序存储器的0000H地址单元开始执行程序。另外,当程序运行出错或操作错误是系统处于“死机”状态时,需复位以重新启动。智能交通灯控制系统设计53.3倒计时显示电路该交通灯控制系统在正常工作情况下,每60s(由于时间太长本次我们调试为30秒延时)循环一次,为方便提示路上行人及车辆交通灯转换的剩余时间,专门为控制系统设计了一个倒计时显示装置,该显示装置选用七段数码管来显示交通灯转换的剩余时间,根据控制要求,每个路口需要两个数码管,这样四个路口就需要八个数码管。由于AT89C51单片机的I\O口作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳极数码管,这样由单片机的I/O就可以直接驱动,从而简化硬件电路的设计。四个路口倒计时显示装置在同一时刻显示相同的数字,其中P0口用来显示时间的十位,P2口作为显示时间的个位;东西南北四个方向共四个路口,令DS1和DS2是一组,DS3和DS4是一组,DS5和DS6是一组DS7和DS8是一组,考虑到AT89C51单片机所能提供的I/O接口的数量以及该控制系统所需的I/O的个数并结合学生实际编程的能力,数码管在本系统采用的是静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的数码管恒定的导通和截止。知道要显示新的数据时,再发送新的字型码,倒计时显示电路如图所示智能交通灯控制系统设计63.4紧急通行电路该系统的K1,K2,K3三个按键分别与单片机的P3.0,P3.1,P3.6相接,他们可以再特殊的交通情况下使用。例如,当有紧急情况发生,如消防车,救护车等紧急车辆通过时,按下K1键,四个路口同时加亮黄色信号灯并进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄色灯5s闪烁完成后,四个路口的信号灯全部变成红灯,从而保证紧急车辆的及时通行,待紧急车辆通过后,松开K1键,紧急情况消除,交通灯控制系统恢复正常工作;按下K2键,绿灯方向加亮黄色信号灯并开始闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄灯闪烁5s完成后,只允许东西方向车辆准行,南北方向车辆禁行,松开K2键,交通灯控制系统又开始正常工作;按下K3键,另两个方向加亮黄色信号灯并进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄色灯5s后,只允许南北方向车辆准行,东西方向车辆禁止,松开K2键,交通灯控制系统又开始正常工作,按键电路所示智能交通灯控制系统设计74系统程序设计4.1主程序流程图该智能交通灯控制系统的软件设计采用的是顺序并反复循环的方法。智能交通灯控制系统在正常工作的情况下,每60s循环变化一次。每个循环周期在还剩5s时,四个路口的黄灯同时点亮并开始闪烁,以提醒路上的行人及车辆,交通灯即将发生变换,在主程序中定时扫描P3口,若有按键按下,则调用键盘子子程序进行相应的处理,若无,则程序继续执行。主程序流程图如图所示。开始系统初始化东西准行,南北禁行(55s)东西亮绿灯,南北亮红灯调显示程序扫描键盘有键按下?调用键盘子程序Y东西准行,南北禁行(5s)东西亮绿灯,南北亮红灯。同时黄灯进行闪烁调显示子程序扫描键盘有键按下?调用键盘子程序Y东西,南北方向换型主程序流程图NNVisio绘制流程图(2013版)4.2定时中断子程序智能交通灯控制系统设计8该系统的倒计时显示装置采用的是静态显示方式,单片机的P0口和P2口分别连接倒计时装置的十位和个位,系统每1s都会向倒计时显示装置传送新的数字型码用来显示新的倒计时时间。设定该系统的定时器工作在方式1,由于方式1的最大定时时间为65.536ms,所以要产生1s的定时时间必须采用累加器定时的方法,即将定时器的定时间设定为50ms,中断循环次数设定为20。当20次循环中断完成以后,说明1s时间累计到,这时候通过调用显示子程序为倒计时装置传送新的数字型码,从而完成倒计时时间的“减一“操作并进行显示。另外,每完成一次定时中断操作后都要重新对定时器赋初值。定时中断子程序如图开始定时器初始化定时中断循环次数定时开始定时时间到?产生中断YN循环次数减1循环次数等于1?调显示程序重新给循环次数赋初值给定时器赋初值YN返回定时中断子程序流程图Y智能交通灯控制系统设计9Visio绘制流程图(2013版)4.3显示子程序流程图该交通灯控制系统采用的是静态显示,对于得到的倒计时显示数据,首先应提取倒计时数据的十位和个位,然后将十位和个位的字型码分别送到单片机的P0口和P2口。其中P0口用来向倒计时显示装置传送十位数字型码,P2口用来向倒计时显示装置个位数字型码。显示子程序流程图如图开始取到计时数值提取倒计时数据的十位数获取十位数字型码并送到P0口提取倒计时数据的个位数获取个位数字型码并送到P2口调1S延时子程序返回显示子程序流程图Visio绘制流程图(2013版)智能交通灯控制系统设计104.4按键子程序流程图在该控制系统中,共使用了三个按键K1、K2、K3来处理交通灯在实际应用中的某些特殊情况。如按下K1键,东西南北四个路口均变成红灯,从而保证诸如急救车、消防车等车辆的及时通过,按下K2键,则只允许东西方向通行,而南北方向禁行;按下K3键只允许南北方向通行,而东西方向禁行。另外,K1、K2、K3三个按键无论哪个按键按下,倒计时显示装置都会关闭,四个路口的黄灯同时点亮并进行闪烁(时间为5S),提示车辆和行人,交通灯即将发生变换。当特殊情况消除后,松开按键,智能交通灯控制系统又恢复正常工作。按键子程序流程图所示。开始键盘扫描有按键按下?NK1键按下关闭倒计时显示Y黄灯进行5S闪烁东西南北均变成红灯K1键按下?YK2键按下?关闭倒计时显示黄灯进行5S闪烁东西变绿灯南北变红灯K2键按下Yk3键按下?NN关闭倒计时显示黄灯进行5S闪烁南北变绿灯东西变红灯K3键按下?Y返回按键子程序流程图Visio绘制流程图(2013版)5系统调试智能交通灯控制系统设计11智能交通灯控制系统设计完成后,剩下的工作就是系统的调试。本系统的调试工作可以分三部分进行。一是做好硬件电路的检查工作,确保焊点无虚焊,I/O接口对应准确;二是做好软件部分的调试工作,调试的手段是将所有编辑的源程序在相应的集成开发环境运行,根据系统提示的错误进行修改。三是软硬件的联合调试,在这一步中,要给硬件上电并且使程序运行起来,重点检查硬件部分能否正确实现软件部分规定的功能要求。很多情况下,系统的调试工作并不是一步到位的,当软件和硬件设置不统一时,系统往往无法正常工作,无法满足既定功能要求,这时候需要根据软件改硬件或者根据硬件改软件,使两者协调统一起来。总之,系统的调试工作总要经过反复修改,运行,再修改,再运行这一循环渐进的过程。5.1系统的硬件调试系统的硬件调试