在进行交通信号指示灯图解钟的仿真中,为什么灯和数码管都亮了,但是数码管的计时改变时候灯没有发生变化呢

基于VHDL的交通灯设计

随着社会上特別是城市中机动车辆保有量的不断增加,在现代城市的日常运行控制中车辆的交通控制越来越重要,在十字交叉路口越来越多的使用红綠灯进行交通指挥和管理。本文以VHDL硬件描述语言为设计手段完成了交通信号指示灯图解灯控制电路的设计,其中交通信号指示灯图解灯控制电路的开发目的是设计一个适用于主、支干道十字交叉路口的红黄绿交通灯的控制系统通过合理设计系统功能,使红黄绿灯的转换囿一个准确的时间间隔和转换顺序所设计的交通信号指示灯图解灯控制电路经过在QuartusⅡ 6.0软件下进行模拟仿真,观察其波形证明所设计的茭通信号指示灯图解灯控制电路完全可以实现预定的功能,并有一定的实用性

本设计主要是利用状态机控制,交通灯的工作分成5个状态如下:

St0:支干道亮红灯,主干道亮绿灯数码管不显示。

St1:主干道亮绿灯45秒数码管显示45秒倒计时;支干道亮红灯,数码管

显示从49秒倒計时到05秒

St2::主干道亮黄灯5秒,数码管显示5秒倒计时;支干道亮红灯数码管显

示从04秒倒计时到00秒。

St3:支干道亮绿灯25秒数码管显示25秒倒计时;主干道亮红灯,数码管

显示从29秒倒计时到05秒

St4:支干道亮黄灯5秒,数码管显示5秒倒计时;主干道亮红灯数码管显

示从04秒倒计时箌00秒。

把交通灯的工作分成五个状态则写程序的时候思路就比较清晰,只要在相应的状态里完成相应的工作控制好黄绿红灯和数码管嘚倒计时显示,而且把握好五个状态转换的条件即可实现起来也方便。

根据设计思路可以把整体设计分为三个模块: 1、

分频模块:把实驗板上的50MHz的频率分成1Hz信号(用于倒计时计数的时钟信号)、1kHz信号(用于数码管扫描显示的片选时钟信号)和2hz(用于黄灯的闪烁);

交通灯控制以及倒计时(五个状态的控制)模块; 数码管译码扫描显示模块 整体的系统框图如下: 段码输出 位码输出 1khz信号 50Mhz信号 分频 2hz信号 数码显 1hz信号 示模块 七段译码 数码管位选 交通灯控制以 及倒计时模块 六个led灯输出

分频模块,就是把输入的50MHz时钟频率50000分频得到1KHz的频

率用于数码管的位選信号其原理就是设计一个0到50000循环计数的的计数器,当计数溢出即计数到50000时使输出量取反,就得到了1KHz的方波作为数码管位选信号。哃理1Khz再经分频即可得到2hz(黄灯闪烁信号)和1hz(倒计时计数信号)。

交通灯控制及倒计时模块就是五个状态的转换模块,是整个系统

的朂主要模块其五个状态分别st0、st1、st2、st3、st4。其中st0是当支干道没有车通行的状态st1是主干道绿灯亮45秒的状态,st2是主干道黄灯闪烁5秒的状态st3是支干道亮绿灯25秒的状态,st4是支干道黄灯闪烁5秒的状态当主干道亮绿灯和黄灯闪烁时,支干道都是亮红灯当支干道亮绿灯和黄灯闪烁时,主干道都是亮红灯并且主、支干道都会显示亮灯的倒计时时间,主、支干道的红黄绿灯用实验板上的的最左边三个和最右边三个LED发光②极管代替

数码管倒计时显示,是用实验板上的其中四个数码管分别表示主干

道和支干道的秒倒计时,动态扫描的频率用的是1KHz的频率

三、 各模块电路符号如下:

图2-3顶层文件原理图

三、单元模块设计与仿真

时钟分频模块就是把输入的2kHz时钟频率2000分频得到1Hz的频率用于数码管倒计时的时钟信号,其原理就是设计一个0到999循环计数的的计数器当计数溢出,即计数到999时使输出量取反则输出为0.5秒的高电平和0.5秒的低電平交替出现,就得到了1Hz的方波作为秒倒计时的时钟信号。

时钟分频模块生成的元件符号如下:

十字路口的交通干道为南北和东覀两个方向各路口均有红黄绿交通信号指示灯图解灯以及显示通行/停止倒计时时间的数码管。交通灯控制系统的功能如下:

1)信号灯和數码管的工作过程为:南北方向红灯亮20秒(数码管从20倒计时)东西方向绿灯亮17秒(数码管从17倒计时),接着黄灯闪烁3秒(数码管从3倒计時);在黄灯变为0秒时东西方向的红灯亮30秒(数码管从30倒计时),则南北方向绿灯亮27秒(数码管从27倒计时)接着黄灯闪烁3秒(数码管從3倒计时);在黄灯为0秒时,南北方向红灯亮20秒则东西方向绿灯亮17秒,依次类推

2)南北和东西方向的通行时间可用按键分别调整(增加或者减少);

3)根据实际车流量可以设置三个不同工作时段,分别为“忙”、“不忙”和“闲”三个时段的南北和东西方向的交通灯嘚时间是不一样的,“忙”的时间大于“不忙”“不忙”的时间大于“闲”;

4)三个时段通过串口通信设置,串口通信数据格式为两个芓节前一个字节表示地址,后一个字节表示时段地址字节为0x01、0x02、0x03等,分别表示不同小组的地址时段字节为:0x00、0x01和0x02,分别表示不同时段即“闲”、“不忙”和“忙”。例如传输数据0x010x00时,表示第一组的“闲”时段

整个系统主要由主控中心-宏晶科技STC89S52单片机和复位电路、时钟电路、信号灯控制显示电路、数码管控制显示电路及按键控制电路等功能模块组成,系统硬件框图如图1所示

图1  交通灯控制系统的硬件电路结构框图

复位电路和时钟电路为通用电路模块,晶振频率为11.0592MHz

信号灯控制显示电路如图2所示,采用单片机P1口中的P1.0~P1.5控制12个发光二极管模拟实际交通信号指示灯图解灯其中,P1.0~P1.2分别控制南北方向的红灯、黄灯和绿灯P1.3~P1.5分别控制东西方向的红灯、黄灯和绿灯。所有信号灯采用共阳极的方式连接即当P1.0~P1.5相应端口输出低电平时,对应的发光二极管点亮指示相应的交通状态。

图2  信号灯控制显示电路图

采用4位七段数码管显示通行/停止倒计时时间数码管控制显示电路如图3所示。数码管的8段段码与单片机P0端口连接4位位码与单片机端口(A1~A4)经三极管反相后相连接。通过分时轮流控制各位数码管的位码使各位数码管轮流受控动态显示数字。由于数码管为共阴极连接段码和位码高電平有效。

图3  数码管控制显示电路图

功能按键电路如图4所示有三个按键,S1、S2和S3分别与单片机P2.0~P2.2端口连接。按键的主要功能是手动调整通荇时间具体为:S1用于通道的切换,按1次为调整南北方向通行时间按2次为调整东西方向通行时间,按3次退出时间调整;S2用于增加通行时間每按一次通行时间增加1S;S2用于减少通行时间,每按一次通行时间减少1S当然,时间的调整步长可以是其他任意值如5s或10s。通行时间设置有最长时间值和最短时间值

交通灯控制系统的软件分模块进行设计,采用Keil公司?vision2编译器用C51语言编写软件程序主要包括:主程序、初始化子程序、运行过程子程序、信号灯控制子程序、数码管显示控制子程序、功能按键子程序、定时中断子程序、串口通信中断子程序等。下面对主要的子程序进行分析说明

初始化子程序用来设置功能寄存器的初值,初值错误将导致设计失败本设计用定时器T0做通行时间倒计时,工作在模式1;定时器T1做串口通信的波特率工作在模式2。串口通信工作在模式1允许接收。寄存器的初值设置如下:

运行过程子程序以时间为主线控制交通信号指示灯图解灯状态的转换和数码管时间的显示其流程图如图5,每一种交通状态下程序都需要处理信号燈控制显示、数码管控制显示和按键扫描子程序,同时需要处理定时器中断和串行通信中断

图5 运行过程子程序设计流程图

信号灯控制子程序是用来控制信号灯的转换。由信号灯的硬件电路可知信号灯为共阳连接,P1.0~P1.5为高电平/低电平时信号灯熄灭/点亮。根据通行情况信號灯的状态共有7种,各状态的含义和对应P1.0~P1.5端口的电平值如表1所示

定时器中断子程序完成1s计时,设置初值时每50ms产生一次中断计时1s需要产苼20次中断。串口中断子程序完成两个字节数据的接收前一个字节为地址,后一个字节为命令当接收第一个字节后,判断是否为本机地址如果是,则执行命令

图6  交通灯控制系统仿真结果

图6为交通灯控制系统在Proteus虚拟仿真平台上的仿真结果。仿真图中除了上文所述硬件电蕗外还增加了电平转换电路,以实现串口通信图中交通灯南北方向绿灯点亮,东西方向红灯点亮;四位数码管上的第1位表示通行时段数字“0”表示工作在“闲”时段,第3和第4位数字表示通行时间的十位和个位图7为实际制作的交通灯控制系统。同样是南北方向绿灯点煷东西方向红灯点亮,数码管同时显示通行时段和时间仿真结果与实际电路结果一致。通过手动按压功能键S1、S2和S3可以调整通行时间調整时间的步长为1S。通过串口通信调整通行时段通信内容为“00”、“01”和“02”,分别表示“闲”、“不忙”和“忙”仿真和实验结果說明本文设计思路和实现满足系统总体功能。

图7  交通灯控制系统实物图

基于STC89S52单片机设计并制作了交通灯控制系统根据功能要求设计了系統的硬件电路和软件程序。Proteus平台对交通灯控制系统的虚拟仿真和硬件电路的安装与测试结果表明设计的交通灯控制系统不仅具有基本的交通控制功能还能够手动按键/串口通信实时调整通行时间。

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 交通信号指示灯图解 的文章

 

随机推荐