第一范文网 - 专业文章范例文档资料分享平台

基于EDA技术设计交通灯系统

来源:用户分享 时间:2025/12/21 8:22:32 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

大连海洋大学毕设论文(设计) 第4章 系统设计

signal cnt6b:std_logic_vector(5 downto 0); begin

process(clk, en45a,en45b) is begin

if(clk'event and clk='1') then

if en45a='1'or en45b='1' then cnt6b<=cnt6b+1;--控制输出数据 else cnt6b<=\;

(3)60s定时单元控制两路红灯的显示时间,从DOUT60端口输出到显示控制模块的AIN60 端口,60s定时单元模块生成器件如图4.6所示,EN60A、EN60B分别甲路和乙路红灯的使能信号控制应该那一路红灯亮。60s定时单元的主要程序段如下:

entity cnt60s is

port (clk,en60a,en60b:in std_logic; --输入的标准时钟和使能信号 dout60:out std_logic_vector(7 downto 0));--输出8位二进制数 end entity cnt60s;

architecture art of cnt60s is

signal cnt6b:std_logic_vector(5 downto 0); begin

process(clk, en60a,en60b) is begin

if(clk'event and clk='1') then

if en60a='1'or en60b='1' then cnt6b<=cnt6b+1; --使能信号控制 else cnt6b<=\

图4.6 60s定时单元模块生成器件

(4)10s定时单元控制两路左拐灯的显示时间,从DOUT10端口输出到显示控制模块的AIN10 端口,10s定时单元模块生成器件如图4.7所示,EN10A、EN10B分别甲路和乙路红灯的使能信号控制应该那一路红灯亮。10s定时单元的主要程序段如下:

19

大连海洋大学毕设论文(设计) 第4章 系统设计

图4.7 10s定时单元模块生成器件

entity cnt10s is

port (clk,en10a,en10b:in std_logic; --输入的标准时钟和使能信号

dout10:out std_logic_vector(7 downto 0)); --输出8位二进制数 end entity cnt10s;

architecture art of cnt10s is signal cnt4b:std_logic_vector(3 downto 0); begin

process(clk, en10a,en10b) is

begin

if(clk'event and clk='1') then

if en10a='1'or en10b='1' then cnt4b<=cnt4b+1;--使能信号的控制

else cnt4b<=\

(5)5s定时单元控制两路黄灯的显示时间,从DOUT5端口输出到显示控制模块的AIN5 端口,5s定时单元模块生成器件如图4.8所示,EN5A、EN5B分别甲路和乙路红灯的使能信号控制应该那一路红灯亮。5s定时单元的主要程序段如下:

图4.8 5s定时单元模块生成器件

entity cnt5s is

port (clk,en5a,en5b:in std_logic; --输入的标准时钟和使能信号

dout5:out std_logic_vector(7 downto 0)); --输出的8位二进制数 end entity cnt5s;

architecture art of cnt5s is

signal cnt3b:std_logic_vector(2 downto 0);

20

大连海洋大学毕设论文(设计) 第4章 系统设计

begin

process(clk, en5a,en5b) is begin

if(clk'event and clk='1') then

if en5a='1'or en5b='1' then cnt3b<=cnt3b+1;--使能信号的控制 else cnt3b<=\

(6)倒计时控制电路

通过日常生活中的观察,我发现在一些交通路口已经开始使用倒计时显示器,它们的作用就是用来提示车辆行人目前还有多长时间信号灯会发生变化,这样车辆行人就可以提前判断是否有足够的时间通过路口,进而就可以避免很多意外事故的发生。例如:南北方向绿灯,车辆处于正常行驶中,东西方向红灯,车辆处于等待中,若南北方向行驶的车辆看到倒计时显示器上可以通行的时间很短,可能就会放慢速度等待下一次通行,这样在东西方向绿灯时,车辆就能够正常行驶,不会为等待南北方向强行的车辆而耽误更多的时间。如此循环下去,道路就会畅通无阻了。考虑到有些路口的交通拥堵现象较为严重,车辆会在道路上排成很长的一队,这样排在较远距离的司机就很难看清楚倒计时显示器上变化的数字,有可能会影响到车辆之间的正常行驶。因此,如果采用发光二极管作为倒计时的显示装置就会使司机和行人一目了然,同样也能够起到很好的提示作用。所以,hld3倒计时控制电路[23](见图4.9)最主要的功能就是负责接收hld2电路输出的值,然后将其转换成BCD码,并利用发光二极管显示出来,让车辆行人能够清楚地知道再过多久信号灯就会发生变化。

clk:由外部信号发生器提供1kHz的时钟信号; reset:系统内部自复位信号;

ena_1hz:接收由时钟发生电路提供的1Hz的脉冲信号; recount:重新计数的使能控制信号; load:负责接收计数器所需要的计数数值。 系统输出信号:

led:负责将计数数值转换成BCD码,并利用发光二极管显示倒计时状态;

next_state:当计数器计时完毕后,负责产生一个脉冲信号,作为下一个状态的触发信号。

21

大连海洋大学毕设论文(设计) 第4章 系统设计

图4.9倒计时控制电路

(7)译码显示

显示译码电路生成器件如图4.10所示,将用于显示BCD码数据进行译码,将显示控制输出的四位二进制数送入译码器后显示到共阴数码管上。程序如下:

图4.10 译码电路生成器件

entity ymq is

port(ain4:in std_logic_vector(3 downto 0); --输入四位BCD码 dout7:out std_logic_vector(6 downto 0)); --输出7位二进制数 end entity ymq;

when \dout7<=\数码管显示0 when \dout7<=\数码管显示1 when \dout7<=\数码管显示2 when \dout7<=\数码管显示3 when \dout7<=\数码管显示4 when \dout7<=\数码管显示5 when \dout7<=\数码管显示6 when \dout7<=\数码管显示7 when \dout7<=\数码管显示8 when \dout7<=\数码管显示9

22

搜索更多关于: 基于EDA技术设计交通灯系统 的文档
基于EDA技术设计交通灯系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c75krv67cix7e16g2f5026bod04q39t00p0b_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top