智能交通灯控制系统设计2009年1月7日1课题开发背景及意义2系统所完成的功能简介3器件选择的方案及论证4硬件模块设计5软件模块设计6系统设计的难点及解决办法7系统完成情况说明8毕业设计的结论9结束语1课题开发背景及意义近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新.在车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊的道路上,靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统.在现代文明高速发展的社会,道路的高度发达使整个社会进步的速度得以进一步的加快,交通灯的出现是社会大发民用工业下的必然产物.交通灯在道路事业中占有举足轻重的地位,它直接影响到公路以及市区内的通车质量.所以,一种智能交通灯的诞生具有巨大的意义.2系统所完成的功能简介该系统能够对多条路口车辆进行管理控制,能实时调整红绿灯变换的时间对车流进行疏通,通过LED显示倒计时的时间,并该系统能够在四条路口、五条路口、六条路口之间切换使用,真正的达到智能化,进行智能控制。本系统也可以实现白天与夜间两种状态之间的互换(夜间车辆较少),以保证夜间车辆尽可能省时间的通过交通路口。当交通信号灯出现异常情况时,可对系统进行复位,重新启动该系统。3器件选择的方案及论证主控制器部分主控制器部分采用Intel公司的8051单片机芯片。MCS-51系列单片机是8位增强型,其主要的技术特征是为单片机配置了完善的外部I/O接口,能够充分满足交通信号灯设计时所需要的I/O数。而且使用灵活、体积小、易于开发、抗干扰能力强,可以工作于各种恶劣的条件下,工作稳定的特点。设计本着应用性,因此选择MCS-51系列的8051单片机作为中央处理器。时间显示部分本部分采用共阴极七段数码管(13MM*19MM),CD4511译码器以及74HC154.CD4511是一个用于驱动共阴极LED显示器的BCD七段码译码器.特点如下:具有BCD转换功能,消隐功能,锁存控制功能,七段译码功能.CD4511的COMS电路能提供较大的上拉电流,可直接驱动LED显示器.且价格相对较便宜,综合以上优点,才选择此芯片.交通灯显示部分本部分采用双色发光双及管进行控制.特点如下:1.高光效2.高节能3.光色多4.安全性高5.寿命长6.快速响应7.运行成本低综合以上的特点和功能,所以选择双色发光二极管做本系统的主要执行机构.4硬件模块设计系统硬件框图时间显示模块设计时间显示模块硬件电路主要由CD4511芯片、74HC154组成,CD4511用来给数码管传送数据,74HC154负责数码管的片选工作。通过4根地址线和4根控制线和单片机P1口相连,单片机P1.0~P1.3引脚与CD4511芯片A1~A4输入引脚连接,P1.4~P1.7引脚与74HC154芯片的A0~A3输入引脚相连。在工作模式中,CD4511将LE引脚置低,BI和LT引脚置高电平,并由A1~A4送出相应的数据来点亮数码管,从而实现数码管的亮灭。时间显示模块电路原理图交通灯显示模块交通灯显示模块硬件电路没有外接任何芯片,直接由P0口和P2口进行驱动。通过8根控制线和单片机P0口相连,通过5根地址线与单片机P2.0~P2.4口相连,P0口负责传送数据,P2口负责片选,从而实现双色发光二极管的变化。交通灯显示电路原理图INT1外部中断模块在单片机P3.3口接一个外部按钮,接上拉电阻,设置成边沿触发对程序内部的flag进行控制。需要转换模式时。只需按一下外部按钮。即可以进行模式间的切换,由于硬件部分只负责输入数据,所以具体功能在软件设计中介绍。5软件模块设计主程序设计主程序负责系统整个软件的初始化。包括8051本身的初始化中断、初始化的设置及启动设置。开始系统初始化外部中断INT1模式选择四条路口五条路口五条路口选择方案结束运行正常?运行正常?四条路口选择方案NNYY00xff时间显示子程序设计外部中断后,用CD4511与74HC154进行时间显示控制。程序利用CD4511进行输出数据给数码管,74HC154进行片选。系统上电后,模块就开始自动工作,通过P1口向CD4511和74HC154发送数据,在CD4511内进行译码,然后将译码后的数据发给数码管。74HC154配合CD4511选择数码管显示数据,进行倒计时.CD4511译码74HC154片选数码管显示时间外部中断中断返回交通灯显示子程序设计外部中断后,用P0口与P2口进行交通灯显示控制。程序利用P0口进行输出数据给双色灯,P2口进行片选。系统上电后,模块就开始自动工作,单片机向P0口和P2口发送数据,通过P0口与P2口向双色灯发送数据。P2口配合P0口选择双色灯显示数据,显示发光.INT1外部中断设计在这部分程序里,首先定义了一个变量flag,flag用来判断该执行哪种模式,flag的值是由外部中断INT1来控制。Flag初值为0当外部中断边沿触发一次。Flag值取反,再一次触发,flag的值再次取反。当flag的值与其中一种模式的判断值相符时,便执行该种模式,达到四条路口与五条路口之间切换。switch(flag){case0:{}//执行四路口模式case0xff:{}//执行五路口模式}6系统模块的难点解决办法本系统的关键及难点是INT1外部中断部分,本设计的智能交通灯的“智能”也就体现在这个部分。他既是本系统的关键部分,也是设计中的一个难点。主要是在处理输入信号时,如何将得到的信号与各种模式对应起来是解决问题的重中之重。最后,选择了一种方法来解决这个问题。将不同路口的算法全部写入程序(四条路口、五条路口、多条路口)各子程序均留出一个入口,只要选择哪个入口即可实现多路之间的切换。7系统完成情况说明本系统以AT89C51为主控中心,时间显示模块、交通灯显示模块及外部中断模块共同组成了本系统的硬件电路。软件根据硬件电路编写程序,完成各部分设计功能。系统功能全部实现8毕业设计的结论本次毕业设计按照课题应实现的功能,设计了所需的硬件电路,以8051为主控中心,CD4511译码器、74HC154等芯片及显示模块、时间模块、外部中断模块共同组成了本系统的硬件电路。根据硬件电路设计了相应的软件程序,尤其是在切换模式时采用了INT1外部中断方式。本次设计主要完成了以下功能:1.能够正常显示四条路口的交通信号灯;2.能够正常显示五条路口的交通信号灯;3.利用外部中断INT1能够实现各种模式下的切换;本设计中包括了单片机、外部中断、动态扫描等多领域知识。这次设计是对大学四年知识系统化、深层次化的学习。通过这次设计我不仅对单片机和C语言有了更深刻的认识和了解,而且学会了独立分析问题、处理问题以及解决问题的方法,可以说达到了举一反三的目的。通过毕业设计,对各芯片的工作原理有了更深入的认识,能够理论联系实际,同时也建立起了很强的思考能力,并学习到了课本以外的知识,最重要的是锻炼了自学的能力,这将为我以后走向工作岗位打下了坚实的基础。通过毕业设计,我掌握了许多实践经验。9结束语感谢各位老师在本次毕业设计中为我提出了大量的宝贵意见和多次的指导,给予我很大的支持和鼓励,帮助我解决设计中的问题。再次向所有指导、关心、照顾和帮助我领导和老师表示最衷心的感谢,谢谢大家!