ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:180.60KB ,
资源ID:5773013      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5773013.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计基于51单片机的交通灯设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计基于51单片机的交通灯设计.docx

1、课程设计基于51单片机的交通灯设计课程设计-基于51单片机的交通灯设计单片机原理及系统课程设计评语:考勤(10)守纪(10)过程(40)设计报告(30)答辩(10)总成绩(100)专 业: 电气工程及其动化 班 级: 电气1003 姓 名: 赵 斌 学 号: 201009202 指导教师: 闵永智 兰州交通大学自动化与电气工程学院2013 年 3 月 15 日基于51单片机的交通灯设计摘要随着人们社会活动的日益频繁,交通在人们的日常生活中的地位越来越高,而传统的交通灯存在很多缺陷,功能和维护上都不能满足城市交通道路高速发展的要求,因此对交通灯的研究是很有理论与实践的必要性的。本文主要介绍了一个

2、基于AT89C51单片机的交通灯信号控制系统,详细描述了利用AT89C51单片机实现的硬件连接、软件编程以及系统流程进行了详尽分析,对关键部分的电路也进行了介绍。该系统利用了单片机的延时电路、按键复位电路、时钟电路等电路,可以方便地实现十字路口交通灯控制器的设计。仿真结果表明,该系统除了可以显示交通灯各种状态,完成倒计时功能,还可以实时采集车流量相关数据,进行计算与智能化控制,与传统交通灯相比更具有实用性强、操作简单、扩展性强等优点,对于疏导交通流量、提高道路通行能力有明显效果。关键字:AT89C51 控制系统;实时采集;智能化控制AbstractAs peoples social activ

3、ities have become increasingly frequent, the position of traffic is higher and higher in peoples daily life, while the traditional traffic light has many defects, its maintenance can not meet the rapid development of city traffic demand, so the research of the traffic lights is necessary on a ration

4、al theory and practice.This paper introduces a traffic signal control system based on AT89C51 microcontroller which detailedly described the use of AT89C51s hardware connection, software programming and system flow, the circuit of key parts were also introduced in this paper. The system uses a delay

5、 circuit, SCM button reset circuit and clock circuit designed the crossroads traffic light controller easily.The simulation results show that, except that the system can show the various states of the traffic lights, complete the countdown function, it also can collect traffic data, calculation and

6、intelligent control. Compared with traditional traffic light it has more strong practicability, more simple operation, expansion and stronger advantages, it has obvious effect to ease traffic flow, to improve the traffic capacity of the road.Keywords: AT89C51 control system real-time intelligent con

7、trol1引言随着生活水平的逐渐提高,汽车进入家庭的步伐也加快了,城市汽车数量的增多,使得城市道路交通问题越来越重要。交通信号灯的出现,使得交通得以有效管制,一旦某个路口的交通灯出现故障,就可能会导致严重的交通事故。原来的交通灯信号控制大都采用继电器实现,存在很多缺陷,功能单一和维护量大使它远远不能满足目前的需求,因此对交通灯的研究是很有理论与实践的必要性的。本文介绍了基于AT89C51单片机的交通信号灯的工作原理和设计方法。该交通信号灯由单片机控制电路,显示电路和辅助电路构成,利用12MHz晶振提供时钟,可用按键调节当前车流量以控制下一个绿灯时长,并在LED上显示倒计时。提高了分析、设计电路

8、和软硬件开发的能力。2设计方案及原理2.1交通灯设计方案本文是采用了以AT89C51单片机为核心的控制方案。方案中通过遮光式的红外传感器来检测东西方向和南北方向的车流量大小,再经过一定的简单算法算出各方向上的红绿灯时间并在数码管显示器上显示倒计时,同时通过路口上的红绿灯的点亮与熄灭控制车辆的通行与停止。另外,方案中还设计一个紧急车辆通行按键,每当有紧急车辆需要通过时,操作员按下按键,东西方向和南北方向上均为红灯,并发出警报禁止普通车辆的通行,先让紧急车辆通过。东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注

9、意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。2.2交通灯设计原理框图图1 交通灯基本原理框图3硬件设计本系统利用AT89C51单片机作为系统的核心控制部件,利用其定时器/计数器作为红外传感器的接收端,通过高低电平的变化来统计通过检测区域的车流量,并根据车流量数值的大小,经过一系列科学的算法来控制下一个绿灯的时长,减少了不必要的等待时间,也为车流量大的时候顺利通行提供方便。待确定计时时长后,通过软件计时来控制接在P0端口的红绿灯的点亮与熄灭状态,并在8段共阴极数码管显示器(接在P1和P2端口)上显示倒计时。系统的电路图主要由电源电路、复位电路、车流量检测电路、红绿灯

10、显示电路、红绿灯时间倒计时电路以及紧急按键K1电路等电路组成。系统原理图如图2所示:图2 系统原理图3.1紧急开关电路本文中的交通灯与传统交通灯比较,其特点之一就是紧急车辆通过功能。当交通较为拥挤的时候,警车、救护车、消防车之类的紧急车辆很难顺利通行,而这很可能会造成某些重大生命财产的损失。本文所设计的交通灯为改善此类状况特地添加了紧急车辆通过功能。当有紧急车辆通过时,操作员可以闭合紧急开关K1,K1接在单片机的P3.1端口上,这样就产生了一个高电平。而单片机通过软件程序检测到P3.1口为高电平后,再通过软件调用一段子程序,使东西和南北方向都为红灯,并接通蜂鸣器警告普通车辆禁止通行并靠边让出道

11、路,先让紧急车辆通过。待紧急车辆通过后,打开紧急开关,交通控制系统会恢复中断前的现场。其电路原理图如图3所示:图3 紧急按键电路原理图3.2红绿灯显示电路交通灯最基本的功能是三种颜色灯的显示,每个路口均需红、黄、绿灯各一盏,东、西道上的两组同色灯蝉联在一起,南、北道的两组同色也彼此互联。这6盏灯分别接在单片机的P0.0-P0.5口,如图4所示。D1、D2、D3分别代表的是东西方向的绿、黄、红灯;N1、N2、N3分别代表的是南北方向的绿、黄、红灯。当东西方向为绿灯时,P0.0口输出低电平,绿灯D1点亮;对应地,P0.6口也输出低电平,南北方向的红灯N3点亮。当东西方向为红灯时,P0.2口输出低电

12、平,红灯D3点亮;对应地,P0.3口也输出低电平,南北方向的绿灯N1点亮。而当东西方向和南北方向均为黄灯时,黄灯会以2HZ的频率闪烁(通过软件来实现的),提醒车辆的驾驶员注意红绿灯的转换。红绿灯与单片机的接线图如图4所示:图4 红绿灯接线图3.3倒计时显示电路本文使用共阴极的7段数码管作为显示设备。数码管常用的显示方法有动态显示和静态显示两种,此处以静态显示的方法显示。各个路口上两个数码管,一个显示十位,一个显示个位。时间的倒计时是通过软件来实行的。倒计时显示电路连接图如图5:图5 显示电路3.4振荡电路AT89C51的XTAL1和XTAL2引脚分别为单极片内反相放大器的输入/输出端,其频率范

13、围为1.212MHz。XTAL2又是内部时钟发生器的输入端,这个内部反相器可与外部元件组成皮尔斯(Pierce)振荡器。可用石晶振荡和陶瓷振荡,当采用石英晶体振荡器时,C=(3010)pF;当采用陶瓷谐振振荡器时,C=(4010)pF1。振荡器电路如图6所示:图6 晶体振荡器电路3.5复位电路本文中的单片机采用了外接的复位电路,并且采用了一种上电复位和手动复位的组合。自动上电复位电路保证在上电开机时对89C51单片机进行正确的复位,手动复位可在上电复位基础上并接一个复位开关,这样既保证上电复位,又可手动复位。单片机复位后,内部特殊功能寄存器复位后的状态为确定值。复位后,PC=00H,这表明程序

14、从0000H地址单元开始执行。PSW=00H,表明选寄存器0组为工作寄存器组。P0至P3=FFH,表明已向各端口写入1。此时,各端口既可用于输入又可用于输出。IE=0*00000B,表明各个中断均被关断。复位电路图如图7所示:图7 复位电路3.6车流量检测电路本文用两个按键开关来模仿红外传感器检测车流量,K3为东西方向的红外传感器,K4为南北方向的红外传感器。其连接电路如图8所示:图8 车流量检测电路4软件设计4.1程序流程图本系统的程序就是用的c语言来编译的,下面是系统的主程序流程图:图9 程序流程图4.2程序设计程序见附录1。5系统仿真本系统的仿真实现主要用到了两个软件:Proteus和K

15、eil。其中Proteus主要用来画电路图和仿真;Keil主要用来编译调试,并把运行出来的*.C程序文件转化为*.HEX文件,以便于在Proteus仿真时将其导入单片机运行。如图9是交通灯控制系统的仿真电路,当单片机上电复位时,东西方向的绿灯点亮,初始时间为60s;相应的是南北方向的红灯点亮。需要注意的是:(1)软件Proteus中没有系统中所使用到的反射式红外光电传感器,所以在电路图中使用两个按钮开关BUTTON代替,来模仿车辆经过红外传感器检测区时产生的高低电平变化。(2)LED灯D1、D2、D3分别代表的是东西方向的绿、黄、红灯;N1、N2、N3分别代表的是南北方向的绿、黄、红灯。(3)

16、仿真中使用的数码管为7段码共阴数码管。图10 仿真结果6总结通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计C语言的掌握方面都能向前迈了一大步。本次课程设计的过程是艰辛的,不过收获却是很大的。本次课程设计用到了许多单片机上所学的知识,使书本上所学的知识得到了实际应用,同时也发现了很多自己的不足之处。经过多次查阅相关书籍和资料,一些自己不是很有把握的地方得到了补充,不仅完成了课程设计的任务,更增长了自己的知识面,填补了很多知识的空白之处,使我又有了新的长进,学到了新的知识。通过本次的课程设计,使我

17、学到了很多新的知识,经历了将理论转化为实践的过程,知道了如何让将所学的理论知识转化为生活中所常见的东西,所学知识得到了充分应用。大学的课堂是给我们学习专业知识的,而我们更应该把自己所学到的书面知识应用到生活中去。课程设计给了我们这样一个化理论为实践的机会,自己独立的完成这么一个任务,看起来很难,但当你深入到这个过程中去时,每一点点的成功都会让自己欣喜若狂,这是一个享受成功的过程,也是一个良好的学习机会。当然,也遇到了很多困难,让我认识到了很多不足,我会在以后的学习生活当中不断磨练自己、完善自己,为自己以后的职业生活储备更多的知识,做一个生活的强者。参考文献:1 韩克.柳秀山.冯明库.薛迎霄.电

18、子技能与EDA技术M,第1版,曁南大学,2004.12.2 江晓安.董秀峰.模拟电子技术M,第2版,西安电子科技大学出版社,2005.1.3 清华大学电子学教研组.余孟尝.数字电子技术基础简明教程M,第2版,高等教育出版社,2005.5.4 谭浩强.C程序设计M,第3版,清华大学出版社,2005.7.5 周润景.袁伟亭.景晓松.Proteus在MCS-51和ARM7A系统中的应用百例M,第1版,电子工业出版社,2006.10.6 王思明.张金敏.苟军年.张鑫.杨乔礼.单片机原理及应用系统设计M,第1版,科学出版社,2012.9.附录1#include #include#define uchar

19、 unsigned char#define uint unsigned intuchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar shi,ge;uint dx_cll,nb_cll,cll,i;sbit jinji=P31;sbit baojing=P30;void delay(uint z) /延时子程序4ms uint x,y; for(x=500;x0;x-) /循环500次 for(y=z;y0;y-);void display(uchar shi,uchar ge,uchar x) /数码管

20、显示子程序 P2=tablege; /显示个位 delay(x); /调用延时程序 P1=tableshi; /显示十位 delay(x); /调用延时程序void timer(uchar x,uchar y) /显示倒计时程序 shi=x/10; ge=x%10; display(shi,ge,y);uint suanfa(int m) /车流量算法 uint x,y,z; x=TL0|(TH18); y=TL1|(TH18); if(x=5&y=5) return(20); else if(5x&x60)|(5y&y=60&y=45) x=x-60; y=y-45; z=x-y; x=x+

21、60; y=y-45; if(x90) x=90; if(y90) y=90; if(m=0) return(x); else if(m=1) return(y); else return(20); void jishuqi() TMOD=0x55; /初始化定时器/计数器T0、T1为计数模式,工作于方式1,二进制计数 TH0=0x00; TL0=0x00; /TH0,TL0清零 TH1=0x00; TL1=0x00; /TH1,TL1清零 TR0=1; /启动T0计数 TR1=1; /启动T1计数 EA=1; /允许中断void int0() /紧急车辆通过程序 while(jinji=1)

22、 P0=0xdb; baojing=1; P2=table0; P1=table0; baojing=0;void main() P3=0x00; /P3口清零 dx_cll=60; /给东西方向绿灯时间赋初值60s TMOD=0x55; /初始化定时器/计数器T0、T1为计数模式,工作于方式1,二进制计数 while(1) jishuqi(); /计数器启动计数 for(;dx_cll3;dx_cll-) /东西方向绿灯倒计时,直至4s P0=0xde; /东西方向绿灯和南北方向红灯亮 timer(dx_cll,100); /延时0.5s while(jinji=1) /检测P3.1口是否为

23、高电平 int0(); for(i=3;i0;i-) /黄灯倒计时3s while(jinji=1); /检测P3.1口是否为高电平 int0() P0=0xed; timer(i,50); P0=0xff; timer(i,50); /黄灯闪烁点亮 TR0=0; TR1=0; /计数器停止计数 i=1; nb_cll=suanfa(i); /算出南北方向绿灯的时间 jishuqi(); /计数器启动计数 for(;nb_cll3;nb_cll-) /南北方向绿灯倒计时,直至4s P0=0xf3; /南北方向绿灯和南北方向红灯亮 timer(nb_cll,100); /延时0.5s while(jinji=1) /检测P3.1口是否为高电平 int0(); for(i=3;i0;i-) /黄灯倒计时3s while(jinji=1) /检测P3.1口是否为高电平 int0(); P0=0xed; timer(i,50); P0=0xff; timer(i,50); /黄灯闪烁点亮 TR0=0; TR1=0; /计数器停止计数 i=0; dx_cll=suanfa(i); /算出东西方向绿灯的时间

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1