1目录一、引言......................................................................2二、设计原理及思路............................................................22.1原理...................................................................22.2方案设计与论证......................................................22.3电源提供方案.........................................................32.4显示界面方案.........................................................32.5.输入方案............................................................32.6设计满足的基本功能.....................................................32.7部分电路设计...........................................................42.7.1显示部分电路设计..................................................42.7.2复位部分电路设计..................................................5三、系统硬件设计............................................................63.1总体设计...............................................................63.2单片机最小系统......................................................73.2.1振荡电路.......................................................73.3显示及其驱动模块....................................................73.3.1键盘与状态显示功能............................................73.3.2倒计时计数功能................................................7四、系统软件设计............................................................84.1软件总体设计........................................................84.2软件主要子程序设计..................................................9五、硬件电路设计(原理图)...................................................19六、程序设计,流程图.........................................................20七、总结.....................................................................21参考文献.....................................................................222一、引言本系统由单片机系统、键盘、LED显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。二、设计原理及思路2.1原理基于AT89S52单片机数显交通灯系统硬件原理,由于单片机需高稳定,高频率的实基脉冲,因此需要晶体振荡器。在晶体振荡器两端并联两个电容C1、C2,对振荡器频率有微调作用。如图1:AT89S52单片机电源电路复位电路晶振电路按键电路A道LED显示电路红黄绿灯显示电路B道LED显示电路红黄绿灯显示电路图1基于AT89S52单片机数显交通灯系统组成框图2.2方案设计与论证本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态,以提高效率,缓减交通拥挤。32.3电源提供方案为使模块稳定工作,须有可靠电源。本次设计考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择第二种方案。2.4显示界面方案该系统要求完成倒计时功能。基于上述原因,本次设计考虑了两种方案:方案一:完全采用点阵式LED显示。这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。方案二:完全采用数码管显示。这种方案优点是实现简单,可以完成倒计时功能。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。2.5.输入方案这里同样讨论了两种方案:方案一:采用8155扩展I/O口、键盘及显示等。该方案的优点是使用灵活可编程,并且有RAM及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。方案二:直接在I/O口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的端口资源还比较多,我们使用六个按键,分别是P16、P17、P27、P30、P32、P33,依次完成倒计时加1、倒计时减1、调完确认、调时方向切换、南北强行和东西强行等功能。由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。2.6设计满足的基本功能本系统由单片机系统、键盘、LED数码管显示、流水灯演示系统组成。最后,系统要求实现如下的交通灯的功能:1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,南北方向设有红绿黄灯和转向灯,东西方向只设有红绿黄灯,不设转向灯(如果有需要可以取消警报灯D6来设置)。时间可在初始化中设置修改。2)南北方向在绿灯转为转向灯时,要求黄灯先闪3s;在转向转为红灯时,要求黄灯先闪5s。东西方向在绿灯转为黄灯时,要求黄灯先闪5s。3)东西方向、南北方向每次灯亮的时间都用显示器进行显示(采用倒计时的方法)。44)复位按键S1,能在任何情况下返回初始设置5)发生紧急情况,如交通意外或道路施工,需要车辆禁止通行时,系统能通过K1按键指挥交通停止,南北和东西方向同时显示红灯,并鸣响警报、亮起警报灯,提示行人车辆。进入紧急模式并保留当时交通灯运行的情况,可以通过第二次按下K1恢复原来状态。6)深夜路上没有行车的路口,可以设置夜间模式,系统通过K2按键切换到黄灯不停闪烁的模式,数码管只显示0000,不进行倒计时。可以通过复位键进行返回。7)当交通一个方向上有车而另另一个方向上无车时,系统能通过K3立即让有车道放行。如果是东西通道无车而南北通道有车,按下K3能直接切换到南北绿灯;如果是南北通道无车而东西方向上有车,按下K3能直接切换到东西绿灯。根据设计功能及要求,我们可得系统的原理框图如图2所示。AT89S52时钟电路复位电路键盘接口8个LED四位一体数码管图2系统的原理框图2.7部分电路设计2.7.1显示部分电路设计该设计采用如下所示的数码管,分别显示东西和南北灯的剩余时间,左边两位为东西,右边两位为南北。该数码管为共阳接法(0脉冲有效),片选部分接单片机管脚的P2口和数码段显示部分接单片机管脚的P0口,具体的下见图3。图3单片机管脚P0口P2口5图4单片机部分管教图2.7.2复位部分电路设计复位引脚RESET通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式,该设计采用的是上电直接复位。其连接图如下图5所示:图5独立按键模块键盘是最常用的输入设备,本设计中键盘数目较少,且为安装方便,因此在本设计中采用独立式接法,由P3.2、P3.3、P3.4口控制。独立式实际上就是一组独立的按键,这些按键可直接与单片机的I/O口连接,即每个按键独占一条口线,这种接法简单。本设计采用P1口控制二极管的发光情况,口线送低电平有效。6三、系统硬件设计硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现交通灯基本功能以外,主要还要考虑如下几个因素:①系统稳定度;②器件的通用性或易选购性;③软件编程的易实现性;④系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。3.1总体设计本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、键盘及状态显示、倒计时模块等。单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机振荡电路、复位电路等组成。键盘及状态显示,开关键盘输入交通灯初始时间,通过单片机P1输入到系统。系统采用双数码管倒计时计数功能,最大显示数字99。按键功能介绍本设计中采用独立式接法,由P3.2、P3.3、P3.4口控制,如下表1所示。表1各按键控制功能当按下启动按钮K1并释放后,系统就进入紧急停止模式,东西和南北方向上都亮起红灯。表示发生紧急状况,两边道路都禁止通车。当按下启动按钮K2并释放后,系统就进入夜间模式,东西和南北方向上都为黄灯不停闪烁,能有效的节约能源,并依旧能起到提醒过往车辆和行人的效果。当按下启动按钮K3并释放后,系统就进入转换模式,当一个方向上有车而另另一个方向上无车时,系统能立即让有车道放行。如果是东西通道无车而南北通道有车,按下K3能直接切换到南北绿灯;如果是南北通道无车而东西方向上有车,按下K3能直接切换到东西绿灯。按键键名功能P3.2K1键紧急停止键P3.3K2键夜间模式键P3.4K3键转换模式键73.2单片机最小系统3.2.1振荡电路AT89S52是内部具有振荡电路的单片机,只需在18脚和19脚之间接上石英晶体,给单片机加工作所需直流电源,振荡器就开始振荡起来。振荡电路就为单片机工作提供了所需要的时钟脉冲信号,是单片机的内部电路、单片机的内部程序(若有)开始工作。振荡电路不工作,整个单片机电路都不能正常工作。AT89C51常外接6MHz、12MHz的石英晶体,18脚和19脚分别对地接了一个20pF的电容,目的是防止单片机自激。若从18脚输入外部时钟脉冲,则19脚接地。3.3显示及其驱动模块3.3.1键盘与状态显示功能键盘在本设计中用于紧急情况的手动控制装置,以及定时时间的设置等功能,起到了不可缺少的重要作用。当定时器定时为1秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时一直