东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且 S1、S2、S3、S4各个状态保持的时间之有严格的对应关系,其公式如下所示。 T-S1+T-S2=T-S3 T-S2=T-S4 T-S1=T-S3 我们可以依据上述的标准来改变车辆的放行时间。按照一般的规则,一个十字路口可分 为主干道和次干道,主干道的放行时间大于次干道的放行时间,我们设定值时也应以此为参 考。 三、电路图及设计文件 1.灯控制电路设计 由于32个LED 来实现红绿灯状态,若直接接在单片机的口线,路口倒计时的显示就不 能实现,所以本次设计中采用一种新型的电路如图3-1 所示。 图中74LS04的作用是倒相和驱动,它输出的电流大约48mA,实际测试发现足以满足要 求,而且发光管也能达到足够的亮度。 观察图可以看出:两组发光管(一组红、一组绿)由于反相器的作用,其逻辑状态恰恰 相反。 图中和电阻串联的二极管的作用是为了分压,防止因上下两组发光管分压不同导致逻辑 的错误。 共四组和上述相同的电路分别代表东西南北四个方向的红绿灯,使用两片74LS04 作为 驱动。 2.倒计时显示电路设计 前面已经分析过相向的灯的状态和倒计时都是相同的,所以为了节省,采用两组四个数码管 作为倒计时的显示;同时为了节省口资源,采用串口显示的方式驱动数码管。见图3-2 所 示。 四、程序设计思路与流程图 1.主程序流程图 主程序中主要是一个死循环,不停的循环四个状态,如图4-1 所示。 2.按键子程序流程图 它包含倒计时调整和紧急状态两个状态。 主程序中放了一个按键的判断指令,当有按键按下的时候,程序就自动的跳转到按键子 程序处理。当检测到K2键按下的时候就自动返回到主程序。 当出现紧急的情况的时候,按下K3或者K4 就切换到紧急状态,当紧急事件处理完毕 的时候,按下K2,就可以返回正常状态。 五、测试、数据及结果分析 1.状态灯显示测试 当电路连接完毕后,将写好的测试程序刷写到芯片内,K1 和K2分别给端口送高电平和 低电平,通电即可检测。 2.数码管的测试 将串口的和电路板上的接口连接,将写好的测试程序刷写到芯片内,开电源即可测试。 3.整体电路测试 系统上电,刷写好程序即可开始测试,观测一个周期(共计S1~S4四个状态,默认140 秒)灯的显示状态是否正常,同时观察倒计的计数是否正常。 六、总结 由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大, 而且可以随时的更新系统,进行不同状态的组合。 但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅 速,红绿灯规则不效率还不是很高等等,这需要在实践中进一步完善。 参考文献 [1] 李朝青.单片机原理及接口技术(修订版).北京:北京航空航天大学出版社,1998 [2] 李广弟.单片机基础.北京:北京航空航天大学出版社,1992 [3] 何立民.单片机应用技术大全.北京:北京航空航天大学出版社, 1994 [4] 张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,1990 [5] 谭浩强.单片机课程设计. 北京:清华大学出版社,1989 Abstract This system is made up of single-chip microcomputer ,keyboard,lcd displaying module and Traffic lights system.The system includes pavement,left truning,right truning,and the basic traffic lights function.Excepting the basic traffic lights function,italso includes couting,time installing,emergency disposaling,speech cluing,lcd information displaying,adjusting the lighting time of lights based on different time and controlling with hand in accordance with circumstances and so on. 附录 系统总体电路图