智能交通灯控制系统的设计之欧阳总创编.docx
《智能交通灯控制系统的设计之欧阳总创编.docx》由会员分享,可在线阅读,更多相关《智能交通灯控制系统的设计之欧阳总创编.docx(11页珍藏版)》请在冰豆网上搜索。
![智能交通灯控制系统的设计之欧阳总创编.docx](https://file1.bdocx.com/fileroot1/2023-2/3/b13fdbcd-08ac-4c16-8944-2c167d1e5f16/b13fdbcd-08ac-4c16-8944-2c167d1e5f161.gif)
智能交通灯控制系统的设计之欧阳总创编
前言
时间:
2021.02.13
创作:
欧阳总
1.1概述
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制日新月益的更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
随着微控技术的日益完善和发展,单片机的应用在不断走向深入。
它的应用必定导致传统的控制技术从根本上发生变革。
也就是说单片机应用的出现是对传统控制技术的革命。
它在工业控制、数据采集、智能化仪表、机电一体化、家用电器等领路得到了广泛应用,极大的提高了这些领域的技术水平和自动化控制。
因此单片机的开发应用已成为高技术工程领域的一项重大课题。
因此了解单片机知识,掌握单片机的应用技术具有重大的意义。
1.2基于单片机的智能交通灯控制系统设计的意义
国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯。
加上一个倒计时的显示计时器来控制行车。
对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:
1.经常出现的情况是某一车道车辆较多,放行时间应该长一些,另一车道车辆较少,放行时间应该短些。
2.没有考虑紧急车通过时,两车道应采取的措施,例如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。
基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。
利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率。
1总体设方案
1.1智能交通灯的设计思路
根据智能交通灯的具有的功能,将它主要分为三部分,包括数码管显示剩余时间部分、交通灯显示部分和按键实现部分。
总体设计思路如图2-1所示。
1.1.1LED显示剩余时间
根据实际生活中使用的交通灯,在此次的智能交通灯的设计中也将具有显示时间的功能,使我们的设计与实际结合起来,在此部分LED灯将配合红黄绿灯的发光时间显示数据,对于每个数据将使用定时器来实现定时1秒,当1秒时间到达,LED上显示的时间自动减1,当时间减至为0,交通灯变换红黄绿灯。
1.1.2交通灯
此部分将与LED灯紧密联系起来,当数码管显示数字减至为0时,变换发光的灯,不为0,将保持原有状态。
1.1.3紧急状态的设计
在现实生活中随时有突发情况的发生,为了保证交通的正常通行,特地设计了应对紧急状况的特殊情况。
在出现紧急状况时,可以通过人为操作进入特殊情况。
在此包含了4种特殊情况,包括加长东西南北方向的通行时间,四个方向均禁行,东西方向保持通行南北方向禁行,南北方向保持通行东西方向禁行。
当特殊情况结束时,人为操作进入正常状态。
2单元模块设计
2.1硬件设计
2.1.1AT89C51介绍
芯片AT89C51的外形结构和引脚图如图3-1所示。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM-FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MC-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图2AT89C51引脚图
2.1.2芯片74LS273介绍
74LS273是8位数据/地址锁存器,如图3-2所示,它是一种带清除功能的8D触发器,下面介绍一下它的管脚图功能资料。
1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出0,即全部复位。
当1脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、8、13、14、17、18的电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上。
图374LS273引脚图
2.1.3多位数码管
图4多位数码管
LED显示器由七段发光二极管组成,排列成8字形状,因此也称为七段LED显示器。
为了显示数字或符号,要为LED显示器提供代码,即字形代码。
其段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。
智能交通灯用到的数字0—9的共阳极字形代码如表3-1:
表1驱动代码表
显示数值
驱动代码(16进制)
0
1
2
3
4
5
6
7
8
9
C0H
F9H
A4H
B0H
99H
92H
82H
F8H
80H
90H
2.1.4时钟电路设计
图5时钟电路
MCS-51单片机芯片内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
当使用内部振荡电路时,XTAL1和XTAL2引脚外接石英晶体和微调电容,如图所示,图中C2、C3大小一般为30pF。
还加了复位/备用电源引脚的接线方法,任何单片机在工作之前都要进行复位,以便CPU以及其他功能部件都处于一个确定的初始化状态,并从这个状态开始工作,也就是程序开始执行之前,单片机做好准备工作。
如何进行复位呢?
只能在单片机的RST引脚上保持两个机器周期(24个时钟周期)的高电平即可对单片机实现复位操作。
当主电源VCC发生掉电或者是电压降低到电平规定值时,VPD上外接的备用电源自动启用,为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使系统在恢复上电后能正常运行。
2.1.5复位电路设计
图6复位电路
AT89C51的复位是由外部的复位电路实现的。
复位电路通常采用上电复位和按钮复位两种方式。
在此次设计中,我使用了上电复位方式。
上电复位是通过外部复位电路的电容充电来实现的。
2.1.6交通灯硬件线路图
结合各部分设计电路,得到交通灯硬件线路如图3-6所示。
图7硬件线路图
2.2程序设计
2.2.1LED显示程序
设计思路如图4-1所示。
图8LED显示流程图
2.2.2交通灯程序
在这部分我设置南北方向通行,东西方向禁行为初始状态,持续时间为60S。
最后5S黄灯闪烁,然后南北方向禁行,东西方向通行,持续时间仍为60S,最后5S黄灯闪烁,回到初始状态。
如此循环,程序流程图如图4-2所示。
图9交通灯程序流程图
2.2.3紧急情况程序
当需要应对特殊情况时,在人为控制下,程序由中断入口地址切换到中断程序,根据实际情况的不同切换到不同的中断子程序,当紧急情况处理完,由人为控制返回原程序。
程序流程图如图4-3所示。
图10紧急情况程序流程图
4软件仿真
4.1KeilC51单片机软件开发系统
采用KEIL开发的89C51单片机应用程序步骤:
(1)在uVision集成开发环境中创建新项目(Project),扩展文件名.UV2并为该项目选定合适的单片机CPU器件(本设计采用ATMEL公司下的AT89C51)。
(2)用uVision的文本编辑器编写源文件,可以是汇编文件(.ASM),也可以使C语言文件(扩展名.C),并将该文件添加到项目中去。
一个项目文件可以包括多个文件,除了源程序文件外,还可以是库文件、头文件或文本说明文件。
(3)通过uVision2的相关选择项,配置编译环境、连接定位器以及Debug调试器的功能。
(4)对项目中的源文件进行编译连接,生成绝对目标代码和可选的HEX文件,如果出现编译连接错误则返回到第2步,修改源文件中的错误后重构整个项目。
(5)对没有语法错误的程序进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的ROM中。
4.2PROTEUS的操作
4.2.1硬件电路图的接法操作
(1)防止选择(删除)元器件
(2)移动元器件
(3)缩放视图
(4)连接导线
(5)仿真、调试
4.2.2单片机系统PROTEUS设计与仿真过程
Proteus设计过程一般也可分为三步:
(1)在ISIS平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等。
简称Proteus电路设计。
(2)在Keil平台上进行单片机系统程序设计、编译、汇编编译、代码级调试,最后生成目标代码文件(*.hex)。
简称Proteus源程序设计和生成目标代码文件。
(3)在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。
它在相当程度上反映了实际单片机系统的运行情况。
简称Proteus仿真。
4.3仿真结果
将在Keil平台上生成目标代码文件(*.hex)加载到单片机系统中,点击运行按钮,运行结果显示如图5-1所示。
图11硬件仿真图
开始运行后,南北方向通行,东西方向禁行,同时数码管从60显示,每隔一秒数码管减一,当减到5时,四路的黄灯开始闪烁,数码管同时从5开始减一,减到0时,南北方向禁行,东西方向通行,同时数码管从60显示,每隔一秒数码管减一,当减到5时,四路的黄灯开始闪烁,数码管同时从5开始减一,减到0时,返回初始状态,再没有外部中断的情况下如此循环下去。
图12四个方向禁行硬件仿真图
K1为外部中断按钮,当按下K1时,数码管不再显示数,黄灯闪烁五秒后,四路灯都为红色。
当按下复位开关后,返回到初始状态。
图13南北通行东西禁行硬件仿真图
K2为外部中断按钮,当按下K2时,数码管不再显示数,黄灯闪烁五秒后,南北方向保持通行,东西方向保持禁行。
当按下复位开关后,返回到初始状态。
图14南北禁行东西通行硬件仿真图
K3为外部中断按钮,当按下K3时,数码管不再显示数,黄灯闪烁五秒后南北方向保持禁行,东西方向保持通行。
当按下复位开关后,返回到初始状态。
图15延长四个方向通行时间的硬件仿真图
K4为外部中断按钮,当按下K4时,南北东西方向的通行时间均延长至120S。
当按下复位开关后,返回到初始状态。
5设计总结
通过一周的课设,我受益匪浅。
回顾起此次课程设计,至今我仍感慨颇多,我学到很多很多的东西,同时巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,比如编程问题,硬件的连接,怎样去调试,怎么去测试芯片能否正常工作,怎样是程序编的简洁易懂,且包含了所需的功能。
可以把书本上的知识得以运用,锻炼了全面思考问题的能力和实践能力,我想这对我以后的学习和工作会有很大的帮助。
这次完成了对单片机的整体设计,更加了解到单片机的各项功能和需要注意的问题,加深了对单片机的了解。
当然,,在设计中遇到了很多程序问题,查阅了好多资料,请教了同学,终于得以解决。
正所谓三人行,则必有我师,我学得到很多实用的知识,同时,我也知道在大学里,好多的知识都是靠自己学习,领悟,并融会贯通。
一些问题需要我们认真思考,注意细节,多与同学交流,分析问题,大家互相学习,共同提高。
最后,谢谢老师的指导。
6参考文献
[1]彭为等.单片机典型系统设计实例精讲[M].北京:
电子工业出版社,2006
[2]张毅刚等.单片机原理与应用设计[M].北京:
电子工业出版社,2008
[3]王义军.单片机原理及应用习题与实验指导书[M].北京:
中国电力出版社,2006
[4]刘乐善.微型计算机接口技术及应用[M].武汉:
华中科技大学出版社,2000
[5]陈明荧.8051单片机课程设计实训教材[M].北京:
清华大学出版社,2004
[6]杨莉.基于单片机控制的步进电机转速控制系统[J].南昌工程学院学报,2005
附录
时间:
2021.02.13
创作:
欧阳总