智能交通信号灯模拟控制系统设计Word文件下载.docx
《智能交通信号灯模拟控制系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《智能交通信号灯模拟控制系统设计Word文件下载.docx(40页珍藏版)》请在冰豆网上搜索。
智能交通信号灯控制系统能够根据实际的车流量状况进行实时调控红绿灯的通行时间,减少道路堵塞,优化道路交通状况。
目前已有相关的课题研究。
例如:
采用基于电磁感应原理的地感线圈检测车流量,PLC为主控制器的智能交通控制系统;
采用压力传感器与控制器组成的实时交通控制系统;
基于微波检测的智能交通控制系统等方案。
此外,据报道,德国将采用新型的智能交通控制系统。
具体是德国公路上的探测器将被小型计算机取代,司机可以和智能交通灯随时进行“对话”。
这一方案是由德国卡塞尔大学交通技术和运输物流系进行研究。
2.系统控制器及外围数字电路IC芯片简介
2.1系统整体电路框图
本设计系统的硬件电路总体框图见图2-1、图2-2所示。
主要组成部分包括:
系统微控制器(AT89C51单片机)、超声波收发模块、外部电路数字IC芯片和LED数码管显示器等。
图2-1系统主机总体框图
图2-2系统从机结构框图
2.2AT89C51单片机简介
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)及双数据指针
●片内振荡器和时钟电路
●掉电标志和快速编程特性
●灵活的在系统编程(ISP-字节或页写模式)
图2-3AT89C51结构图
单片机AT89C51各引脚定义如图2-4所示,引脚定义见表2-1。
图2-4引脚定义图
表2-1AT89C51引脚定义表
引脚序列
引脚号
功能
1-8
P1.0~P1.7
8位准双向I/O口
9
RST
复位输入口
10
RXD/P3.0
串行接收口、P3.0I/O口
11
TXD/P3.1
串行输出口、P3.1I/O口
12
INT0/P3.2
外部中断0输入口、P3.2I/O口
13
INTl/P3.3
外部中断1输入口、P3.3I/O口
14
T0/P3.4
定时计数器O输入口、P3.4I/O口
15
Tl/P3.5
定时计数器1输入口、P3.5I/O口
16
WR/P3.6
外部数据存储器写选通、P3.6I/O口
17
RD/P3.7
外部数据存储器读选通、P3.7I/O口
18
XTAL2
时钟振荡器的输入腧出端2
19
XTAL1
时钟振荡器的输入腧出端1
20
GND
信号地
21-28
P2.0-P2.7
8位双向I/O口、可作存储器的高8位地址
29
PSEN
程序存储允许输出信号端
30
ALE/PROG
片外存储器地址锁存信号
31
EA/Vpp
外部取指使能信号
32-39
P0.0-P0.7
数据/低8位地址复用端口
续表2-1
40
VCC
电源
2.3LED显示器
在小型控制装置和数字化仪器仪表中,往往只要几个简单的数字显示或字状态便可满足现场的需求,而LED显示数码管因其成本低廉、配置灵活、与计算机接口方便等特点,在小型微机控制系统中得到极为广泛的应用。
2.3.1LED数码管显示器的结构原理
发光二极管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所示。
dp
D
图2-58段数码管结构图
COMCOM
图2-6共阴极结构图图2-7共阳极结构图
共阴极LED的所有发光管的阴极并接成公共端COM,而共阳极LED的所有发光管的阳极并接成公共端COM。
当共阴极LED的COM端接高电平,则某个发光管的阴极加上低电平时,则该管有电流流过因而点亮发光。
LED各段不同点亮的组合可以显示0~9、A~F等十六进制数。
表2-2LED段选码
显示
字符
共阴极段选码
共阳极段选码
3FH
C0H
8
7FH
80H
1
06H
F9H
6FH
90H
2
5BH
A4H
A
77H
88H
3
4FH
B0H
B
7CH
83H
4
66H
99H
C
39H
C6H
5
6DH
92H
5EH
A1H
6
7DH
82H
E
79H
86H
7
07H
F8H
F
71H
8EH
2.4超声波收发模块
2.4.1超声波测距原理
超声波是指频率高于20KHz的机械波。
为了以超声波作为检测手段,必须产生超声波和接收超声波,完成这种功能的装置称为超声波传感器。
超声波传感器有发送器和接收器,有的也可具有发送和接收声波的双重作用。
根据超声波的产生方式,超声波传感器可分为两大类:
一类是电气式,如压电式、磁致伸缩式和电动式等;
一类是机械式,如加尔统笛、液哨等。
目前常用的是压电式超声波传感器。
它利用压电效应的原理将电能和超声波相互转化,即发射超声波时,将电能转换为超声波发射出去;
在收到回波时,将超声振动转换成电信号。
超声波测距的原理一般采用时间差法,即测出超声波从发射到遇到障碍物返回所经历的时间T,再乘以超声波的速度C就得到二倍的声源与障碍物之间的距离D,即
D=C*T/2
式中,D—传感器与障碍物之间的距离;
C—声波在介质中的传输速度。
由于超声波易于定向发射、方向性好、强度易控制、与被测物体不需直接接触,故超声波传感器广泛地应用于液体高度测量、汽车倒车等方面。
为了提高测量精度,减小误差,根据公式可知,测距误差由传播速度误差和传播时间误差引起。
当传播速度准确时,传播时间差值精度只要达到微秒级,就可保证测距误差小于1mm。
设计中,可采用12MHz晶体作时钟的基准,单片机定时器的计数精度可达1us,从而保证测量精度。
传播速度受空气密度的影响,空气密度越高,传播速度越快,而空气密度与温度有密切关系。
在理想气体中声波的传播速度C为:
C=
式中,γ—气体定压比热容与定容比热容之比;
R—气体常数;
M—气体分子量;
T—绝对温度。
若温度变化不大,则可认为声速基本不变,其值为340m/s。
若测距精度要求较高,为减小温度变化对声速产生的影响,在设计中,应增加温度传感器来监测环境温度,进行实时温度补偿,近似公式为C=C0+0.607×
T℃式中,C0—零度时的声波速度332m/s;
T—实际温度(℃)。
2.4.2超声波收发模块简介
图2-8是本设计系统采用的超声波测距模块(URF04模块)实物图。
其主要技术参数如下:
图2-8超声波测距模块实物图
●工作电压:
DC5V
●静态工作电流:
小于2mA
●电平输出:
高5V
低0V
●感应角度:
不大于15°
●探测距离:
2cm—500cm
URF04模块工作原理:
采用IO触发测距,给至少10us的高电平信号,模块得到有效触发电平后,自动发射8个40Hz的方波,自动检测是否有信号返回。
当有信号返回时,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。
根据下面公式计算
L=(T*C)/2
式中L表示测量距离,T表示高电平持续时间,C表示声速。
在测量精度要求不高时,取C=340m/s计算。
2.574LS138译码器
74LS138引脚图见图2-9,引脚符号分别表示:
引脚1、2、3、表示地址码输入;
引脚6表示芯片选通端,高电平有效;
引脚4、5选通端,低电平有效;
Y0~Y7输出端,低电平有效;
引脚8为接地端;
引脚16为电源端。
图2-974LS138引脚图
74LS138译码器的功能如表2-3所示。
表中字母含义:
G2*=G2A+G2B;
H表示高电平,L表示低电平,X表示任意电平。
表2-374LS138译码器功能表
2.674LS373锁存器
图2-10是74LS373锁存器的引脚图。
各引脚含义是:
引脚1表示三态允许控制端(低电平有效);
引脚3、4、7、8、13、14、17、18表示输入端(D0~D7);
引脚2、5、6、9、12、15、16、19表示输出端;
引脚11表示锁存允许端。
图2-1074LS373锁存器引脚图
74LS373锁存器的真值表如表2-4所示,表中H表示高电平;
L表示低电平;
X表示任意电平;
Z*高阻态。
表2-474LS373锁存器真值表
Dn
LE
OE
On
H
L
L
X
Q0
Z*
2.774LS04反相器
74LS04反相器的引脚图见图2-11。
74LS04为六组反相器,引脚1为输入端、对应2输出端;
3输入端、4输出端;
如此类推。
引脚7接地端;
引脚14电源端。
图2-1174LS04反相器引脚图
2.8MAX485收发器
MAX485收发器是Maxim公司的一种RS-485芯片。
采用单一电源+5V工作,额定电流为300μA,采用半双工通讯方式。
它完成将TTL电平转换为RS-485电平的功能。
MAX485引脚图见图2-12。
图2-12MAX485引脚图
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单片机等控制器作为主控制器。
但是,这些控制器要么在控制上要求专业知识较高,要么价格相对较高。
一方面给系统设计的调试带来一定困难,另一方面则增加了生产成本。
有鉴于此,通过综合考虑后,本设计最终选择了价格相对较低,控制设计技术相当成熟的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米处还有车辆停滞,则向主机控制系统发出增加通行时间的信息,实时调整通行时间。
这样可以减少车辆堵塞,优化道路交通状况。
图3-1交通运行图
3.2硬件电路设计
3.2.1通行时间显示电路
本系统采用LED数码管作为时间倒计时显示器。
鉴于实际显示时间位数,取两位一体的LED数码管显示器。
此外,由于控制器端口数有限,同时也是为了节约电能,在控制显示时采取动态显示的方式。
电路见图3-2。
其中,段选码由AT89C51单片机的
图3-2时间显示屏电路图
P0口输出,位选码控制由74LS138译码器的输出端接反相器后控制,为共阳控制方式。
74LS138的控制电路接线见图3-3所示。
74LS138译码器的输入端A、B、C接单
图3-374LS138电路接线图
片机的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复位电路图
使单片机从一种确定的状态开始运行。
当AT89C51单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位电路操作。
需要注意的是,当复位端RST持续高电平的时间过长,单片机就会处于循环复位状态,这样,单片机就无法执行程序。
因此,要求单片机复位后能够脱离复位状态。
本系统的复位电路采用上电开关复位电路。
上电后,由于电容充电,使RST持续一段时间。
当单片机已经在运行时,按下复位键也能使RST持续一段时间的高电平,从而实现上电开关复位的功能。
3.2.4人行道信号灯控制电路
为了节省控制端口,电路控制采取74LS373锁存器+74LS04反相器控制。
经分析,由于人行道信号灯的亮灭状态刚好相反,即同一处的信号灯,若亮绿灯,则该处的红灯灭,根据这种状态控制方式,故采取上述电路控制。
此外,51单片机的端口可以最多驱动8个TTL电平,所以,在设计时采取了一个输出端口,控制锁存器的两个数据输入端口。
以节省电路控制端口。
电路见图3-6所示。
图3-6人行道信号灯控制电路图
3.2.5机动车道信号灯控制电路
经分析,可以发现有这么一种状态。
如果是南北车道通行控制,则东西车道只需控制红灯的亮灭。
也就是说,每次只需单独控制十个灯的状态即可。
为此,南北车道和东西车道的直走,左拐和黄灯控制可以由同一单片机端口输出控制信号,外加使能控制,分时工作即可。
这样,又可减少端口的使用。
电路采取两片74LS373锁存器,锁存器的LE口都接高电平,/OE口则由单片机的P2.4和P2.5控制,数据输入由P1口的0、1、3、4、5、7端口输出。
控制电路图见图3-7所示。
图3-7机动车道信号灯控制电路图
4.软件系统设计
4.1主机程序流程图
主机程序流程图如图4-1所示。
图4-1主机程序流程图
4.2C语言程序设计
4.2.11秒钟程序设计
AT89C51单片机定时/计数器有4种工作方式,不同的工作方式有不同的特点。
其中,工作方式0是13位方式;
工作方式1是16位方式;
工作方式2是8位自动装入计数初值方式;
工作方式3是T0为2个八位方式。
定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。
它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。
因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC可得到如下计算通式:
TC=
式中M为计数器摸值,该值和计数器工作方式有关。
在方式0时M为8192;
在方式1时M的值为65536;
在方式2和3为256。
计数
T计数是单片机时钟周期TCLK的12倍,TC为定时初值。
如单片机的主脉冲频率为TCLK=12MHZ,经过12分频,
方式0 TMAX=213
1us=8.192ms
方式1 TMAX=216
1us=65.536ms
显然1秒钟已经超过了计数器的最大定时间,所以设计时只有采用定时器和软件相结合的办法才能解决这个问题。
本设计中采用在主程序中设定一个初值为20的软件计数器和使T0定时50ms.这样每当T0到50ms时CPU就响应它的溢出中断请求,进入他的中断服务子程序。
在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。
为零表示1秒已到可以返回到输出时间显示程序。
4.2.2LED数码显示器程序设计
LED数码管显示分为静态显示和动态显示两种方式。
为了节省控制端口和节约