基于单片机的交通信号灯
本次毕业设计是以STC89C52单片机为核心,进行对交通信号灯的改进。单片机在现在社会各个领域普遍被采用,它具有性能高、响应快、价格低、功能扩展方便、体积小和可以多次编程等优势。在该设计中以原有的交通信号灯功能为基础,进一步对信号灯的功能进行改进。主要改进的功能有增加了红外线车流量检测系统,该系统可以实时检测交通违法现象,红外线检测车辆,通过蜂鸣器对闯红灯的车辆发出警报。另外该检测系统还可以对车流
摘 要
随着社会的发展,车辆开始慢慢的普及,每家每户都有了自己的小汽车。在中国物流行业也有所发展,处于世
界领先地位。在这两个主要方面的影响下,道路上车辆急剧增加。尤其对城市道路通行问题带来很大的麻烦,增加
了道路的拥堵状况和交通事故发生率,也给市民的生活带来诸多的不便和困扰。由此各个城市道路的路口交通信号
灯充分体现了它们的重要性。现在社会上普遍的交通信号灯已经没办法满足城市道路如此大的交通压力,所以要寻
求结合现代科学技术的一种提高信号灯功能的解决方案,来缓解甚至解决道路拥堵问题,来提高城市道路的利用率
和通行效率。
单片机在现在社会各个领域普遍被采用,它具有性能高、响应快、价格低、功能扩展方便、体积小和可以多次
编程等优势。在本次毕业设计中选择的是STC89C52单片机。该单片机系统除了有交通信号灯一般的功能外,还具有
夜间通行模式、紧急车辆通行模式、南北通行模式、东西通行模式、还有最为核心的就是红外线车辆检测功能模
块。可以根据车流量优化交通信号灯的倒计时时间并且可以实时检测闯红灯交通违法行为。
该单片机系统,使交通信号灯性能变得更加强大,更加的科技感和人性化。从而可以提高各个城市交通路口的
通行效率和利用率,方便了市民的出行,也减少了交通事故的发生概率。
关键词:交通灯,STC89C52,LED显示,车流量检测
第一章绪论
1.1研究背景及意义
2000年以后,科技与经济的快速发展,人们生活中的出行更多,其中运输业也得到的了发展。但是同时带来了更多
的不利因素,尤其是道路的拥堵和交通事故问题。一直困扰着城市的秩序,影响着人们的生活水平。这种交通问题
引发更多人的关注,交通系统的改进也逐渐变得更加重要。为了减少和缓解交通压力,好多城市陆续在交通路口安
装交通信号灯。不仅维护交通秩序,减少交通事故,而且还减少了交通警察的工作量。
单片机的交通灯研究的目的是,让人们生活出行方便,交通状况稳定有序。合理利用交通资源。避免以为无序
通行,不按照交通信号灯行驶和交通事故引发的交通堵塞。对优化城市道路交通情况,道路保持顺畅意义非常重大。
1.2国内外研究现状
1858年,英国伦敦的主干道上,装有一盏由煤气灯由机械扳手控制的信号灯,用以指示一辆马车驶过十字路
口。这是这个世界上最早的红绿灯。1868年,英国机械工程师纳伊特把世界上第一个红色和绿色的交通信号灯安装
在伦敦市威斯敏斯特区的国会大楼旁边。它是由红绿两种颜色组成的,其中红色表示"停止",绿色表示"注意"。在
第二十三天,一盏煤气灯突然发生爆炸,一名在信号灯旁工作的警官被炸死。1914年,美国开始使用电力驱动的交
通信号灯。这个红绿相间的交通信号灯是用红、绿、黄三种不同的灯光构成,它被安置在纽约市中心的一栋高楼
前。红色表示"停止",绿色表示"通行"。1918年的某一天,交通信号灯和红外信号灯相继问世。交通信号灯是一种
控制方式,当汽车接近地面上的压力感应器时,它会变成绿色;另一种是喇叭,当前面出现红灯的时候,司机按喇
叭,红灯就会变成绿色。红外线作用的交通信号灯,可以在有行人经过的压力敏感路段时,感应器检测出行人要经
过的道路,而红外线则会增加信号灯的红灯时间,延迟机动车的通行时间,从而减少交通事故。红绿灯的出现,对
交通进行了有效的控制,控制了交通流量,改善了路面通行能力,减少了交通事故。在一九六八年,联合国《道路
交通和道路标志信号协定》也统一地规定了各类信号灯的含义。绿色表示通过,绿色车道上的机动车可以直行,也
可以向左、向右转弯,但有禁止行驶的标志。在转弯时,不论是左转还是向右转,都要对进入十字路口的车辆礼
让,特别是在经过斑马线时,要先经过十字路口。红色标志表示禁止通行,机动车在红灯前不得通过。黄色的交通
标志表示交通工具不能通过交通标志,当交通工具已经很靠近交通标志时,交通工具不能通过交通标志。从那时
起,世界各国相继实行了这项法规,红绿灯也逐渐进入了人们的日常生活。
在1923年上海,出现了用人来操作的机械的控制装置。1979年交通灯在中国渐渐发展起来,当时交通灯基本不
能完全离开人工进行控制,需要值守的交警通过操作进行控制。八十年代,随着车辆数量的增加,北京陆续安装自
动控制交通灯。九十年代之后,我国交通灯的发展非常迅速,北京的各个路口也陆续普及起来。进入21世纪行人自
助交通信号灯出现在北京的人行道旁。2002年,我国各单位提出对我国大城市的交通灯进行升级改造,充分学习了海外发达国家的优秀方案和经验,在此基础上完成对城市交通系统的合理性改进。
第二章交通控制系统基本理论与控制
2.1单片机交通控制系统的基本构成及原理
该系统是利用STC89C52芯片的单片机、单片机最小系统、按键、数码管和红外线传感器等器件,来进行交通信
号灯的设计。采用共阴极数码管对设计结果进行显示,并且采用按键来设置定时。该系统扩展能力强、实用能力强
、操作步骤简单。
可以在一定的时间段里来提高车辆和行人的通过路口的效率。而且在出行量较大的时间段,可利用红外线车流
量检测系统来调节各种信号灯明亮的时间,缓解交通路口以及主干道车辆通行的压力。该系统还设计了紧急情况通
行模式,一些救援车辆需要通过路口时,十字路口各方向信号灯变为红灯。救援车辆顺利通过后,交通灯恢复到之
前正常模式,加强了解决紧急事件的能力。
采用该单片机进行对系统进行控制,信号灯的明暗状态可以利用单片机进行控制,完全可以用来对路口通行情
况进行控制,把LED数码管接入系统中显示出各个路口的信号灯倒计时来提醒车辆和行人有序通行。依据该系统,单
片机进行了更加详细的处理。
键盘设定模块能协助系统调节和设定交通信号的运行状况,调节系统运行状况,控制交通信号灯的显示状况,
并将数字管内输入的倒计时数据进行实时显示。除此之外,还需要捕捉到应急按钮和违法车辆的检测信号,主要是
为了对异常情况进行实时监测和控制。
图2.1交通灯系统总体框图
2.2交通信号灯及其控制方式
交通信号灯一般有三种色彩表示,这三种颜色分别为红绿黄,不同的色彩表示着不同的意义。交通信号灯的一
般要求如下:
1、红灯亮起,机动车禁行,非机动车和行人放行。
2、绿灯亮起,机动车通行,非机动车和行人禁行。
3、黄灯亮起,机动车禁行,非机动车和行人禁行。如果机动车、非机动车和行人已经走过停车线,可继续通过路
口。
4、黄灯闪烁时,机动车、非机动车和行人保证安全的情况下可以通过路口。
1、点控制是非常基础的控制形式,分为线点控制和离线点控制两种控制方式。线点控制也叫做交通响应控制。
基础原理是对各个交通路口,车流量分布的详细状况进行总结和分析。然后根据具体情况合理分配每个交通信号灯
的明亮时间,最后更加合理的满足具体的交通需求。离线点控制是固有分配时间的控制,即根据往年该路口车流量
的具体数据推理出合适的分配时间方案,分为固定周期控制和变周期控制。在固有周期控制中,不管出现任何状
况,交通灯一直会循环固定的分配时间方案。而变周期控制会依据历史交通流量的具体数据分析和总结,为交通灯
设计具体时间段的分配时间方案。离线点控制在车人流量非常小的交通路口非常合适。
2、在各个城市道路上,几乎每个城市都会存在个别路口距离较近的情况,而且在这较短的距离无法满足车流在要求
的时间内无法顺利正常通过,时常通过绿灯后就遇到红灯的情况,不仅浪费行车人的时间而且无形中增加车辆油
耗。道路毗邻路口协调方案非常有利于降低车辆在各个路口的等待红灯的停车次数,最大化的保持车辆在道路上的
行驶顺畅。
3、区域交通信号控制把自动控制、计算机和车辆检测技术结合在一起,主要是为了一定范围内的全部道路上的交通
灯进行控制。经过收集车辆流具体数据进行分析,然后通过PC机的通信网络传送到上位机,上位机会依据车辆流量
具体的变化数据,不间断调试在执行中的分配时间方案。这个方案可以实现各个路口的统一调配,很大的增加了道
路通行效率。最近在海内外好多国家城市应有了自己的交通控制系统。
2.3单片机交通信号灯主要方案:
1.对系统的交通控制进行整体的设计,包括交叉口的具体的禁止行为和系统的各种功能,在此,本设计不仅提供了
信号控制,还提供了倒计时的提示,并根据实际情况,对车辆的流量进行自动调节、异常检测、处理、应急处理、
按键设定等功能。
2.完成智能感应器的软硬件、显示电路等的设计,以及对各元件的选型和联接,总体上确定了各元件和组件的基本
功能需求。
3.软件系统的设计,本系统使用了单片机汇编语言,充分研究了单片机的内部结构和工作环境,了解定时器、中断
、延时原则,基本实现了该软件的编制。
第三章系统硬件设计
3.1单片机的发展过程
美国仙童公司于1974年开发出了全球第一台F8单片机。它因其独特的构造和独特的指令系统而受到了广大的民用电子及仪器行业的关注。自那以后,单片机得到了飞速的发展,其应用范围也越来越广,已经是微机的一个重要
分支。一般来讲,单片机的发展可以分成如下几个阶段。
(1)第一阶段(1974- -1976年)
在这个时期生产的单片机,制造工艺落后,集成度低,而且采用了双片形式。
典型产品有Fairchild公司的F8系列。其特点是:片内只包括8位CPU, 64B的RAM和两个并行口,需要外加一块
3851芯片(内部具有1KB的ROM、定时器/计数器和两个并行口)才能组成一台完整的单片机。
(2)第二阶段(1977-1978年)
现在的单片机微处理器已经可以集成 CPU、并行端口、定时器、内存、 ROM、 RAM等多种器件,但性能较差,
品种较少,使用范围较小。典型的产品有Intel公司的MCS-48系列。其特点是,片内集成有8位的CPU,1KB 或2KB的
ROM,64B 或128B的RAM,只有并行口,无串行口,有1个8位的定时器/计数器,中断源有2个。片外寻址范围为4KB,
芯片引脚为40个。
(3)第三阶段(1979- -1982年)
这是一个8位单片机的成熟时期。与前两代相比,这一代的不但具有较大的内存和寻址范围,而且中断源、并行
I/O端口、定时/计数器数目均有所提高,同时还具有全双工串行通讯接口。在指令体系中,一般增加乘、除法、位
运算和比较运算。这一时期生产的单片机品种齐全,可以满足各种不同领域的需要。其特点是,片内包含了8位的
CPU, 4KB或8KB的ROM,128B 或256B的RAM,具有串/并行接口,2个或3个16那个。位的定时器/计数器,有5-7个中断
源。片外寻址范围可达64KB,芯片引脚为40个。代表产品为Intel公司的MCS-51系列,Motorola 公司的MC6805系
列,TI公司的TMS7000系列,Zilog 公司的Z8系列等。
(4)第四阶段(1983 年至今)
16位与8位单片机同时发展。16位微控制器具有先进的技术、高集成性、强大的内部功能、高速的计算能力,并
可使使用者使用诸如 PL/M、 C语言等的工业控制专用语言。其特点是,片内包括了16位的CPU,8KB的ROM,232B 的
RAM,具有串/并行接口,4个16位的定时器/计数器,有8个中断源,具有看门狗(Watchdog), 总线控制部件,增加
了DIA和AD转换电路,片外寻址范围可达64KB,芯片引脚为48个或68个。代表产品包括MCS-96系列、MC68HC16系列
等。但是,16位微控制器的成本较高,且销量不大,因此许多应用都要求高性能、大容量、多用途的8位单片机。
近年来出现的32位单片机,是单片机的项级产品,具有较高的运算速度。代表产品有Motorola公司的M68300系
列和Hitachi (日立)公司的SH系列等。
3.2 STC89C52工作原理与结构
3.2.1 STC89C52概述
单片机事实上是含有集成电路芯片的微型控制器,是以超大规模集成电路为基础来制造而成的集成化芯片,把
中央处理器,只读存储器、定时器、计数器和随机存储器等合成在同一块芯片上。在1976之后单片机的问世,得到
了很大的发展空间。51系列的单片机是当今最为流行的单片机之一。
单片机广泛应用于各种工业控制领域,它已经在我们的生活中普遍采用,生活的各个方面几乎都有渗透:卫星
电视的串口模拟SPI. 电子配料控制仪,提供报警、控制等,质量控制、水位控制。单片机在生产生活中的应用,很
大提升了各种装备的智能化控制,也不断提高效率和处理能力,单片机只会占用非常小的空间同时设备也非常简单。
单片机的特点:接口多种多样,性价比相当高,性能也比较完善;抗干扰性强,运行稳定,可靠性高,集成度
高;硬件的开发时间短,可以大量生产;能耗低,电压低,非常方便携带;总线比较多样,系统的扩展比较方便;
还具有多种控制指令。
STC89C52是一个美国生产的小功耗,性能比较高的八位单片机,单片机含有能够重复写入1000次的flash只读程
序存储器和256bytesRAM存储器,此器件应用了ATMEL公司不能易失性存储技术和较高密度技术制造,兼顾MCS51系统
和8052引脚,八位CPU和ISP Flash存储单元集成在芯片内部,功能非常强的计算机的STC89c52能够为嵌入式系统提
供很大优势的解决办法的方法与方案,比较合适用于很多复杂的用应场所控制。
STC89C52包含40个引脚、32个I/O、3个计时计数器、2个外部中断、2条读写口、2条全双工通讯接口。STC89C52
可以使用常规的编程方式,同时也可以进行在线编程。一般的微处理器和 Flash内存可以结合使用,特别是 Flash
内存可以有效降低开发费用。
3.2.2 STC89C52单片机主要特性
图3.2.2单片机系统框图
1.八位的CPU一个。
2.内存 RAM,用于储存读取和写入的数据,如对中间结果、最终结果、要显示的数据进行计算。
3.一种用于储存程式及原始资料的片式程式存储器 ROM。但也有一些 MCU没有 ROM/EPROM。目前的 RAM和 ROM
都是集成在单片机中的,这样可以使用户的设计更方便,同时也能更好地抵御外部的干扰。
4.八位并行输入输出端口I/O有四个,每个端口既可以用来输入,同样也可以用来输出。
5.两个计时器/计数器,每一个计时器计数器都可以被设计成计数方法,用来对外界的事件进行计数,也可以被设计
成计时的方法,并且可以根据计数和计时结果来控制计算机。目前52型单片机可以提供16位的定时/计数器,以便于
设计更方便的串口通讯。
6.五个中断控制系统。当前市场上出现的单片微处理器已超过5种中断源,例如SST89E58RD,其中断源为9个。
7.一个全双工的 UART串行输入/输出端口。它是用来实现单片机与单片机之间或者单片机和微机的串行通信。
8.与芯片内部的振荡器一起工作的时钟发生电路,但要执行与石英晶体的外部微调电容。12 MHZ是振动频率中允许
的最高值。40 MHZ是SST89V58RD所能达到的最大振幅,同时也大大提高了指令的执行速度。
3.2.3 STC89C52芯片的引脚描述
PO端口: PO端口是一套八位开路的输入/输出端口,同时也是地址/数据传输接口。PO口用作输出端,每个驱动
八个逻辑闸的电路均采用吸流方式,而 PO口写1时,则可用作高阻抗输入。当外部数据存贮器或程序存贮器被存取
时,这一组端口线将时间交换地址和多路数据总线进行多路传输,从而在存取期间内启动内部的电阻。
P1端口:P1为八位双向输入/输出端口,带有内拉电阻。P1为四个 TTL逻辑门电路,由缓冲段所驱动。对于第一
个端口,通过内部的上拉式电阻可以使这个端口达到更高的级别,此时它可以用作一个输入。作为一个输入端口,
因为它的内部包含了一个上拉电阻,在这个电阻里,一个外部的信号将引脚拉到了低的位置,就可以输出一个电
流。
P2端口:P2为八位双向输入/输出接口,带有内部上拉电阻,P2为四个 TTL逻辑门电路,P2为P2的输出。P2读入
1,通过上拉电阻器可以将8端口提高到更高的电平,此时可以用作输入端口,当它用作输入端口时,因为内置的上
拉电阻,当外部信号将某个管脚拉的很低时,就能输出 电流。
P3端口:P3端口为8位双向 I/0端口,具有内置上拉电阻。当输出时,可以驱动4个 TTL,当端口设置为1的时
候,内部的上拉式电阻器将端口拉至高电平,作为输入。
表3.2.3-1P3口引脚复用功能
引脚号 复用功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 (外部中断0)
P3.3 (外部中断1)
P3.4 T0(定时器0的外部输入)
P3.5 T1(定时器1的外部输入)
P3.6 (外部数据存储器写选通)
P3.7 (外部数据存储器读选通)
表3.2.3-2控制引脚表
电源与时
钟引脚
Vcc 电源端,接+5V直流电
Vss 接地端
XTAL1
/XTAL2 内部振荡器输入端,接外部晶振。
控制引脚
ALE
/PROG
地址锁存允许信号访问外存储器时,ALE控制信号低八位。不访问外存储器时,ALE周期性向
外输出正脉冲,可用于输出时钟或定时。
PSEN 外部程序存储输出端,片外程序存储器读选通信信号,低电平有效。
EA/VPP 外部程序存储器地址允许输入端,EA为高电平时,CPU执行片内存储器指令。低电平时,CPU
只执行外存储器指令。
复位信号输入端。晶振工作时,在该引脚保持两个机械周期的高电平使单片机复位。另一功
能作为备用电源的输入端。
I/O引脚 I/O I/O端口是单片机实现信息交换和对外控制的重要通道。串行口一次传输一个二进制信息,
并行口一次传输一个字节信息。
3.3晶振电路的分析
1.晶振电路的基本原理:
晶振是以电激发的方式,以一定的频率产生机械振动,然后再由振动产生的电流回馈给线路,由电路接收到反
馈,由信号进行放大,再由放大的电子信号激发晶振机构,由晶振振动所产生的电流回馈给线路。在激发电信号与
晶体振子额定频率一致的情况下,该电路可以产生具有较强的信号强度和较高的频率。该成形电路又把正弦波转换
为方波,送入数字电路。
2.晶振电路的特征:
晶振的英文叫做 Crystal,晶振分为有源晶振和无源晶振,它的功能是在电路中产生震动电流,从而使电路产
生一个时钟信号。它是时钟电路的核心元件,其功能是为 IC等器件提供参考频率,其工作频率不稳定会导致相关器件的工作频率不稳定,从而导致故障。因为生产技术的进步,目前,晶体振子的频率偏差、温度稳定性、老化率、
密封性等关键技术指标均较好,不易发生故障,但在选择时,仍然要注意晶振的品质。
3.4复位电路的分析
1.重置电路的原则
当系统上电时,它会发出一个重置的信号,当系统的电力供应稳定时,它就会被取消。为了保证供电的可靠
性,在供电完成后要经过一段时间的延迟才能取消重置信号,以免在分-合过程中因电源开关或电源插头发生抖动而
影响重置。RC复位电路能够完成以上的基本功能,但是无法解决诸如电源毛刺、供电迟缓(电池电压不足)、调节
RC常数变化延迟的问题。左侧电路是高电平重置,右侧是低电平,复位键是人工重置,用电容消除了高频谐波对电
路的影响。
2.重置电路的功能:
在微型计算机系统中,复位电路是保证电路稳定、可靠地工作的一个重要环节。普通的微型计算机电路,需要
提供 5V士5%的电源。电压为4.75-5.25 V.由于微计算机是一种定时型的数字电路,所以在电源上电时,仅在 VCC高
于4.75 V或小于5.25 V且晶体振荡器工作稳定后,才能解除复位信号,使微型计算机电路能够正常工作。
3.5数码管的选用
3.5.1数码管的分类
七段LED数码管和八段 LED数字管是我们常用的,除了八段多了一个小数点之外,其余的都是一样的。所谓八
段是指包含八个 LED 发光二极管,通过对二极管进行不同的控制,从而呈现出各种形状。数字管可分为共阴极和共
阴极两种,共阴极将二极管的阴极与地线相连,使每个二极管的另一端都变得高,从而使其变得更亮。同样,共阳
极是将8个 LED的正极连接起来。
七段数字管和八段数字管是按发光二极管的数量划分的,七段数字管的长度比八段数字管要短,也就是多了一
个数字二极管。数字管还可以根据显示8的数量被分成若干位,例如1位、2位、4位。根据数字管的阴极连接方式,
可以将其分为共阴极和共阳极。将整个系统的所有 LED的阳极都连接到一起叫做共阳极数码管;若二极管为低电平
阴极,则将使二极管发光。二极管在二极管之一为高电平的情况下不发光。数字管将整个系统中的二极管的阴极都
连接在一起,叫做共阴极数码管。共阴极二极管是将二极管的阴极连接到同一位置,再将其接地。若二极管的电平
阳极较高,则相应的二极管会发光。若二极管的阳极为低,则不能点亮相应二极管。
本次毕业设计发光二极管为共阴极接法。输入高电平时,信号灯会亮。
3.5.2数码管显示原理
将两个引脚的 COM端子连在一块,共用阴极数字管将共用端子接地,共用的端子与5 V电源相连。将八段数字管
当作一位,许多数字管合在一起,就可以组成多个数字管,将所有的分选线路连在一起。并且,每一个共同的末端
都是一个比特的选择。数字管显示的时候,所有的文字编码都是从段选择线输入的,选择了这个位选择,就会点
亮。
八段数码管的每段,一一对应的是每个字节的8位,最低位是a,最高位是小数点dp。例如,希望数码显示管显
示0,则共阴极就要编码0111111,即0x3f;共阳极的编码则是1000000,即0xc0.由此可以得到共阳极与共阴极的编码
每位都恰好相反。
表3.5.2代码对应关系表
代码位 D7 D6 D5 D4 D3 D2 D1 D0
显示段 dp g f e d c b a
3.5.3数码管的驱动方式
数码管要正确显示所要内容,首先要利用驱动电路来控制数码管的每个数码段段码,则可以显示出想要的数
码,所以可以依据数码管的驱动的方式不一样,又可以分出动态和静态两大类。
◆静态驱动:静止驱动又叫直流驱动.静态驱动是指数字管内的全部段代码均通过单片机的 I/O或 BCD码解码。
静态驱动具有编程简单、高亮度显示等优势;静态驱动的一个缺陷就是占据了大量的输入/输出接口。实际运行时必
须使用解码驱动器,以增加电路的复杂度。
◆动态驱动:在单片机应用中,最常用的一种表现方式就是数字管的动态显示界面,动态驱动是将所有数字管
的8个显示字段在同一位置上,另外,在每一个数字管上都加上一个位选通控制电路,位选通道通过一个独立的输入
/输出 I/O端口线来控制,当单片机的图形代码被输出时,每一个数字管都会接收到相同的图形代码。通过采用按周
期交替控制各数字管 COM的方式,实现了对各数字管的交替控制,即动态驱动。在交替的情况下,每一根数字管都
能被点亮1-2 ms,这是由于人们的视觉暂时现象,以及 LED的反射作用,虽然每一根数字管都不是同时被点亮的,
但由于扫描的速度很快,所以它的显示效果也很稳定。静态和动态两种显示方式一样,既节省了输入、输出接口,
又降低了功耗。本次毕业设计选用的LED数码管是动态驱动。
3.6信号灯的显示与功能原理
显示器有两种,一种是 LED显示屏,一种是数码管, 数码管的倒计时是提醒行人和交通信号灯的颜色变化时
长,二是通过和停车。在行人中,有倒数的红绿灯路口是最流行的,与一般的十字路口相比,有倒数标志的十字路
口要安全得多。LED显示屏是一种很好的方法,当交通信号灯发生变化时,司机和行人可以很好地降低他们的思维和
判断。将数字管与 LED显示屏相结合,将会使得此系统更为可靠。
发光二极管是采用注入式电致发光原理制作而成的一种二极管。该二极管的主要构造材料是一块电致发光的半
导体,在有引线的架子上安置。之后利用环氧树脂在四周密封起来,对内部的芯线进行保护。在电流由LED阳极流向
LED阴极时,紫外到红外各种颜色从半导体晶体中发出,光线的强弱程度也与电流的大小有关。该系统信号灯的显示
利用的是一般的发光二极管。
3.7键盘模块设计
该按键模块采用的是多位独立的按键,此按键一个端口接地,另一个端口接I/O口,因为单片机的所有I/O端口
含有内部上拉,所以如果没有按下按键时,检测到I/O端口为高电平。如果按下按键时,可以看作I/O接地短路,所
有此时电平检测到的是低电平,由此判别那个按键被按下是依据经过检测I/O不同时间时的状态判断。所有功能是由7个功能按键所代表,该7个按键分别是复位键、夜间模式键、紧急车辆通行键、东西通行键、南北通行键、重新计时键、查看实时状态键。
复位按键是把整个系统进行复位;夜间模式按键是把各个方向的信号灯调整到黄灯闪烁状态;紧急车辆通行按
键是把各个方向的交通信号灯调制到红灯状态;东西通行按键将东西方向的交通信号灯调制到绿灯,南北方向调整
到红灯;南北方向通行按键是把南北方向信号灯调整到绿灯,东西方向调整到红灯;重新计时按键使各方向的信号
灯回复原始状态并重新倒计时;查看实时状态按键可是查看各方向红绿信号灯倒计时时长,并可以实时测量车流量。
图3.7-1各按键布置图
3.8蜂鸣器模块设计
蜂鸣器是一种电子信号器,它是一种集成式的电子报警器,它通过直流电压来供电,广泛应用于印刷机,打印
机,电子玩具,电话,电脑,定时器,以及一些电子设备。蜂鸣器有两种类型,一种是电磁蜂鸣器,另一种是压电式蜂鸣器。
压电蜂鸣器包括:压电蜂鸣器,多谐振器,阻抗匹配器,谐振箱,以及外壳。部分压电蜂鸣器的外壳装有
LED。多谐振子由晶体管或集成电路构成。若接上 直流电源,多谐振器便会启动振荡,随后将声音讯号输出,并由
阻抗匹配器带动压电蜂鸣片发出声音。
电磁蜂鸣器由磁铁,振荡器,电磁线圈,振动膜片,外壳等组成。当你打开电源时,振动器会发出一种声音,
通过一个电磁线圈,它就会形成一个磁场。由于磁力线圈和磁铁之间的相互影响,振动薄膜会产生周期性的嗡嗡声。
蜂鸣器的主要驱动电路由三部分组成:限流电阻,三极管,蜂鸣器。蜂鸣器的主要作用是通过将直流电压输入
到蜂鸣器上而产生的声音。由于工作电流蜂鸣器要求很高,因而无法直接驱动 I/O口,因而必须使用三极管切换电
路。这里选用的三极管是9012 PNP型三极管,若三极管在基极上输入低电平,三极管接通,蜂鸣器也会有响声,若
输入高,三极管即关机,蜂鸣器亦无响声。
3.9车辆违规检测功能设计与实现
3.9.1红外线传感器的介绍
一种利用红外物理特性进行测量的传感器。红外线也叫红外线,具有反射、折射、散射、干涉、吸收等特性.
任何在其自身温度(在绝对零度以上)以上的情况下,都可以发出红外光。红外传感器不与被测对象直接接触,没
有摩擦力,具有高的灵敏度和快速的响应能力。
红外传感器由光学系统、检测器件和变换器件组成。根据光学系统的结构,可以将其分成两种类型:透射型和
反射型。根据工作原理,探测器件可以分为热探测器件和光电器件。热敏电阻器是热敏器件中最常用的一种。当热
敏电阻器被红外辐射时,其温度上升,并且由于热敏电阻器可以分成正温热敏电阻器和负温感度热敏电阻器),因
此电阻会改变(该改变可以增大或减小。光电探测器件一般采用感光器件,一般采用硫化铅,硒化铅,砷化铟,砷
化锑,碲镉汞三元合金,锗和硅。
红外传感器在医学、军事、航天、环境等方面有着广泛的应用。比如,利用红外感应器对人体的体温进行远程
检测,就能找到体温异常的地方,并对其进行及时的诊治(参见热像仪);利用人造卫星红外感应器监测地球云,
可以进行大范围的气象预测;红外感应器可以对飞机上的发动机进行过热等进行探测。
3.9.2红外线传感器在交通灯上的应用
本次毕业设计利用红外线检测汽车,利用目标的反射和遮蔽,通过同步环来探测目标的存在。测试对象可以是
各种材料,而不限于金属材料,任何能反射光线的物体都能被探测到。光电转换器将输入的电流转换成光信号,由
接收机根据接收到的光束强度,或探测目标是否存在。比如,当汽车通过光扫描区时,会造成所有的光线或部分的
光线被遮蔽,从而达到对交通流量的全面监测。通常使用的是光电转换技术,这种技术具有很好的抗干扰能力,反
应速度较快,不受恶劣气候和色彩的影响,而且易于安装。
图3.9.2红外线车辆检测器
第四章系统软件设计
系统的控制程序事实上可以分为多种模块:键盘设计处置程序,车流检测程序,LED数码管显示程序,状态灯控
制程序,违规通行判别程序,信号灯时间的程
等。
4.1主程序设计流程
单片机初始化会出现初始数值,最先进行自动化模式,之后获得键盘数据信息是用键盘扫描程序,依据按键具
体状况进入不一样的工作模式,在数码管和LED中通过各种模式子程序把交通信号表现出来。总流程图如下:
图4.1-1系统总流程图
4.2子程序模块设计
东西车道和南北车道交叉形成了十字路口,在任何一个时间段只能有一个方向的车道可以通行,另外一个方向
的车道则会禁止车辆通行,延续一段时间后,经历一段很短的时间进行过度,然后改变通行和禁止通行的方向。
1.系统打开时,东西方向是20秒时长绿灯为通行信号,南北方向是25秒时长的红灯为禁止通行信号。在东西方
向是绿灯信号的时候,在该方向的红外车流量检测装置会对车流量进行检测。在南北方向是红灯信号,该方向的红
外车辆检测装置会对闯红灯行为进行检测并会发出警报。
2.当东西方向的绿灯时长为20秒时,如果在该时间段内有10辆以上(即通行车辆数量大于绿灯周期时间20秒的一
半)的车辆通过时,那么就会在东西方向下一个绿灯周期会延长5秒,会是25秒的绿灯通行时间。此时南北方向的红
灯为30秒。在下一轮东西方向绿灯在25秒的周期内,如果通行车辆数量达到12辆以上(即通行车辆数量大于绿灯周
期时间25秒的一半),则东西方向的下一周期绿灯时间会增加5秒,通行时间为30秒。此时南北方向的红灯为35秒。
南北方向绿灯东西方向红灯情况同理。
3.在东西方向为20秒时长绿灯的初始情况下,该绿灯时间段内通过的车辆数量少于10辆(通行车辆数量小于绿灯周
期时间20秒的一半),在下个周期东西方向的绿灯通行时间就会缩短5秒,会是15秒(绿灯最短周期时间)的绿灯通
行时间,此时南北方向的红灯时间为20秒。同理,如果南北方向的绿灯通行时间为25秒,在该绿灯通行周期内车辆
少于13辆(即通行车辆数量小于绿灯周期时间25秒的一半)时,则南北方向的下一周期绿灯时间会减少5秒,南北绿
灯通行时间为20秒。此时东西方向的红灯为25秒。
4.东西绿灯通行时间与南北绿灯通行时间互相不会影响。
4.3系统的子程序
4.3.1车流检测子程序
当某个方向车流量比较多甚至出现堵塞情况,而且另外一个方向的车流量较少,出现这种状况后,如果只依靠
一般信号灯的基本程序设定的时序,很大可能会让该路口交通问题进一步恶化。为了更大化的体现交通信号灯的作
用,需要对各个路口的车辆数量进行实时检测和监测。该系统采用的是红外线车流量检测装置进行对车辆数量进行
实时检测,在十字交叉路口的每个方向都安装了该检测装置。如果红外线车流量检测装置检测到车辆通过的信号
后,则把这一车流量信号会经过转换装置变换成为电压信号输入到单片机里,信号的状态经过控制系统的判别之
后,再通过对数据进行处理与计算最终可得到车流量的实际值。根据编制好的程序及规则,就可以自动调整该路口
的各个方向的交通信号灯的具体通行状态。流程图见下图。
图4.3.1车流量检测改变交通灯状态流程图
车流量检测改变交通灯状态C语言程序:
if(dx_nb0&&sec_nb0)
{
P2=0x00;
Green_nb=1;
Red_dx=1;
dx_nb=!dx_nb;
shanruo=0;
if(flag110/set_timenb>=5)
{set_timenb=set_timenb+5;}
else
{
set_timenb=set_timenb-5;
if(set_timenb<15)
{
set_timenb=15;
}
}
flag1=0;
sec_nb=set_timenb;
sec_dx=set_timenb+5;
}
if(dx_nb1&&sec_dx0)
{
P2=0X00;
Green_dx=1;
Red_nb=1;
dx_nb=!dx_nb;
shanruo=0;
if(flag210/set_timedx>=5)
{set_timedx=set_timedx+5;}
else
{
set_timedx=set_timedx-5;
if(set_timedx<15)
{
set_timedx=15;
}
}
flag2=0;
sec_dx=set_timedx;
sec_nb=set_timedx+5;
}
}
4.3.2紧急情况处理子程序
在发生重大事故或事件时,一些救援车辆或者警用车辆需要快速顺利从交通路口通过,在种状况下,一定保证
紧急车辆顺畅通过,因为在该紧急状况下每时每刻都与人们的生命财产安全息息相关,一定要分秒必争。所以为了
达到该目的就要在交通信号灯控制中增加紧急模式按键。在遇到紧急状况时,把紧急按键按下,该路口各个方向的
交通信号灯全部变为红色,原有的各信号灯倒计时保持不变,紧急车辆就可以顺利通过,当该路口交通信号灯恢复
正常状态时,再次按下紧急按键,交通信号灯就会恢复到原来的正常状态,数码管也会恢复正常的倒计时。程序流
程图如图4-5所示。
4.3.2紧急状态流程图
紧急状态C语言程序:
if(k5!=1) //如果确定按下
{
flag3=0;
flag5=1-flag5;
if(flag51)
{
TR0=0; //关定时器
P2=0x00; //灭显示
sec_dx=00; //四个方向的时间都为00
sec_nb=00;
Red_dx=1;
Red_nb=1;
} //全部置红灯
4.3.3车辆闯红灯检测子程序
很多交通事故就是因为机动车闯红灯造成的,闯红灯的现象非常普遍,也对交警及管理人员带来很大的工作
量。为了减少闯红灯带来的交通事故和管理人员的工作量,所以在各个路口安装红外线传感器来检测闯红灯的车
辆。如果某方向的信号灯为红灯时,车辆通过该路口,该检测装置就会检测到该闯红灯车辆,并且该装置上安装的
蜂鸣器就会发出警报声,从声音上来提醒闯红灯的驾驶员可以更加直接的提高警示作用。
4.3.3车辆闯红灯检测流程图
闯红灯检测C语言程序:
flag_k8=1;
if(Green_dx1)
{
flag2++; //东西车流量加
if(flag2>=99)
flag2=0;
}
else if(Red_dx==1)
{
BUZZ=0; //有闯红灯蜂鸣器报警
countt1=0;
}
第五章Proteus仿真软件与Keil软件
5.1 Proteus仿真软件
5.1.1 Proteus软件介绍
Proteus的 ISIS是英国实验室电子工程公司开发的 EDA工具, Proteus在全球范围内的应用范围更广,它不仅
包含了 PCB的自动化或人工布线、电路模拟和原理图等功能,还具备了与其他 EDA工具相同的创新功能,它还具备
了交互仿真能力,可以根据图形的原型程序,对原始代码进行实时调整,如果输出和显示结果,则可以查看最终的输出结果。
Proteus是一种集成了 SPICE仿真、高级原理布图、 PCB设计以及自动化布线技术的综合而成的电子设计体系。
Proteus的产品包含了创新的 VSM技术,用户可以利用基于微处理器的设计和周边的电子设备来进行模拟。用户在进行交互模拟时,要利用键盘,终端, LED/LCD,RS232等动态的外部设备。
5.1.2 Proteus软件的特点
1、单片机软件的标准系统可以在该仿真软件中完全满足,而且与相关的产品相比具有更大的优势。
2、具有多种多样的仿真功能如数字电路仿真、模拟电路仿真、RS-232动态仿真等仿真。支持多种型号的单片机如
8051系列、AVR系列、68000系列、Z80系列单片机。对外围芯片和存储器有更多的支持。所以此proteus仿真软件汇
集了单片机和SPICE分析,是能力非常强大的一款仿真软件。
3、Proteus和别的仿真软件有着很大的区别,proteus不只可以对单片机CPU进行仿真,同时也可以对单片机外围电
路进行仿真。所以程序调试和仿真的时候,不再关注对一些程序执行时存储器和寄存器一些更改的内容,而是在工
程的角度可以非常明确的看到工作时的运行过程和输出的结果。在仿真技术方面,从此也可以更好的去加强弥补实
验和具体工程的间的脱轨的现象。
5.2Keil C51软件分析
Keil C51生产于美国keil Software 公司的兼容c语言软件开发的51系列单片机,c语言在结构、功能、维护和可读等方面与汇编相比有很大的优势,所以非常容易学习和使用。
相对于 C语言,尽管编译器的编译速度更快,但是它的易读性更差,而且更复杂的程序也更难读懂,而 C语言
的代码通常和汇编语言的速度差不多,但它的易用性和易读性却远远超过了汇编。并且 C语言可以通过嵌入的方式
来解决高时效的编码问题。从开发时间上看, C语言在编程过程中的开发周期比汇编语言要短。C语言是 C语言,它
具有比汇编更大的优点。
KeilC51能够为用户提供多种类型的库功能以及强大的集成调试工具。另外,这个软件对于产生目标代码的效率
很高,而且大多数都是很简洁的汇编代码,很容易理解。当你在开发一个大的软件时,你可以更好地理解这种高级语言的强大。
在本次毕业设计中编程环境选择的是Keil μVision4软件。该软件可以支持不同生产商生产的各种架构芯片,
该软件把仿真、编译和编辑集中在一起,该软件还可以支持汇编、PLM、C语言程序设计,而且非常简单容易学习。
还有更加强大的软件仿真功能。在软件调试初期,Keil μVision4软件会提供出更加便捷的运行环境。
本次毕业设计采用的C语言当作程序语言编程详见附件。
第六章总结与展望
本次毕业设计是以STC89C52单片机为核心,进行对交通信号灯的改进。单片机在现在社会各个领域普遍被采
用,它具有性能高、响应快、价格低、功能扩展方便、体积小和可以多次编程等优势。
在该设计中以原有的交通信号灯功能为基础,进一步对信号灯的功能进行改进。主要改进的功能有增加了红外
线车流量检测系统,该系统可以实时检测交通违法现象,红外线检测车辆,通过蜂鸣器对闯红灯的车辆发出警报。
另外该检测系统还可以对车流量进行检测,根据具体车流量对路口各个方向的交通信号灯的明亮时间进行合理加长
时间和缩短时间,大大提高了路口车辆的通行效率和资源的利用率。该毕业设计还对交通信号灯增加了夜间模式功
能和紧急状况功能。因为深夜车辆较少信号灯作用较小,白天长时间工作的红灯绿灯得到休息,可延长信号灯的使
用寿命,所以增加了夜间模式。为了紧急车辆可以快速通行,最大限度降低人们的生命财产安全损失所以增加紧急
通行模式。
虽然通过增加了红外线车流量检测模式,夜间模式和紧急车辆通行模式。但是因为本人能力有限该毕业设计还
有不足之处。比如,交通信号灯红外线车流量检测模式中,如果行人或者非机动车闯入红外线检测范围内,可能系
统会误判为机动车的数量,导致车流量检测会出现一定的误差。
通过对毕业设计长达数月的准备,这次毕设是我对单片机最深入接触和了解的一次。在此次过程中通过吴俊国
导师的指导,网络资源的查找和单片机教材的学习。本人在单片机知识的积累上和能力上得到很大的提高。特别是
自己的编程逻辑思维能力,动手操作能力和C语言掌握能力上取得很大的进步。
最后,希望自己今后利用掌握的单片机知识,对交通信号灯的功能可以更能进一步的完善和提高。使交通信号
灯的功能更加强大,更加科技,更加人性化。能够大大提高通行效率,大大降低交通事故的发生率。为人们的生活
带来更大的方便,为国家的发展带来更大的支持。
更多推荐



所有评论(0)