智能交通信号灯模拟控制系统设计毕业设计论文稿

更新时间:2024-06-12 11:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

惠州学院

HUIZHOU UNIVERSITY

毕 业 论 文(设 计)

中文题目: 智能交通信号灯模拟控制系统设计

英文题目: Design of Simulation Control System for

Intelligent Traffic Signal Lights

姓 名 0000 学 号 000

专业班级 电子信息工程1班 指导教师 00000 提交日期 2012年5月25日

教务处制

智能交通信号灯模拟控制系统设计

姓名:0000 班级:000 指导老师:000 职称:讲师

(惠州学院电子科学系,广东,惠州,516007)

摘 要

交通信号灯是一种重要的交通指示工具。它能够指示通过交叉路口的机动车辆和过往的人群有序地通行,是维系道路交通顺畅,减少道路堵塞的主要工具之一。针对传统交通信号灯存在不能根据车流量大小自动调节通车时间的缺点,本文提出了以单片机为主控制器,超声波传感器测车流量的新型智能交通信号灯模拟控制系统的方案。

本论文设计的智能交通信号灯模拟控制系统采用AT89C51单片机为控制器,以URF04超声波模块检测实时通行的车流量,通过RS-485传输线通讯,主控制器根据从控制器反馈回来的信息,实时调整通行时间,可以有效地疏导交通。

关键词

交通信号灯 智能 单片机

目录

1. 绪言 ...................................................................................................................................... 1 1.1 智能交通信号灯控制系统概述 ..................................................................................... 1 1.2 交通信号灯的应用及其发展趋势 ................................................................................. 1 2. 系统控制器及外围数字电路IC芯片简介 ........................................................................ 2 2.1 系统整体电路框图 ......................................................................................................... 2 2.2 AT89C51单片机简介 ...................................................................................................... 4 2.3 LED显示器 ...................................................................................................................... 7 2.3.1 LED数码管显示器的结构原理 .............................................................................. 7 2.4 超声波收发模块 ............................................................................................................. 8 2.4.1 超声波测距原理 ..................................................................................................... 8 2.4.2 超声波收发模块简介 ............................................................................................. 9 2.5 74LS138译码器 ............................................................................................................ 10 2.6 74LS373锁存器 .............................................................................................................11 2.7 74LS04反相器 .............................................................................................................. 12 2.8 MAX485收发器 .............................................................................................................. 13 3. 硬件系统设计 .................................................................................................................... 13 3.1 交通信号灯控制方案选择 ........................................................................................... 13 3.2 硬件电路设计 ............................................................................................................... 15 3.2.1 通行时间显示电路 ............................................................................................... 15 3.2.2 单片机时钟电路 ................................................................................................... 17 3.2.3 单片机复位电路 ................................................................................................... 17 3.2.4 人行道信号灯控制电路 ....................................................................................... 18 3.2.5 机动车道信号灯控制电路 ................................................................................... 18 4. 软件系统设计 .................................................................................................................... 19 4.1 主机程序流程图 ........................................................................................................... 19 4.2 C语言程序设计 .......................................................................................................... 21 4.2.1 1秒钟程序设计 .................................................................................................... 21 4.2.2 LED数码显示器程序设计 .................................................................................... 22 5. 系统调试与结果分析 ........................................................................................................ 22 5.1 硬件调试 ....................................................................................................................... 22 5.2 软件调试和下载 ........................................................................................................... 23 5.3 结果分析 ....................................................................................................................... 24 致谢 .......................................................................................................................................... 26 参考文献 .................................................................................................................................. 27 附录一 主机系统电路图 ...................................................................................................... 29 附录二 电路源程序 .............................................................................................................. 30

1. 绪言

智能交通信号灯控制系统是控制交通道路十字路口中车辆和行人往来顺畅,维持道路正常通行的有效工具。它可以根据道路车流量的实际状况进行红绿灯通行时间的调控,减少道路堵塞,优化交通,具有一定的智能性。系统组成包括主机和从机系统两部分。主机系统的组成包括微型控制器MCS-51单片机、电源、红绿灯显示、通行时间显示和MAX485转换器五部分。从机系统的组成包括微型控制器MCS-51单片机、电源、超声波传感器模块和MAX485转换器四部分组成。

1.1 智能交通信号灯控制系统概述

随着经济的发展,汽车的拥有数量越来越多,道路交通堵塞情况日益严重。交通拥堵已成为城市发展中的一个需要迫切解决的社会问题。传统的交通信号灯由于其红绿灯的通行时间都是固定不变的,因此,也就无法根据道路实际的车流量实时调整红绿灯的通行时间。这种不足导致其不能有效地解决道路堵塞的问题。此外,从土地资源利用的角度来看,由于土地使用的限制,也不能靠简单的道路扩建来解决交通拥堵的问题。因此,这就要求我们在现有的道路基础上,研究、设计出一种有效的交通信号灯控制系统,实时控制,提高交通控制水平,更加灵活有效地提高道路的利用率。从而减少交通拥堵,实现道路畅通,缓解日益严重的交通问题。

1.2 交通信号灯的应用及其发展趋势

在国际上,交通信号的含义大同小异,而且正趋于统一。1968年联合国《道路交通和 道路标志、信号协定》,对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行、左转弯和右转弯,除非另有一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通过。红灯是禁行信号。因为在可见光中红光的电磁波最长,易于为人们在较远距离外辨认,为保证交通安全,所以采用红灯为禁行信号。面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时,可以进入交叉路口。有的国家规定黄灯只能单独出现,有的规定黄灯可以与红灯同时出

1

现,前者是警告信号,后者是预告信号。有些国家的人行横道灯也采用红黄绿三色信号灯,其中黄灯是警告行人这时不宜穿越马路。

在某种情况下,为了分离各种不同方向的交通流并对其提供独立的通行时间,可以用带箭头的灯来代替普通的绿信号灯。箭头信号灯有两种,一种是单独的绿箭头信号灯,面对这种信号灯的车辆只可沿着绿箭头所指示的方向行驶;另一种是带红灯的绿箭头信号灯,面对这种信号灯的车辆在不妨碍那些合法地在人行横道上行人和正在合法地通过交叉路口的车辆通行的情况下可以沿着箭头指示的方向行驶有的国家还采用一种闪动的交通信号灯,黄闪灯、红闪灯和绿闪左转弯(靠右行驶的国家为右转弯)箭头信号灯三种。面对黄闪灯的车辆可以小心地通过交叉路口,面对红闪灯的车辆不得通行,面对绿闪左转弯或右转弯箭头信号灯的车辆除了可以直行之外还可以左转弯或右转弯。

目前,安装在交叉路口的交通信号灯多为自动控制的信号灯,有的是固定周期,有的是变周期。用信号灯控制一个交叉口交通的方式叫点控制;将一条道路上几个交叉口的信号灯联系起来,协调运转,这种控制交通的方式叫线控制;用计算机控制几条道路上的若干个交叉口的信号灯,使之协调运转,这种方式叫面控制。

随着智能控制技术的发展,未来的交通信号灯控制系统将朝着智能化、自适应的方向发展。智能交通信号灯控制系统能够根据实际的车流量状况进行实时调控红绿灯的通行时间,减少道路堵塞,优化道路交通状况。目前已有相关的课题研究。例如:采用基于电磁感应原理的地感线圈检测车流量,PLC为主控制器的智能交通控制系统;采用压力传感器与控制器组成的实时交通控制系统;基于微波检测的智能交通控制系统等方案。此外,据报道,德国将采用新型的智能交通控制系统。具体是德国公路上的探测器将被小型计算机取代,司机可以和智能交通灯随时进行“对话”。这一方案是由德国卡塞尔大学交通技术和运输物流系进行研究。

2. 系统控制器及外围数字电路IC芯片简介

2.1 系统整体电路框图

本设计系统的硬件电路总体框图见图2-1、图2-2所示。主要组成部分包括:系统微控制器(AT89C51单片机)、超声波收发模块、外部电路数字IC芯片和LED数码管显示器等。

2

图2-1 系统主机总体框图

图2-2 系统从机结构框图

3

2.2 AT89C51单片机简介

MCS-51系列单片机是目前国内应用最广泛的单片机之一。随着基于MCS-51系列单片机的嵌入式实时操作系统的出现与推广,在很长一段时间内,MCS-51系列单片机仍将占据嵌入式系统产品中的中、低端产品市场。本文将介绍一种以MCS-51系列单片机为主控制器,以超声波传感器检测车流量的新型交通信号灯模拟控制系统。随着计算机技术与微电子技术的发展,智能仪表的功能逐步完善,工作的可靠性也进一步提高,而单片机却是随着功能的不断增强,价格逐渐降低。在本系统设计中,使用美国ATMEL公司生产的8位单片机——AT89S51作为控制器件。AT89C51是一种带4K字节可编程可擦除只读存储器的低电压,高性能CMOS结构的8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS一51指令集和输出管脚相兼容,并且将多功能8位CPU和FLASH存储器组合在单个芯片中,因而,AT89C51是一种高效的微控制器,为很多智能仪器和嵌入式控制系统提供了一种灵活性高且价廉的方案。下面简单介绍一下该单片机的一些特性。

8位单片机AT89C51的主要特性是: ●与MCS-51指令兼容

●4K字节在系统可编程(ISP)Flash闪烁存储器 ●寿命:1000写/擦循环 ●4.0-5.5V的工作电压范围 ●全静态工作模式:0Hz-33Hz ●三级持续加密锁 ●128×8字节内部RAM ●三级程序存储器锁定 ●32位可编程FO线

●两个16位定时器/计数器 ●5个中断源

●全双工串行UART通道 ●低功耗的闲置和掉电模式 ●中断可从空闲模式唤醒系统 ●看门狗(WDT)及双数据指针

4

●片内振荡器和时钟电路 ●掉电标志和快速编程特性

●灵活的在系统编程(ISP-字节或页写模式)

图2-3 AT89C51结构图

单片机AT89C51各引脚定义如图2-4所示,引脚定义见表2-1。

5

图2-4 引脚定义图

表2-1 AT89C51引脚定义表 引脚序列 1-8 9 10 11 12 13 14 15 16 17 18 19 20 21-28 29 30 31 32-39

引脚号 P1.0~P1.7 RST RXD/P3.0 TXD/P3.1 INT0/P3.2 INTl/P3.3 T0/P3.4 Tl/P3.5 WR/P3.6 RD/P3.7 XTAL2 XTAL1 GND P2.0-P2.7 PSEN ALE/PROG EA/Vpp P0.0-P0.7 功能 8位准双向I/O口 复位输入口 串行接收口、P3.0 I/O口 串行输出口、P3.1 I/O口 外部中断0输入口、P3.2 I/O口 外部中断1输入口、P3.3 I/O口 定时计数器O输入口、P3.4 I/O口 定时计数器1输入口、P3.5 I/ O口 外部数据存储器写选通、P3.6 I/O口 外部数据存储器读选通、P3.7 I/O口 时钟振荡器的输入腧出端2 时钟振荡器的输入腧出端1 信号地 8位双向I/O口、可作存储器的高8位地址 程序存储允许输出信号端 片外存储器地址锁存信号 外部取指使能信号 数据/低8位地址复用端口 6

续表2-1 40 VCC 电源 2.3 LED显示器

在小型控制装置和数字化仪器仪表中,往往只要几个简单的数字显示或字状态便可满足现场的需求,而LED显示数码管因其成本低廉、配置灵活、与计算机接口方便等特点,在小型微机控制系统中得到极为广泛的应用。 2.3.1 LED数码管显示器的结构原理

发光二极管LED利用PN结把电能转换光能的固体发光器件,根据制造材料的不同,可以发出红、黄、绿、白等不同色彩的可见光束。LED的伏安特性类似于普通二极管,正向压降为2V左右,工作电流一般在10mA~20mA之间较为合适一个8段LED显示器的结构如图2-5所示。它是由8个发光二极管造成,各段依次记为a、b、c、d、e、f、g、dp,其中dp表示小数点(不带小数点的称为7段LED)。8段LED有共阴极和共阳极两种结构,分别如图2-6、图2-7所示。

D

图2-5 8段数码管结构图

7

dp

COM COM

图2-6 共阴极结构图 图2-7 共阳极结构图

共阴极LED的所有发光管的阴极并接成公共端COM,而共阳极LED的所有发光管的阳极并接成公共端COM。当共阴极LED的COM端接高电平,则某个发光管的阴极加上低电平时,则该管有电流流过因而点亮发光。LED各段不同点亮的组合可以显示0~9、A~F等十六进制数。

表2-2 LED段选码

显示 共阴极段选码 字符 0 1 2 3 4 5 6 7

3FH 06H 5BH 4FH 66H 6DH 7DH 07H 共阳极段选码 C0H F9H A4H B0H 99H 92H 82H F8H 显示 共阴极段选码 字符 8 9 A B C D E F 7FH 6FH 77H 7CH 39H 5EH 79H 71H 共阳极段选码 80H 90H 88H 83H C6H A1H 86H 8EH 2.4 超声波收发模块

2.4.1 超声波测距原理

超声波是指频率高于20KHz 的机械波。为了以超声波作为检测手段,必须产生超声波和接收超声波,完成这种功能的装置称为超声波传感器。超声波传感器有发送器和接收器,有的也可具有发送和接收声波的双重作用。

8

根据超声波的产生方式,超声波传感器可分为两大类:一类是电气式,如压电式、磁致伸缩式和电动式等;一类是机械式,如加尔统笛、液哨等。目前常用的是压电式超声波传感器。它利用压电效应的原理将电能和超声波相互转化,即发射超声波时,将电能转换为超声波发射出去;在收到回波时,将超声振动转换成电信号。超声波测距的原理一般采用时间差法,即测出超声波从发射到遇到障碍物返回所经历的时间T,再乘以超声波的速度C就得到二倍的声源与障碍物之间的距离D,即

D=C*T/2

式中,D—传感器与障碍物之间的距离;C—声波在介质中的传输速度。由于超声波易于定向发射、方向性好、强度易控制、与被测物体不需直接接触,故超声波传感器广泛地应用于液体高度测量、汽车倒车等方面。为了提高测量精度,减小误差,根据公式可知,测距误差由传播速度误差和传播时间误差引起。当传播速度准确时,传播时间差值精度只要达到微秒级,就可保证测距误差小于1mm。设计中,可采用12MHz 晶体作时钟的基准,单片机定时器的计数精度可达1us,从而保证测量精度。传播速度受空气密度的影响,空气密度越高,传播速度越快,而空气密度与温度有密切关系。在理想气体中声波的传播速度C为:

C=

?RT/M

式中,γ—气体定压比热容与定容比热容之比;R—气体常数;M—气体分子量;T—绝对温度。若温度变化不大,则可认为声速基本不变,其值为340m/s。若测距精度要求较高,为减小温度变化对声速产生的影响,在设计中,应增加温度传感器来监测环境温度,进行实时温度补偿,近似公式为C=C0+0.607×T℃ 式中,C0—零度时的声波速度332m/s;T—实际温度(℃)。 2.4.2 超声波收发模块简介

图2-8是本设计系统采用的超声波测距模块(URF04模块)实物图。其主要技术参数如下:

9

图2-8 超声波测距模块实物图

? 工作电压:DC 5V ? 静态工作电流:小于2mA ? 电平输出:高 5 V ? 电平输出:低 0V ? 感应角度:不大于15° ? 探测距离:2cm—500cm

URF04模块工作原理:

采用IO触发测距,给至少10us的高电平信号,模块得到有效触发电平后,自动发射8个40Hz的方波,自动检测是否有信号返回。当有信号返回时,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。根据下面公式计算

L=(T*C)/2

式中L表示测量距离,T表示高电平持续时间,C表示声速。在测量精度要求不高时,取C=340m/s计算。

2.5 74LS138译码器

74LS138引脚图见图2-9,引脚符号分别表示:引脚1、2、3、表示地址码输入;引脚6表示芯片选通端,高电平有效;引脚4、5选通端,低电平有效;Y0~Y7输出端,低电平有效;引脚8为接地端;引脚16为电源端。

10

图2-9 74LS138引脚图

74LS138译码器的功能如表2-3所示。表中字母含义:G2*=G2A+G2B;H表示高电平,L表示低电平,X表示任意电平。

表2-3 74LS138译码器功能表

2.6 74LS373锁存器

图2-10是74LS373锁存器的引脚图。各引脚含义是:引脚1表示三态允许控制端(低电平有效);引脚3、4、7、8、13、14、17、18表示输入端(D0~D7);引脚2、5、6、9、12、15、16、19表示输出端;引脚11表示锁存允许端。

11

图2-10 74LS373锁存器引脚图

74LS373锁存器的真值表如表2-4所示,表中H表示高电平;L表示低电平;X表示任意电平;Z*高阻态。

表 2-4 74LS373锁存器真值表

Dn H L X X LE H H L X OE L L L H On H L Q0 Z*

2.7 74LS04反相器

74LS04反相器的引脚图见图2-11。74LS04为六组反相器,引脚1为输入端、对应2输出端;3输入端、4输出端;如此类推。引脚7接地端;引脚14电源端。

图2-11 74LS04反相器引脚图

12

2.8 MAX485收发器

MAX485收发器是Maxim公司的一种RS-485芯片。采用单一电源+5 V工作,额定

电流为300 μA,采用半双工通讯方式。它完成将TTL电平转换为RS-485电平的功能。MAX485引脚图见图2-12。

图2-12 MAX485引脚图

RO为接收器的输出端,DI为驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100Ω的电阻。

3. 硬件系统设计

3.1 交通信号灯控制方案选择

作为交通信号灯控制系统的微型控制器可以有多种选择。因而实现的方案有多种。包括选用标准数字可编程逻辑控制器件、可编程控制器PLC、嵌入式控制器ARM、以及MSP430单片机等控制器作为主控制器。但是,这些控制器要么在控制上要求专业知识较高,要么价格相对较高。一方面给系统设计的调试带来一定困难,另一方面则增加了

13

生产成本。有鉴于此,通过综合考虑后,本设计最终选择了价格相对较低,控制设计技术相当成熟的AT89C51单片机作为系统的主控制器。该型号单片机具有简单实用,高可靠性和性价比高等优点。而且这种单片机已经在国内外的各个领域中得到了很好的运用,可参考资料多,使得设计人员在设计过程中遇到技术困难时,可以找到相关的参考方案来辅助解决。

此外,实现超声波检测实时车流量的控制方案有三种可以选择。一是超声波安装在交通信号灯处,直接检测;二是超声波模块安装在50米处,主机和从机通过无线收发模块通讯;三是超声波也是安装在50米处,主机和从机通过RS-485传输通讯。对于第一种方案,由于超声波能检测到50米远的模块较少,而且价格不菲,为此,不选。第二种方案,由于使用到无线收发传输,在控制上难度较大。第三种方案,RS-485传输距离可以达到1000米左右,满足设计要求,控制相对简单,价格较低。基于上述考虑,系统设计采取第三种方案。

本设计系统由主机控制系统和从机控制系统两部分组成。其中,主机控制系统可以实现控制通行时间的倒计时显示、直走、左拐、绿灯、红灯、黄灯以及行人道通行信号灯等状态。时间显示使用两位一体LED数码管显示器,信号灯则采用发光二极管,在时间和信号灯的指示下,指挥机动车辆和人群有序地通过交叉路口,实现道路通行顺畅。另外,从机控制系统负责检测道路的实时车流量,进而反馈到主机控制系统,主机控制系统根据收到的信息做出是否增加通行时间的调整控制。主机控制系统通过RS-485线和从机控制系统通讯。

本系统设计运行的交通规则如图3-1所示。具体控制是:

(1)、南北车道B车道指示直走,同时指示左拐,A车道红灯亮,东西车道亮红灯。

(2)、南北车道A、B同时指示直走。

(3)、南北B车道红灯亮,A车道指示直走,同时指示左拐。

(4)、南北车道红灯亮,东西C车道指示直走,同时指示左拐,D车道红灯亮。 (5)、东西C、D车道同时指示直走。

(6)、东西C车道红灯亮,D车道同时指示直走、左拐。

如此类推循环运行。此外,当一车道正在通行时,且此时从机控制系统检测到该车道50米处还有车辆停滞,则向主机控制系统发出增加通行时间的信息,实时调整通行时间。这样可以减少车辆堵塞,优化道路交通状况。

14

图3-1 交通运行图

3.2 硬件电路设计

3.2.1 通行时间显示电路

本系统采用LED数码管作为时间倒计时显示器。鉴于实际显示时间位数,取两位一体的LED数码管显示器。此外,由于控制器端口数有限,同时也是为了节约电能,在控制显示时采取动态显示的方式。电路见图3-2。其中,段选码由AT89C51单片机的

15

图3-2 时间显示屏电路图

P0口输出,位选码控制由74LS138译码器的输出端接反相器后控制,为共阳控制方式。74LS138的控制电路接线见图3-3所示。74LS138 译码器的输入端A、B、C接单

图3-3 74LS138电路接线图

16

片机的P3.5、P3.6、P3.7端口。使能端E1接P3.4。 3.2.2 单片机时钟电路

AT89C51单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在本设计中,采用内部振荡方式。电路见图3-4所示。单片机引脚XTAL1和

图3-4 时钟电路图

XTAL2外接晶振12MHz,构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡,并产生振荡时钟脉冲。电容器C1、C2起稳定振荡频率,快速起振作用。 3.2.3 单片机复位电路

本设计系统的复位电路见图3-5所示。复位操作完成单片机内电路的初始化,

图3-5 复位电路图

17

使单片机从一种确定的状态开始运行。当AT89C51单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位电路操作。需要注意的是,当复位端RST持续高电平的时间过长,单片机就会处于循环复位状态,这样,单片机就无法执行程序。因此,要求单片机复位后能够脱离复位状态。本系统的复位电路采用上电开关复位电路。上电后,由于电容充电,使RST持续一段时间。当单片机已经在运行时,按下复位键也能使RST持续一段时间的高电平,从而实现上电开关复位的功能。 3.2.4 人行道信号灯控制电路

为了节省控制端口,电路控制采取74LS373锁存器+74LS04反相器控制。经分析,由于人行道信号灯的亮灭状态刚好相反,即同一处的信号灯,若亮绿灯,则该处的红灯灭,根据这种状态控制方式,故采取上述电路控制。此外,51单片机的端口可以最多驱动8个TTL电平,所以,在设计时采取了一个输出端口,控制锁存器的两个数据输入端口。以节省电路控制端口。电路见图3-6所示。

图3-6 人行道信号灯控制电路图

3.2.5 机动车道信号灯控制电路

经分析,可以发现有这么一种状态。如果是南北车道通行控制,则东西车道只需控

18

制红灯的亮灭。也就是说,每次只需单独控制十个灯的状态即可。为此,南北车道和东西车道的直走,左拐和黄灯控制可以由同一单片机端口输出控制信号,外加使能控制,分时工作即可。这样,又可减少端口的使用。电路采取两片74LS373锁存器,锁存器的LE口都接高电平,/OE口则由单片机的P2.4和P2.5控制,数据输入由P1口的0、1、3、4、5、7端口输出。控制电路图见图3-7所示。

图3-7 机动车道信号灯控制电路图

4. 软件系统设计

4.1 主机程序流程图

主机程序流程图如图4-1所示。

19

开始东西C车道直行、左拐灯亮秒倒计时显示向从机发送启动检测信号系统初始化NO南北A车道直行、左拐灯亮显示秒倒计时向从机发送启动检测信号从机传输回有效信号YES时间增加20秒从机传输回有效信号YES时间增加20秒NO东西C车道直行、左拐时间到NOYES东西C、D车道直行秒倒计时显示向从机发送启动检测信号NO南北A车道直行、左拐时间到YES南北A、B车道直走灯亮秒倒计时显示向从机发送检测信号NO从机传回有效信号YES时间增加20秒从机传回有效信号YES时间增加20秒NO东西C、D车道直行时间到NOYES东西D车道直行、左拐灯亮秒倒计时显示向从机发送启动检测信号NO南北A、B车道直走时间到YES

20

从机传回有效信号YES时间增加20秒NOYES东西D车道直行、左拐时间到NO

图4-1 主机程序流程图

4.2 C语言程序设计

4.2.1 1秒钟程序设计

AT89C51单片机定时/计数器有4种工作方式,不同的工作方式有不同的特点。其中,工作方式0是13位方式;工作方式1是16位方式;工作方式2是8位自动装入计数初值方式;工作方式3是T0为2个八位方式。

定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式:

TC =M?C

式中M为计数器摸值,该值和计数器工作方式有关。在方式0时M为8192 ;在方式1时M的值为65536;在方式2和3为256。

T?(M?TC)?T计数

T计数是单片机时钟周期TCLK的12倍,TC为定时初值。如单片机的主脉冲频率为TCLK=12MHZ,经过12分频,

方式0 TMAX=213?1us=8.192ms 方式1 TMAX=216?1us=65.536ms

21

显然1秒钟已经超过了计数器的最大定时间,所以设计时只有采用定时器和软件相结合的办法才能解决这个问题。

本设计中采用在主程序中设定一个初值为20的软件计数器和使T0定时50ms.这样每当T0到50ms时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。 4.2.2 LED数码显示器程序设计

LED数码管显示分为静态显示和动态显示两种方式。为了节省控制端口和节约能源,系统设计采取动态显示方式。动态显示是利用了人的视觉惯性,虽然同一时间里只能显示一个,但是,通过不断地分时轮流扫描显示,只要每个显示保持延时几毫秒,刷新周期不超过20ms(刷新周期和LED工作电流有关)就可获得视觉稳定的显示效果。

本系统设计中有四个二位一体的LED数码管显示器显示交通信号灯通行时间。为了实现动态显示,系统采用74ls138译码器作为位选端控制输入,单片机的P0口作为段选码输出控制,分时控制显示时间。显示时采取倒计时方式显示。具体编程时将0~9数字段码的十六进制放在一个一维数组里,如: uchar code tap[10]={0xC0,0xF9,0xA4, 0xB0,0x99,0X92,0x82,0xF8,0x80,0x90};此为共阳极0~9数字段码,在显示函数Show_LED()里按动态显示,逐一轮流显示。

5. 系统调试与结果分析

5.1 硬件调试

电路调试操作流程: (1)短路、开路检测

电路焊接完成后,为了确保焊接的正确性,必需进行短路,短路的检测。把万用表打到二极管档,用红、黑笔接到电路的正负极,检测电路是否存在短路现象。另外,把万用表的红、黑笔分别接到有相连接的回路中,检测回路中是否存在断路、虚焊现象。

(2)确认电路连接的正确性

22

把焊接好的电路板和电路原理图详细对照,仔细观察各个连接点是否和电路原理图一致。此外,对于电路中元器件的正负极性的连接是否正确。

(3)检查系统时钟电路

凡是单片机系统,正常运行的必要条件是单片机系统的时钟稳定正常。实际中,因为各种原因导致系统时钟不正常而出现系统无法正常运行的情况时有,因此系统时钟是否振荡是通电检查的首要环节。检查方法如下:通电后,用万用表的直流电压档(20V),分别测量XTAL1和XTAL2两引脚的电压,看是否正常,在调试过程中,测得电压XTAL1引脚应为2.05V,XTAT2应为2.15V。

(4)检查复位电路

复位不正常也会导致系统不能工作,如果复位引脚始终为高电平,系统将始终处于复位状态;如果始终为低电平,不能产生复位所需的高电平信号脉冲,则系统也可能无法正常工作。单片机正常工作时,RST复位引脚应为0V。

5.2 软件调试和下载

系统软件软件调试采用Keil C51软件,操作界面见图5-1。该软件集编译、编辑、仿真于一体,支持汇编语言和C语言的程序设计,界面友好,易学易用。

C语言程序的一般操作步骤为:建立一个新项目→保存项目→选择单片机型号→创建C文件→将C文件加入项目→输入C语言源程序→设置输出文件格式→编译链接→仿真→运行程序等流程。

图5-1 Kiel C51操作界面图

23

烧录程序到单片机采用STC-ISP软件烧录。软件的界面见图5-2所示。操作步骤如下:①选择单片机型号;②Open File/打开文件,找到要烧录的HEX文件;③选择串行口,最高波特率;④Down Load/下载,先点下载按钮,在单片机上电复位-冷启动。对于加载结果,在界面的左下处可看到,如:已加密,就表示加载成功。

图 5-2 STC-ISP软件操作界面图

5.3 结果分析

经测试工作,系统能够正常工作,交通信号灯的状态显示能够按照设定的循环方式轮流显示,时间显示能够按照设定的倒计时方式动态显示,运行时间及方向次序见表5-1。此外,从机收到主机发送来的启动检测信号后,能够启动超声波检测,且在检测到后可以向主机传输信号,主机收到有效信号后能够在不违反交通运行的情况下,实时增加通行时间20秒,如在南北A车道直行、左拐时间里,在倒计时18秒收到从机传

24

输来有效信号时,即增加20秒,变为38秒。图5-3和图5-4对比,图5-5和图5-6对比。

表5-1 运行时间表

通行时间 南北车道 东西车道 通行时间 南北车道 东西车道

5S A车道直行、左拐 红灯亮 5S 红灯亮 C车道直行、左拐 3S A车道左 拐闪烁 红灯亮 3S 红灯亮 C车道左 拐闪烁 12S A、 B车道 直行 红灯亮 12S 红灯亮 C、 D车道 直行 3S A车道黄 灯闪烁 红灯亮 3S 红灯亮 C车道黄 灯闪烁 5S B车道直行、左拐 红灯亮 5S 红灯亮 D车道直行、左拐 3S B车道黄灯闪烁 红灯亮 3S 红灯亮 D车道黄灯闪烁

图5-3 检测前运行图 图5-4 检测后运行图

图5-5 检测前运行图 图5-6 检测后运行图

25

致谢

本设计是在彭文娟老师的指导下完成的,彭老师是一位极其负责任的指导老师。毕业设计初期时,就制定了详细的工作时间表,对于各个阶段要完成的设计任务都详尽列出,而且按时要求完成。期间,多次集中开会,分析指导,提供修改意见。这种指导方式对于完成电路设计和论文撰写非常有效,是一种不可多得的指导方式。为此,对彭老师在毕业设计期间提供的悉心指导与帮助表示衷心的感谢!

此外,在毕业设计完成期间,还得到了其他老师与同学们提供的极具建设性的意见与指导,对此一并表示感谢!

26

参考文献

[1] 阎石.数字电子技术基础[M].北京:高等教育出版社,2006

[2] 李群芳,张士军,黄建.单片微型计算机与接口技术[M].电子工业出版社,2008

[3] 郁有文,常健,程继红.传感器原理及其工程应用[M].西安:西安电子科技大学出版社,2008 [4] 沈红卫.基于单片机的智能系统设计与实现[M].北京:电子工业出版社,2005 [5] 戴仙金.51单片机及其C语言程序开发实例[M].北京:清华大学出版社,2008

[6] 于勇,戴佳,常江.51单片机C语言常用模块与综合系统设计实例精讲[M].北京:电子工业出版社,2007

[7] 李航,王可人.基于STC89C52RC的超声波测距系统设计[J] .电子测试,2010,(1):55-58 [8] 朱士虎,何培忠,王立魏.基于AT89S52超声波测距仪设计[J] .仪表技术,2009,(6):22-24 [9] 苏小红,陈惠鹏,孙志岗.C语言大学实用教程[M] .北京:电子工业出版社,2004

[10] 齐向东,许志强,于少娟,韩如成.交通信号灯智能控制系统设计与实现[J] .太原科技大学学报,2005,(2):36-38

[11] R. Demirli, J. Saniie. Model-Based Estimation of Ultrasonic Echoes-Part I: Analysis and Algorithms .IEEE Trans. Ultrason. Ferroelect. Freq. Contr. 2001, 48(3)

[12] GAO J,LI J.Multiphase fuzzy control under hybrid traffic flow of single

intersection[A].Intelligent Transportation Systems 2003 [c].Washington:2003,1 329—1 333

[13] Frank V,Givargis T D. A unified hardware/software introduction[J] .Embedded System Design, 2002, 2 (1)

27

ST=0; sec=EW_Timer; Ten=sec/10;

One=sec;

P0=tap[Ten]; ***********C车道十位显示************* K1=0; K2=0; K3=1; ST=1; delay(10);

ST=0;

P0=tap[One]; K1=1; K2=0;

K3=1; ST=1; delay(10); ST=0;

P0=tap[Ten]; K1=0; K2=1; K3=1; ST=1;

delay(10); ST=0;

P0=tap[One]; K1=1; K2=1; K3=1; ST=1; delay(10); ST=0;

}

void Show() {

SN_Timer=20; EW_Timer=36;

Flag=0;

While (SN_Timer>=15) {

S1=0; LED1=0; LED2=0; LED3=0;

************C车道个位显示************ *************D车道十位显示************* *************D车道个位显示************ *****东西南北车道时间倒计时显示函数****** *********南北A车道直走、左拐************ 33

LED4=0; G1=0; Y1=1; R1=1; GL1=0; G2=1; Y2=1; R2=0; GL2=1; R3=0; R4=0;

Show_LED();

If ( count= =9 || count= =19 ) Send();

}

while(SN_Timer>=11) {

if( count= =9 ||count = =19 ) GL1=~GL1; Show_LED(); }

GL1=1; R2=1;

Flag=0;

while( SN_Timer>=0 ) {

R2=1; G2=0;

Show_LED();

if(count= =9 || count= =19 ) Send(); }

G1=1;

SN_Timer=3;

while(SN_Timer>=0) {

G1=1;

Y1=0;

Show_LED(); } G1=1; Y1=1; R1=0; SN_Timer=7;

*********南北A车道左拐闪烁********* ********南北A、B车道直走********** ***********南北A车道黄灯************ 34

Flag=0;

while(SN_Timer>=0) *********南北B车道直走、左拐********* {

GL2=0; R1=0;

Show_LED();

if(count= =9 || count= =19 ) Send(); } GL2=1;

G2=1;

SN_Timer=3;

while(SN_Timer>=0) ***********南北B车道黄灯********** {

Y2=0;

Show_LED(); }

Y2=1; R3=1;

R4=1

********************************南北车道与东西车道通行转换**************************** SN_Timer=36; EW_Timer=20; R1=0; R2=0;

Flag=0;

while(EW_Timer>=15) ********东西C车道直走、左拐********* {

LED1=1; LED2=1; LED3=1; LED4=1; S1=1; S2=0; G1=0; Y1=1; R1=0; GL1=0; G2=1;

Y2=1; R2=0; GL2=1; R3=1;

R4=0;

35

Show_LED();

if(count = = 9 || count = = 19) Send();

}

while(EW_Timer>=11) *********C车道左拐闪烁********* {

if(count= =9 || count = =19 ) GL1=~GL1; Show_LED(); } GL1=1; R4=1;

Flag=0;

while(EW_Timer>=0) {

G2=0;

Show_LED();

if(count = = 9 || count= =19 ) Send();

} G1=1;

EW_Timer>=3;

while(EW_Timer>=0) {

Y1=0;

Show_LED(); } Y1=1;

Flag=0;

EW_Timer>=7;

while(EW_Timer>=0) {

GL2=0; R3=0;

Show_LED();

if(count = = 9 || count= = 19 ) Send(); }

GL2=1;

G2=1;

EW_Timer>=3;

while(EW_Timer>=0) { Y2=0;

**********C、D车道直走*********** **********东西C车道黄灯********** ********东西D车道左拐、直走********* **********东西D车道黄灯********** 36

Show_LED(); } Y2=1;

R3=1; S2=1;

void main() ****************系统主函数*********** { init(); while(1) {

Show(); } }

37

本文来源:https://www.bwwdw.com/article/dng6.html

Top