系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、语音提示、LCD信息显示、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。
一 方案设计与论证:
1电源提供方案
为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案
方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。
综上所述,我们选择第二种方案。
2显示界面方案
该系统要求完成倒计时、信息提示等功能。基于上述原因,我们考虑了三种方案:
方案一:完全采用LCD显示。这种方案只显示有限的符号和数码字苻,无法胜任题目要求。
方案二:完全采用点阵式LCD显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。
方案三:采用LED与点阵LCD相结合的方法因为设计既要求倒计时数字输出,又要求有汉字信息提示及图形输出等,为方便观看并考虑到现实情况,用LED与LCD分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。
权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。
3输入方案:
题目要求系统能手动设灯亮时间、紧急情况处理,我们讨论了两种方案:
方案一:采用8155扩展I/O口及键盘,显示等。该方案的优点是:
使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。
方案二: 采用ZLG7289来控制键盘及数码管显示。由于7289是串行控制方式,有专用的命令字,控制起来简单,且占用较少口线。其电路图如图(1)。
由于该系统对于交通灯及LCD的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。
8155与单片机接口
4交通灯演示方案:
采用在面板上焊接三色发光二极管模拟交通红绿灯,以发光二极管拼出小人状(并闪烁)/箭头状作为人行提示/左右转提示,简单明了;且实现简单,清晰明了。
二.系统设计
1总体设计
⑴系统总框图如下:
⑵模块说明
※ 1键盘控制电路:2×8键盘,由单片机外接ZLG7289控制。
※ 2单片机最小系统:系统的主控制器,用以控制其他模块协调工作。
※ 3 LCD显示模块:用以显示提示信息,如天气、路况等,接口电路简单,由单片机控制。
※ 4 LED显示(倒计时)模块:由单片机外接ZLG7289控制,经排线与交通灯演示模块相连,用以显示交通灯倒计时时间。
※ 5 控制接口电路:用于连接单片机系统与交通灯演示模块,该电路含74ls139(二四译码器)、74ls373(数据锁存器),可使交通灯正常工作。
※ 6交通灯演示模块:演示系统的工作情况。该模块主要由发光二极管构成
※ 7语音提示模块:采用现成的2532-120单段录放板(可录音及重复播放),用以完成语音提示。
⑶交通灯各状态说明:
交通灯在通常工作条件中有五种状态:绿灯+人行道(S1);绿灯+右转(S2);黄灯(S3);红灯+左转(S4);红灯(S5)五种状态。
*状态说明:
(S1)绿灯+人行道:车辆前行;行人可通过人行道;
(S2)绿灯+右转:车辆可向前、向右行驶。
(S3)黄灯:过渡状态。
(S4)红灯+左转:车辆向左行驶;但不能前行。
(S5)红灯:禁止通行与转弯。
注:红黄绿等均为前行方向的信号指示灯,济南较大路口均为此种设计,只是左转、人行无红灯指示。
*状态图:
*真值表:(注:R、G、Y、L、Rt、M分别表示红灯、绿灯、黄灯、左转、右转、人行道灯)
点击看原图
本系统还设计了应急况处理;在紧急情况下,设置交通灯状态为:
保留: 北 西 东 南
※ 全红:东南西北所有方向禁止通行。
※ 南北红、东西绿:南北方向禁行;东西方向通行。
※ 东西红、南北绿:东西方向禁行;南北方向通行。
2各模块设计:
(1).单片机及键盘控制模块
单片机采用89C52,其中有8K程存可用。对交通灯的控制主要用其中的计数器定时来完成。一方面要完成对各模块的控制,另一方面也要协调好各模块的时序及口线冲突问题。
键盘采用7289串行控制,其电路图如图(1)所示。共采用8个按键:数字键0-9,时间设置键,回车键,紧急情况控制键,模式转换键,手动控制键及恢复键。时间设置可分别设计各方向的通行时间,其设置的时间应符合以下公式:
Tr1=Tg2+Ty2+Tl2+Tl1
Tg1=Tm1+Trt1
Tr2=Tg1+Ty1+Tl1+Tl2
Tg2=Tm2+Trt2
模式转换功能为根据交通状况切换到预先设定好的通行时间模式,或切换回原来模式。手动控制为手动控制各个方向的通行时间,具有灵活的特性。恢复键是从紧急状态或手动控制状态返回正常状态。
图(1)
(2).LCD和LED显示模块
LED用来实现倒计时功能,可直接从7289的接口上接过来。其控制较为简单。
LCD用来显示提示信息及在时间设置时的提示功能。其电路图如图(2)所示。
图(2)
(3).交通灯演示模块
交通灯用发光二极管代替,因为P2口过一段时间
图3
3 软件系统:
※ 流程图
如图所示
三.调试
根据方案设计的要求,调试过程共分三大部分:硬件调试、软件调试和软硬联调。
1硬件调试:
⑴ 交通灯演示电路的调试:交通灯模块由多个发光二极管组成,接线繁琐,极易出错。检查二极管无故障、导线无断线、连线接头无互相搭联后可先写一个软件调试程序,依次检查东南西北方向的指示灯(发光二极管)是否点亮;若未点亮,则可能是连线接错。根据灯的亮灭情况依次查找直到电路正常工作为止。
⑵ 倒计时电路调试:倒计时电路主要有数码管组成。当交通灯程序写好后,倒计时的显示可与最小系统板上两组数码管显示比较(系统板上的这两组数码管用以检查倒计时工作情况)。若倒计时电路中有数码管不亮,检查数码管是否良好、数码管连线是否良好。依次检查,直至倒计时电路正常工作。
⑶语音提示电路的调试:本系统采用现成的语音板。语音板上电后若不能工作,可将录音板首先复位,然后录音,再重放。依上操作,直到语音板正常工作。
⑷其它电路的调试主要看接口以及连线是否正确。依次检查,直到正常工作。
2 软件调试
本系统的软件系统很大,全部采用汇编语言编写,除语法与逻辑差错外,当确认程序没问题时,直接下载到单片机仿真调试。采取自下到上的方法,单独调好每一个模块,最后完成一个完整的系统调试。
3软硬联调
系统做好后,进行系统的完整调试。
(1).初始化后,两个方向通行时间完全相等。Tr1=Tr2=19s
Tg1=Tg2=12s,Ty1=Ty2=2s,Tl1=Tl2=5s,Trt1=Trt2=4s,Tm1=Tm2=8s
各灯运行及倒计时情况良好。
(2).按模式转换键后,按预先装入的模式2进行工作:
(3).按设置键后,进行时间设置:
完成后,会按重新设置的时间进行。
(4).按紧急预案键后,先出现全红状态,再按一下该键,又出现一方通行状态,再按,则另一方通行。如此循环。
按手动控制键后,进行手动控制,每按一次,灯会转到下一个状态。
按恢复键对上两者进行恢复到正常状态。
参考书目:
《单片机原理及接口技术》 李朝青 北京航空航天大学出版社
《电路设计与仿真》 清源机算计工作室 机械工业出版社
《电子系统设计与实践》 杨刚 周群 电子工业出版社
《电子系统设计》 何小艇 浙江大学出版社