毕业设计具有车流量检测功能的智能交通灯设计.doc

上传人:仙人指路1688 文档编号:3853224 上传时间:2023-03-25 格式:DOC 页数:29 大小:1.35MB
返回 下载 相关 举报
毕业设计具有车流量检测功能的智能交通灯设计.doc_第1页
第1页 / 共29页
毕业设计具有车流量检测功能的智能交通灯设计.doc_第2页
第2页 / 共29页
毕业设计具有车流量检测功能的智能交通灯设计.doc_第3页
第3页 / 共29页
毕业设计具有车流量检测功能的智能交通灯设计.doc_第4页
第4页 / 共29页
毕业设计具有车流量检测功能的智能交通灯设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《毕业设计具有车流量检测功能的智能交通灯设计.doc》由会员分享,可在线阅读,更多相关《毕业设计具有车流量检测功能的智能交通灯设计.doc(29页珍藏版)》请在三一办公上搜索。

1、目录摘要1英文摘要11 引言11.1 设计背景21.2 研究现状21.3 研究内容及可行性分析31.3.1 研究内容31.3.2 可行性分析32 系统硬件设计42.1 键盘手动设置电路42.2 单片机电路62.2.1 单片机简介62.2.2 单片机电路62.3 信号灯显示电路72.4 数码显示倒计时电路72.5 车流量检测电路93 系统的软件设计103.1 1秒的方法103.2 人工强制程序设计103.3 车辆检测程序设计114 智能交通灯的硬件制作114.1 智能交通灯仿真114.2 智能交通灯的印刷板制作125 智能交通灯的调试135.1 调试准备135.2 调试135.3 调试结果136

2、 结束语146.1 总结146.2 展望15参考文献16附录17具有车流量检测功能的智能交通灯设计摘要:如今十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么如何实现车辆和行人通行的井然有序,它靠的就是交通信号灯的指挥系统。本系统采用MCS-51系列单片机AT89S51芯片为核心,实现红绿灯的切换,红绿灯的倒计时时间的显示,主要通过键盘手动设置红绿灯时间的调整以及东西和南北两个方向的红绿灯的强制切换,还能通过红外发射与接收对车流量进行检测,利用单片机将检测到的流量进行处理,根据处理结果控制红绿灯燃亮时间的调整,最后将所得数据由数码管显示倒计时。该智能交通灯的设计具有人性化、智能化,

3、创新化等众多优点,因此该智能交通灯控制器的设计具有一定的实用性。关键词:单片机 ;交通灯;红绿灯切换;倒计时;键盘设置The Design of Intelligent Traffic Lights Based on Traffic Flow CHEN Xiao-Ping Instructor:WANG Yu (Engineer)(Vocational and Technical Education, Zhejiang Normal University)Abstract: Today, vehicles are very busy in crossroads, pedestrians bus

4、tling , motors drive and one pedestrian are orderly. So how to achieve the passage of vehicles and pedestrians are orderly, It is the traffic lights by the chain of command.This system uses the MCS-51 series microcontroller AT89S51 chip as the core, It can achieve the traffic lights switch, Countdow

5、n time display of traffic lights, Primarily through the keyboard to adjust the time manually set the traffic lights and things, and northern and southern lights mandatory switch, also through infrared emission and reception of traffic detection, Mcs will be detected by flow processing, Under the con

6、trol of traffic lights brighten the results of time to adjust, Finally, the data from the digital display countdown. The design of intelligent traffic lights has many advantages, such as human, intelligent and innovation. So the design of intelligent traffic lights has practical.Key Words: Mcs; Traf

7、fic Lights; Traffic Light Switch; Countdown; Keyboard setting1 引言 当今,红绿灯安装在各个十字路口上,已经成为疏导交通车辆以及行人通行的最常见也是最有效的手段。交通灯系统的出现,使得交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。智能的交通信号灯指挥着行人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化,人性化、有效化的重要课题.在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行; 黄灯亮,表示该条道

8、路上未过停车线的车辆停止通行,已过停车线的车辆继续通行; 绿灯亮,表示该条道路允许通行.交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人的安全通行,实现十字路口城乡交通管理自动化、人性化以及有效化.本文为了实现交通道路的管理,力求交通管理先进性、科学化. 分析应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力,且能检测东西和南北两个方向的实时车流量数据。1.1 设计背景随着我国经济的高速发展, 人们对各种交通车辆的需求越来越大, 城市的交通拥挤问题日趋严重, 许多大城市出

9、现了道路交通超负荷运行的状况,城市交通堵塞滞后与现代快节奏生活的矛盾日益凸现,因此提高城市路网的通行能力、实现道路交通的科学化管理迫在眉睫。目前, 大部分城市的十字路口交通控制灯, 通常的做法是: 事先经过车辆流量的调查, 用模拟信号定时控制,运用统计的方法将两个方向红绿灯的延时预先设置好,但这样的控制已逐渐不能适应日益繁忙的交通。然而, 实际上车辆流量的变化往往是不确定的, 有的路口在不同的时段甚至可能产生很大的差异。即使是经过长期运行、较适用的方案, 仍然会发生这样的现象: 绿灯方向几乎没有什么车辆, 而红灯方向却排着长队等候通过。这种流量变化的偶然性是无法建立准确模型的, 统计的方法已不

10、能适应迅猛发展的交通现状, 更为现实的需要是能有一种能够根据实际车流流量变化情况自适应控制的智能交通灯交通灯控制系统。与模拟信号定时控制的普通交通灯相比,智能交通灯具有人性化、智能化,创新化等众多优点,因此智能交通灯的研究已成为世界各国的研究热点之一。智能交通信号灯指挥着人和各种车辆的安全运行,实现对红、黄、绿灯的正常自动指挥和在紧急情况下能够手动强制控制切换信号灯让特殊车辆优先通行和手动强制延长车流量繁忙方向的绿灯倒计时时间,以及根据车流量的大小自动控制是城乡交通管理现代化的重要课题。1.2 研究现状目前设计交通灯的方案有很多,有应用CPLD设计实现交通信号灯控制器方法;有应用PLC实现对交

11、通灯控制系统的设计;利用可编程控制器实现交通灯的设计;有应用单片机实现对交通信号灯设计的方法;有利用模糊控制系统实现交通灯系统的设计。在我们生活当中,交通灯的运用很广泛,主要的功能是点亮东西南北方向的红绿灯和显示东西南北方向的红绿灯倒计时,此类交通灯工作简单,但是功能过于单调,调节电路都无法实现。通过目前交通灯的特点,本次设计对交通灯功能进行进一步地改进,现所需设计的交通灯电路主要分为单片机电路、键盘手动设置电路、车流量自动检测电路、信号灯显示电路、数码管显示倒计时电路四个模块。键盘手动设置电路主要用来切换东西南北的红绿灯,增加红绿灯时间。信号灯显示电路用于显示东西南北方向红绿灯的燃亮情况。码

12、管显示电路用于显示红绿灯倒计时即红灯或绿灯剩余时间。车流量自动检测电路主要用于车流量的检测并根据车流量来自动切换红黄绿灯的燃亮情况以及自动改变红绿灯倒计时时间。整个系统主要由红绿灯显示功能、时间倒计时显示功能两个模块组成,给电路上电,通过给单片机说写的程序,分别显示红绿灯燃亮情况以及红绿灯时间倒计时显示。1.3 研究内容及可行性分析1.3.1 研究内容 研究内容:本系统设计的智能交通灯控制器主要以MCS-51系列的AT89S51为核心。该交通灯的设计除了可以通过人工强制实现红、黄、绿灯燃亮时间的功能外,还可以实现根据实际车流量设置红、黄、绿灯燃亮时间以及设置红绿灯倒计时时间显示的功能。本课题的

13、主要设计要求是:1、可以通过人工强制实现红、绿灯燃亮时间的功能;2、通过红外发射和接收模块实现对车流量的检测;3、利用单片机实现对流量的数据接收和处理;4、通过对流量的处理,实现红、绿灯燃亮时间的调整;5、有红、绿灯燃亮时间显示功能。1.3.2 可行性分析 本系统由单片机电路、车流量检测电路、信号灯显示电路、数码管显示倒计时电路、按键手动设置电路(紧急转换电路和手动延长红绿灯倒计时时间电路)四部分组成。该设计能自动控红、黄、绿灯的转化,采用 AT89S51 单片机作为控制器, 通行倒记时显示采用 L E D 共阴数码管, 通行指示灯采用发光二极管, L E D 显示采用动态扫描, 以节省端口数

14、。特殊紧急车辆通行和手动延长红绿灯倒计时时间电路采用按键完成, 车流量大小采用红外发射与接收电路完成。按以上系统构架设计, 单片机端口刚好满足要求。该系统具有电路简单, 设计方便, 耗电较少,可靠性高等特点。电路灵活方面:使用单片机作为控制电路,若需改动延时时间等只要单片机改动程序即可,当要改动某项功能时就得把电路重新设计。经济方面:本次作品没有利用到很贵重的材料,元件的损耗也不大。元器件选择方面:本电路中的元器件都是非常普通的在学校中都有提供不用再去市场上购买,比较方便也省去一部分的时间。实用性上本设计能实现人工强制红绿灯切换以及手动延长绿灯时间的功能。2 系统硬件设计本系统是由单片机电路构

15、成主控电路部分,通过编写软件辅助实现,通过按键手动控制各个方向信号灯的状态以及数码管绿灯倒计时的显示时间的手动调整,并设计车流量检测电路使该系统能根据东西和南北方向的车流量数据而进行自动调整红黄绿灯的燃亮秩序以及燃亮时间,该其系统总原理框图如图2-1所示。系统由单片机电路、键盘手动设置模块(紧急转换电路和手动延长红绿灯倒计时时间电路)、信号灯显示模块、数码管显示倒计时模块,车流量检测电路五个模块组成。单片机车流量检测模块键盘手动设置模块信号灯显示模块数码管显示倒计时模块图2-1 系统总原理框图本设计能实现手动控制和自动控制的功能,手动控制时,通过键盘手动强制控制红绿灯切换以及能手动调整红绿灯燃

16、亮时间。自动控制时,该设计采用红外发射与接收模块对东西和南北方向的车流量进行检测,并将接收到的车流量数据送入单片机计数,再利用单片机编程控制红绿灯燃亮时间的调整,最后将所得数据由数码管显示倒计时。2.1 键盘手动设置电路本模块包括紧急转换电路和手动延长红绿灯倒计时时间电路两部分组成,主要采用键盘手动设置红绿灯的切换以及手动延长绿灯时间的显示。该电路主要利用4个按键完成。本次设计采用独立式查询方式,独立式按键电路配置灵活,软件结构简单。其原理图如图2-3所示。S2和S3按键是紧急转换按钮。当有紧急车通过时,应设计紧急通行开关。即如果南北方向有特殊车辆要求通过, 南北方向转换为绿灯,东西方向为红灯

17、; S4和S5是手动延长红绿灯倒计时按键,当得知东西与南北方向的车流量数据时,根据肉眼判断哪一方向多车就相应的延长该方向的绿灯倒计时时间。紧急车请求通过的信号以及延长相应绿灯时间的信号都有由键盘来控制实现。单片机P2口的4个I/O相应的接出4个按键,利用单片机I/O口的电平高低来判断是否有键按下 ,常开按键的一端接地,另一端接一个接I/O 口。平时无键按下时即无紧急车通过时,I/O口保持高电平,当有键按下时即有紧急车通过时,相应的I/O口与地短路迫使其为低电平。图2-2 键盘设置电路原理图图中独立式键盘的实现方法是利用单片机I/O口的电平高低来判断是否有键按下。程序开始时首先要对键盘初始化,也

18、就是置键盘I/O为高电平,由于MCS-51复位时各口自动为高电平,所以这个步骤也可不要。以后程序就是对有按键的I/O口逐个循环查询,判断I/O口的电平变化状态就可以判断是否有按键动作,而键值就是相应的端口地址。接下来只要跳到对应的键处理子程序的入口地址即可。键盘的功能是:按下S2切换东西通道的红绿灯,即当前是红灯时间,按下S2红灯马上转换成绿灯,按下S3切换南北通道的红绿灯,即当前是红灯时间,按下S3红灯马上转换成绿灯,S4和S5的功能差不多,按下按键分别增加东西通道和南北通道红绿灯倒计时时间。2.2 单片机电路2.2.1 单片机简介采用40引脚双列直插式(DIP)形式,内部由CPU,4Kb的

19、ROM,256B的RAM,2个16b的定时/计数器T0和T1,4个8b的I/O端,由P0、P1、P2、P3口构成双全功能的通信口。特别是该单片机内的Flash可编程、可擦除只读存储器(EPROM),使其在实际中有着十分广泛的用途,另外具有易携带、省电、灌电流小等特点。因此,在本次设计中运用单片机AT89S51。2.2.2 单片机电路通过单片机XTAL1和XTAL2口引入外部脉冲信号,在复位端RESET接一个复位电路,使单片机处于复位工作状态,由8051单片机的定时器每秒钟通过P1口显示红、绿、黄灯的燃亮情况,其单片机电路原理图如图2-3所示。 图2-3 单片机电路原理图在上述电路中,主要由一个

20、时钟电路跟复位电路组成。时钟电路通过接一个晶振和两个微调电容构成一个稳定的自激振荡器,一般微调电容取30pf左右,晶体振荡频率范围为1.2MHz-12MHz,在本次设计中,微调电容取30pf,晶振取6MHz。复位电路是对单片机的初始化,复位后,PC初始化,使单片机从0000H单元开始执行程序。所以单片机除了正常的初始化外,一旦程序出错或由于操作错误而使系统处于死循环时,也需按复位键进行。复位的方式主要分为自动复位和按键手动复位,上电复位操作要求接通电源后自动实现复位操作,上电瞬间RESET获得高电平,随着电容C的充电过程的继续,RESET引脚上的电压随之下降,只要高电平维持足够的时间,单片机即

21、可完成复位操作。手动复位要求在接通电源后,在单片机运行期间,用按键操作使单片机完成复位操作。按键S1完成电平复位,按下S1通过使RESET端经电阻与Vcc电源接通而实现。VCC上电时,C充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下S1,C放电。S1松手,C又充电,在10K电阻上出现电压,使得单片机复位。几个毫秒后,单片机进入工作状态。整个电路的工作由单片机的P2口输入信号通过单片机在P1口点亮各个灯,在单片机的串行发送口TXD,把信号送到74LS164解码,并在数码管上显示红绿灯倒计时。2.3 信号

22、灯显示电路交通灯电路主要由三组不同颜色的发光二极管构成,即红、绿、黄。该电路通过在单片机端低电平有效,因此在发光二极管正极接需接一个限流电阻接到电源。发光二极管可采用共阳极接法,单片机输出端口为低电平,对应的二极管发光。利用单片机内部的I/O口上的P1口中的6个引脚即通过单片机内部编程来控制实现6个信号灯的有序燃亮。其原理图信号灯显示电路如图2-4所示。图2-4 信号灯显示电路在上图中,rb为东西方向的红灯,yb为东西方向的黄灯,gb为东西方向绿灯,ra为南北方向的红灯,ya为南北方向的黄灯,ga为南北方向的绿灯,分别用红、黄、绿发光二极管代替红黄绿灯,节约作品制作的成本,在发光二极管后面加的

23、电阻起限流作用。在原理图中采用发光二极管低电平有效,若单片机给出低电平信号灯亮,因此在程序中设置每个发光二极管所对应的口为高电平。2.4 数码显示倒计时电路该电路使用8段数码管显示,价格低廉且应用广泛。本课题采用四个数码管用于显示红绿灯倒计时,其中两个数码管用于显示东西方向红绿灯倒计时的时间,另外两个数码管用于显示南北方向红绿灯的倒计时时间。其原理图数码管显示倒计时电路如图2-5所示。图2-5 数码显示倒计时电路数码显示倒计时电路主要采用静态扫描显示方式,静态显示方式就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,直到显示另外一个字符为止。静态显示方式要求每个笔划段都要占用一条

24、具有锁存功能的输出线。该电路的各位可以独立显示,只要在该位的段选线上保持段选码电平,就能保持相应的显示字符。本设计就是利用74LS164来驱动数码管显示倒计时。从图中可以看出,利用串行扩展并行口来实现静态显示仅用了MCS-51 RXD和TXD两个输出口,大大节约了单片机的可用资源,其显示子程序编程也较简单。MCS-51单片机串行口方式0为移位寄存器方式,外接4片74LS164作为数码管的静态显示接口,把8051的RXD作为数据输出线,TXD作为移位时钟脉冲。74LS164为TTL单向8位移位寄存器,可实现串行输入,并行输出。其中A、B(第1、2脚)为串行数据输入端,可连接到串行口的RXD端;T

25、(第8脚)为时钟输入端,可连接到串行口的TXD端。每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。Q1Q8(第3-6和10-13引脚)并行输出端分别接数码管的hga各段对应的引脚上。在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,然后再来一个脉冲,第一个脉冲就会从最高位移出,4片7LS164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了第一片74LS164,这样,当

26、第四个8个脉冲完成后,首次送出的数据被送到了最左面的74LS164中,其他数据依次出现在第一、二、三、四片74LS164中。2.5 车流量检测电路如今如何测量车流量的电路有很多,有磁感应车辆检测,无线车辆检测、红外线车辆检测等。磁感应车辆检测器是利用流过线圈环形线圈的电流产生磁场,车辆在上面经过时金属部件干扰磁场,有检测器的电子装置测量出变化。可以通过多组环形线圈检测器的输出信号就可以确定道路的车流量等参数。这种方法虽技术成熟、性能稳定且测量精度良好,但是线圈安装和维护时必须直接买入车道从而使交通暂时受到阻碍,由于感应线圈自身的检测原理受限,当车辆拥堵时,车间距小于三米时,其测量精度下降有时无

27、法检测。作为一个毕业设计而不是成品我觉得利用红外发射与接收模块即可完成车流量的检测。虽然红外发射与接收模块只能检测单车道的车辆,但是作为毕业设计作品能基本实现,且成本低廉,实验室基本能提供,且安装方便,调试也方便。故综合其可利用性,方便性,我选择了利用红外发射与接收模块来实现交通灯控制系统的车流量检测。其硬件电路设计车流量检测硬件电路原理图如图2-6所示。图2-6 车流量检测硬件电路原理图本设计利用红外线传感器来实现,它是利用被检测物对光束的遮挡或反射,通过红外发射接收电路检测物体有无。红外发射将电脉冲信号转换为光信号送出 ,接收模块则将接受到的光信号转换为电信号。接收到的信号由于衰减、干扰,

28、因此信号必须通过放大整形电路进行预处理,最后输入单片机计数。接通电源,发射管能发射出红外线,接收管在没有遮挡的情况下即没有车辆时,接收管可以接收发射器发出的信号,接收电路中产生低电平;接收管在受到遮挡的情况下即有车辆时,接收管收不到发射器发出的信号,接收电路中产生高电平,车流量检测电路就是利用每个接收电路输出的高低电平(开关信号)判断经过的车辆的数量,利用单片机的中断口实时监控车辆数,每响应一次中断,车辆数加一,并把处理好的车流量数据送到定时器进行计数。根据东西和南北方向的车辆数据的关系相应的延长某一路的绿灯倒计时时间。红外线被遮挡一次,默认通过一辆车。通过检测东西和南北方向的车流量数据,根据

29、两个方向的实时车流量以及它们的比值,再通过一定算法决定红绿灯的倒计时时间的调整以及红绿灯的燃亮秩序的调整。3 系统的软件设计整个系统的软件采用C语言进行编程,C语言具有编程灵活,可移植性好的优点。软件是本系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。3.1 1秒的方法本设计采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒。这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。3.2 人工强制程序设计

30、软件部分主要在程序内部设置红绿灯时间,通过S4,S5可以增加信号灯点燃的时间,按下S2,S3可以切换东西南北的红绿灯,其人工强制控制流程框图如图3-1所示。图3-1 人工强制控制流程框图3.3 车辆检测程序设计软件部分主要是根据外部中断0来判断东西南北方向的车辆运行情况,然后通过内部定时器0计数,其车辆检测控制框图如图3-2所示。图3-2 车辆检测控制流程框图4 智能交通灯的硬件制作4.1 智能交通灯仿真首先在PROTEUS中绘制好自己设设计好的硬件电路,待绘制完电路图后用PROTEUS软件进行仿真,以此证明智能交通灯系统运行正常,然后根据仿真电路图制作实际印刷板电路。根据仿真电路图制作交通灯

31、主电路硬件时要注意的有下面几点:1、用PROTEUS仿真的电路图可以不加复位电路,不用外接晶振,只需要在为单片机添加程序文件时输入晶振频率就可以了。但在制作硬件时必须焊接上复位电路和外接晶振电路。2、用PROTEUS仿真的电路图单片机的EA()脚可以不用接高电平仿真就能正确运行,但制作硬件时我们必须串接一个电阻然后将EA()端连接到高电平,CPU才能则执行内部程序存储器中的指令。3、实物发光二极管灯与数码管的亮度和仿真电路有些区别,制作硬件时要通过与之串联的电阻来调节亮度。注意了上述问题后制作的硬件电路运行稳定,通过成功调试后,再调出来的仿真电路即交通灯系统仿真运行情况图如图4-1所示。图4-

32、1 交通灯系统仿真运行情况图4.2 智能交通灯的印刷板制作Protel 99 SE 是 Protel 公司于2000年推出的设计软件,Protel 99 SE 以其强大的功能,方便快捷的设计模式和人性化的设计环境,成为当前电子工业中印制电路板设计的主流软件。Protel 99 SE 具有良好的兼容性、简单的PLD设计工具,模板丰富、方便的库封装、多种元件布局工作、优异的绘图及处理功能、简单的同步设计、信号完整性分析等特点。本系统电路PCB板的设计就是基于Protel 99 SE 现在Protel 99 SE 软件生画好硬件电路的原理图,然后对原理图中的各个元件做相应的封装,封装好后在把电路导成

33、PCB板,最后在制作印制电路板。其基本过程如下:1建立一个自己的项目,比如基于单片机的转速控制器设计.ddb,并保存在相应的目录下。2在项目中添加所需要的文件,如转速控制器设计.sch。3在转速控制器设计.sch中画出protel原理图,并对各个元器件进行封装。4检查原理图连接和各个元器件的封装是否合理正确,确定无误,导入PCB进行布线,注意布线要合理正确。5最后进行做板(PCB板)。5 智能交通灯的调试5.1 调试准备 仪器准备:数字示波器GDS-2064,5V直流电源,若干导线,硬件电路板,PC机一台。5.2 调试首先进行硬件调试,其主要内容有:(1)核对元器件:检查所有元器件是否有插错或

34、损坏现象。(2)检查线路:通过目测和使用数字万用表,检查电路连线的正确性。(3)外围电路测试:给系统加一些相应的信号,然后检查通过系统后是否能得到相应的结果,如果所得到的结果都和预期的想法相同,那么就通过了外围电路测试,否则继续测试。接着利用仿真对软件进行测试,看看所编的程序是否符合设计的要求。1、主电路的调试,需要一个5V电源,接上电源看电路能否正常运行:1、信号等电路即数码管能否正常点亮;2、LED数码管显示电路即红绿灯倒计时是否正常显示。如果初次不能正常显示,应检查电路及程序,最后获得正常显示。2、车检测电路的检测,首先需检查红外发射与接收与电路能否正常工作,需测出接收到的信号,用一示波

35、器测量该信号,将该信号送入单片机计数最后在LED数码管上显示出来。5.3 调试结果1、主电路的测试结果如下:(1)电路正常工作时,刚上电瞬间南北方向显示20,东西方向显示00。然后首先南北方向的绿灯亮,红灯灭,黄灯灭,数码管显示的是:南北方向绿灯亮22s,东西方向红灯亮19s,待南北方向绿灯倒计时到03s,东西方向红灯倒计时到00s时,此时南北方向黄灯开始3s倒计时闪烁,南北方向绿灯3s倒计时,东西方向3s倒计时,直到数码管显示0000;接着东西方向的绿灯亮,红灯灭,黄灯灭,数码管显示的是:东西方向绿灯亮22s,南北方向红灯亮19s,待东西方向绿灯倒计时到03s,南北方向红灯倒计时到00s时,

36、此时东西方向黄灯开始3s倒计时闪烁,东西方向绿灯3s倒计时,南北方向3s倒计时,直到数码管显示0000,依次循环。(2)手动控制交通灯运行:1、按键S2和S3的作用,是遇到紧急情况时,比如有急救车通过时进行优先通过的手动控制。按键S2:按下S2切换南北通道的红绿灯,即当前是红灯时间,按下s2红灯马上转换成绿灯;按键S3:按下S3切换东西通道的红绿灯,即当前是红灯时间,按下S3红灯马上转换成绿灯;2、按键S4和S5的作用,是手动延长东西或南北的绿灯时间。按键S4:按下S4键增加南北通道的绿灯倒计时;按键S5:按下S5键增加东西通道的绿灯倒计时;2、车检测电路的检测结果如下:当按键S6按下时即指示

37、灯亮时,电路处于自动控制状态,此时当有车通过时,LM567的8脚输出为低电平,否则为高电平即lm567芯片的8脚每输出一低电平时,单片机中断进行处理,定时器0开始计数,并通过单片机编程来实现数码管的倒计时显示时间的调整。6 结束语6.1 总结本系统就是充分利用了AT89S51单片机的 I/O引脚,系统采用MCS-51系列单片机AT89S51为核心芯片来设计交通灯控制器,实现按键手动强制控制红绿灯东西与南北方向的切换,实现按键手动控制延长红绿灯燃亮时间,实现红绿灯的倒计时时间的显示,实现红黄绿灯的有序燃亮,当倒计时剩3秒时,黄灯闪烁警示。该设计通过红外发射与接收模块检测车流量,能根据实时车流量数

38、据,自动延长相应繁忙方向的绿灯倒计时时间。但是本设计也存在了很多不足,例如没有车辆闯红灯报警功能,以及车辆的检测存在着一定的误差等等,待以后设计改进。本设计与其它普通交通灯控制器相比,该智能交通灯的设计具有人性化、智能化,创新化等众多优点,因此该智能交通灯控制器的设计具有一定的实用性。通过本次智能交通灯电路的设计,使我得到了一次用专业知识、专业技能分析和解决问题的锻炼,使我在单片机的基本原理、以及常用编程设计思路技巧的掌握方面向前迈进一步,使我把以前学到的知识得到了巩固和进一步的提高认识,从中认识到自己的许多不足,第一,自己对参数的设计和电路的设计能力差。第二,程序的编写,以前学习汇编和C语言

39、时,就觉得编一个程序已经很困难的一件事情,现在要编写一个自己设计的电路就更为困难,因为自己对编程的掌握能力有限,导致编写程序时有些语句格式都出错。第三,电路的调试,调试方面的缺陷主要来自于对电路原理分析能力较差,以及自己对仪器仪表的使用不熟悉。但是通过本次设计对于自己来说,还是有些帮助的,至少自己会去主动查资料,主动的去编写程序修改程序,虽然结果不是很满意。当然最终,在指导老师与同学的帮助下,这个设计很成功,基本实现了任务书给出的设计要求。6.2 展望 随着经济的进步,人们的生活越来越好,经济也越来越充裕,更多的人拥有了私家车,甚至是一个家庭就有好几辆,由此一来就给道路交通添加了不少压力,道路

40、会越来越拥挤,凭借目前的交通灯控制车辆行人穿梭是远远不够的,而本次的设计主要也只是加了几个功能,但是还存在许多缺陷。例如没有车辆闯红灯报警功能,以及车辆的检测存在着一定的误差等等,总之对于当今道路的交通灯系统还是存在很大缺陷与不足。在今后,检测汽车流量可以在地面下埋入一个线圈通电,当汽车通过时,电流会发生改变,测电流比较简单准确。另外还可以利用压力检测器、磁感应式检测器、超声波检测器、光辐射检测器、雷达检测器等等来检测车流量,从而控制车辆及行人有序通行 。参考文献1RogicS,MackworthAK,OuelletteFB.Evaluationofgene-findingprogramson

41、mammaliansequencesJ.GenomeRes,2001,11(5).2边海龙,孙永奎. 单片机开发与典型工程项目实例详解J.电子工业出版社,2008,(10) .3陈毅,许飞,王学飞. 基于单片机的交通灯智能控制系统J. 中国高新技术企业, 2009,(15) .4贺廉云. 用单片机实现交通灯的控制J. 电脑学习, 2008,(01).5韩来吉. 用89C51实现急救车优先的交通灯控制系统J. 中国高新技术企业, 2008,(03).6姜文东. 车流量的检测及控制策略的研究D. 河北科技大学, 2010.7姜文东, 贾辉然, 折志伟, 张展. 基于热释电红外传感的智能交通系统研究

42、J. 河北工业科技, 2010,(02).8潘永雄.新编单片机原理与应用M.西安:西安电子科技大学出版社,2007,19-22.9绕庆和MCS一51单片机实用技术M北京:电子工业出版社,2OO3.10沈红卫单片机应用系统设计实例与分析M北京:航空航天大学出版社,2OO0.11汪建等编MCS-96系列单片机原理及应用技术M武汉:华中理工大学出版社,1999.12王兆义.可编程控制器教程M.北京:机械工业出版社,2004,2-5.13温志达,梁桂荣,陈碧铭,高素萍. 基于车流量的智能交通灯控制系统J. 自动化技术与应用, 2009,(06) .14馀吉万等编城市文通的计算机控制和管理M北京测绘出版

43、杜,1985.15杨佩昆等编交通管理与控制M.北京:人民文通出版社,1992.16张辉8051单片机控制交通信号灯的方法研究J邵阳师范高等专科学校学报,2001,23(5):18-20.17郑建光,李永. 基于AT89C51单片机的交通灯系统设计J. 自动化与仪器仪表, 2008,(06) .附录附录1 电路原理图附录2 智能交通灯实物图附录3 智能交通灯PCB图附录5 部分源程序#include #include mylib.h#define Load_High 0x3c; /100ms 6mhz#define Load_Low 0x0af;sbit auto_manu_led=P21;sb

44、it auto_manu=P20;sbit roada_key=P24; sbit roadb_key=P25; sbit timea_key=P26; sbit timeb_key=P27; sbit roada_red=P14; sbit roada_yellow=P13; sbit roada_green=P12; sbit roadb_red=P17; sbit roadb_yellow=P16; sbit roadb_green=P15; bit roada_flag; bit roadb_flag; bit time_flag; bit flasha_flag;bit flashb

45、_flag;bit fla;bit auto_manu_flag;unsigned char base_time=20;unsigned char increase_time=10;unsigned char roada_time;unsigned char roadb_time;unsigned char count_roada;unsigned char count_roadb;unsigned int minute; unsigned char second;unsigned char msecond;unsigned char code dispcode=0xfc,0x60,0xda,

46、0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0x00; /共阴数码管09段码void disptime(unsigned char time);void time0() interrupt 1 using 3unsigned char data i,j;TH1=Load_High ; /赋初值TL1=Load_Low;minute+;if(minute200) minute=0; count_roada+; count_roadb+; i=count_roada/count_roadb; j=count_roadb/count_roada; if(i1) roada_time=base_time+increase_time*i; roadb_time=base_time-10; else roadb_time=base_time+increase_time*j; roada_time=base_time-10; count_roada=0; count_roadb=0;void int00() interrupt 0 using 1count_roada+; void int11()

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号