1、2012 年 6 月 12 日一、课程设计目的1、基于 PROTEUS 的嵌入式智能交通灯控制系统的设计与仿真,系统能够根据 T 字路口双车道车流量的情况控制交通信号灯按特定的规律变化,同时对智能交通灯控制系统的设计进行了详细的分析。2、通过本课程设计使我们加深理解、巩固课堂教学和平时实验内容,从而初步具备系统分析、系统设计、系统实现与测试的实际能力,强化知识实践意识、提高动手能力,发挥想象力和创新能力,从而培养工程应用型人才。二、课程设计内容及要求1、课程内容:智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥。在城乡街道的 T 字交叉路口一般没有交通灯,只有 T 字的
2、路牌作为安全提示,但还是有很多交通事故频频发生,为了保证交通秩序和行人安全,我们设计一个 T 字型路口的交通灯,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行; 黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行; 绿灯亮,表示该条道路允许通行。交通灯控制电路自动控制 T字路口的红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现 T 字路口交通管理。2、系统设计要求:T 字路口红黄绿灯仿真系统基本功能实现:路口形状,车流量方向自定,转向方向的实现,采用定时和中断; 画出系统的原理图;写出相应程序代码。- 1 -三、课程设计原理:1
3、、 设计方案 T 字路口红黄绿灯仿真系统的实地路口图如下所示:设计说明:上图为一个 T 字路口的交通灯控制电路,要求 2、3 方向和 1 方向 3 个交叉路口的车辆交替运行,由于 2、3 方向的是主干道,所以车流量比较大,而 1 路口的方向是支干道,车流量比较小,所以在设定时间比例上要有一定的差别,车流量大,通行时间长,车流量小,通行时间短。还有就是就是在遇到交通事故的时候,要临时把某一个路口的灯调为红色,终止这条路的通行,将其车辆改道。 路口交通灯示意图如下:设计说明:因为是主干道和支路的交通灯,所以在设计上要注意主干道的灯亮时间和- 2 -秩序,同时还要考虑到主干道上的人行横道,所以考虑到
4、各方面的因素,设计思路如下:(1) 时间上的设定:经过实地的考察和统计,主干道上的车流量与支干道上的车流量比大约 10:1,所以我们设定主干道上左转的绿灯亮 60 秒,而支干道上的左转绿灯亮 6 秒,而主干道上的 2 向 3 的方向绿灯一直亮。在绿灯转为红灯时,在这之间有个黄灯作为过渡,需要 3 秒的过渡时间。(2)亮灯的同步性:见上图,3 路口 b 道绿灯一直亮,c 道绿灯亮,同时 1 路口的绿灯亮,2 路口的 a、b 道红灯亮,2 路口的可以向后调头。反过来就是 2 路口的 a、b 亮绿灯时,1 路口的亮红灯,3 路口的 C 道亮红灯,同时 3 路口的车可以向后方调头。(3)紧急事件设定:
5、把所有的都置为红灯亮,证明这条路有事故发生,请绕道而行。2、 交通灯的流程图开始路口 2 向路口 3 直行路口灯亮情况路口 3 直行绿灯持续时间持续 5 秒路口 3 的方向绿灯一直亮持续 6 秒路口 2 左转-路口 3 直行黄灯持续时间路口 2 左转到 1 路口绿灯持续时间持续 60S- 3 -3、交通灯的控制原理图说明:在上图中 LPC2142 芯片的 P1 口的段码输出直接至锁存器的输入端,锁存器采用74LS373,通过锁存器来控制数码管 LED 的显示时间,实现静态扫描。AVR ATmega128 芯片跟 80C51 芯片之间相互连接,实现相互间的中断控制和将延时时间传输给 LPC214
6、2 芯片。4、课程设计仪器、材料红色 LED 灯 5 个 绿色 LED 灯 5 个 黄色 LED 灯 5 个 74LS373 芯片 1 个 LPC2142 芯片 1 个5、参考程序:#include “config.h“/定义 LED 控制口(输出高电平时点亮 LED)#define LED1_CON (111) /*GPE11 口*/#define LED2_CON (112) /*GPE12 口*/#define LED3_CON (14) /*GPH4 口*/- 4 -/*Funtion name:DelayNS*Descriptions:长软件延时。延时时间与系统时钟有关。*Input
7、:dly 延时参数,值越大,延时越久*Output:无*/void DelayTime(uint32 time)int i,j;for(i=0;i500*time;i+)for(j=0;j1500;j+);void DelayFTime(uint32 time)/设计高频率的延迟。int i,j;for(i=0;i250*time;i+)for(j=0;j1500;j+);/*Function name:LED_DispAllOn*Descriptions:控制 LED1LED4 全部点亮。*Input:无*Output:无*/void LED1_On(void)rGPEDAT=rGPEDAT
8、|(0x0111); / led1 点亮void LED2_On(void)rGPEDAT=rGPEDAT|(0x0112); / led2 点亮- 5 -void LED3_On(void)rGPHDAT=rGPHDAT|(0x014); / led3 点亮/*Funtion name:LED_Off*Descriptions:控制 LED1LED4 全部熄灭。*Input:无*Output:无*/void LED_AllOff(void)rGPEDAT=rGPEDATrGPHDAT=rGPHDATvoid LED1_Off(void)rGPEDAT=rGPEDATvoid LED2_Off
9、(void)rGPEDAT=rGPEDATvoid LED3_Off(void)rGPHDAT=rGPHDATvoid LED4_Off(void)rGPHDAT=rGPHDAT/*- 6 -*Function name:main*Descriptions:初始化 I/O,然后控制 LED 显示。*Input:无*Output:系统返回值 0*/int main(void)int i;LED_AllOff();rGPECON=(rGPECON/rGPECON25:22=0101b,/设置 GPE11、GPE12 为 GPIO 输出模式rGPHCON=(rGPHCON/rGPHCON13:8=0
10、1xx01b,/设置 GPH4、GPIO6 为 GPIO 输出模式 while(1) /LED 显示控制LED4_On(); /把 LED4 点亮 (LED4 代表红灯)DelayTime(20); /延迟 20sLED4_Off(); /20s 后,关闭 LED4LED3_On(); /把 LED3 点亮 (LED3 代表 绿灯)DelayTime(5); /延迟 5s (绿灯亮 5s+5s=10s)for(i=0;i10;i+)/设置黄灯一闪一闪。(相当于黄灯亮,警告还有 5 秒红灯就亮了,0.5 秒闪一下)LED2_On(); DelayFTime(1);LED2_Off();LED_A
11、llOff();return 0;- 7 -6、设计结果及分析通过实地考察和数据统计,设计出了可以实施的交通灯方案,并且以上设计在理论上是可以行得通的,基本上可以解决该路口的交通安全问题。但是在系统的实现方面还存在一些问题,调试运行过程没有完全实现,还比如在夜间 23 点到凌晨的 6 点还没有设定出来,在这期间如何来安排路口灯亮的情况,是和白天的一样还是另设计方案,值得考的问题。七、设计总结及体会1、因为设计中所用的一些工具,平时虽然接触过,但研究不够深入,所以此次课程设计在选好题目之后对设计所需资料进行了系统查询和整理,其中包括了我们学习过程中用到的课本和网上搜索的期刊文献等;2、此次嵌入式
12、实验是比较全面的一个实验,所涉及的内容十分广泛,包括底层硬件结构以及上层操作系统、驱动程序等方面,在实验过程中虽然遇到了各种各样的问题,但解决问题的同时也锻炼了我们分析问题的能力以及动手能力,做完后感觉获益匪浅;3、回顾此次 ARM 课程设计,我感慨很多,在这几星期里,可以说苦多于甜,但是确实又学到了很多东西,不仅巩固了以前所学的知识,而且学到了很多书本上没有的新的知识。在设计调试的过程中遇到了各种各样的问题,同时也发现了自己的不足之处;4、在编译和调试的过程中,由进一步加强了自己编程和改错的能力,通过研究这方面的课题,可以更深刻地理解交通信号灯的整个过程,同时也加强了嵌入式学习的技巧。由于时
13、间的关系,只能做到这些功能,我知道想要实现功能更强大的交通信号灯,还有大量的工作要做,希望以后还可以进一步接触此类设计。参考书目- 8 -1周立功 等编著.ARM 微控制器基础与实战. 北京:北京航空航天大学出版社,2003.2曹东源,高爱坤,田小平.智能交通与城市交通缓堵.中国期刊网,2006,第 23 卷第四期3王田苗主编.嵌入式系统设计与实例开发. 北京:清华大学出版社,2002.4符意德主编.嵌入式系统设计原理及应用. 北京:清华大学出版社,2004.5王勇编著.嵌入式系统原理与设计. 杭州:浙江大学出版社,2007.6马忠梅.ARM 嵌入式处理器结构与应用. 北京:北京航空航天大学出版社,2002.