红绿灯交通管理器vhdl程序设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
红绿灯交通管理器vhdl程序设计报告

实验报告 姓名: 学号: 学院:通信 VHDL语言数字系统课程设计:红绿灯交通管理器 设计内容 该设计采用分层描述方法,以图形输入和原理图混合方式建VHDL描述文件。交通管理器顶层图形输入文件有控制器和三个各为模26、模30、模5的定时器组成,分别控制两个道口的通行时间和公共停车时间,系统由两组红黄绿灯指示和三组七段显示器作倒计时显示,由BCD码驱动。控制器按照流程图中状态的变化来控制红黄绿灯的变换以及计数器的计时。当某个计数器工作计数信号W1、W2或W3(进位输出),由“0”转为“1”时,表示计满,控制器转向下一个状态并计时。各定时器连接控制器的C1、C2或C3,当为“1”时,原计数器计时结束。整个系统循环互联。当计数器计数时,各个减法器同时做倒计时,输出接入七段译码显示器做倒计时显示。各减法器具有置数控制端,当控制端为“1”时,预置30,26,5。可以将时钟信号和置数信号一同设为进程敏感信号,减法计数器的始能端也对应控制器的C1、C2和C3上升沿开始倒计时。 交通灯具体设计内容: 设计三个加法计数器(30s,26s,5s)、控制器 设计三个减法器(30s,26s,5s)倒计时,用PROCESS(CLK,LD)异步预置 设计相应减法器的BCD码七段显示模块 设计总体状态转换器,完成各输入文件,并产生各模块后,再用原理图输入方式产生总图。 程序 加法计数器: 1、30秒 library ieee; use ieee.std_logic_1164.all; entity count30 is port( clk :in std_logic; enable :in std_logic; c :out std_logic); end count30; architecture a of count30 is begin process(clk) variable cnt :integer range 30 downto 0; begin if(clkevent and clk=1) then if enable=1 and cnt30 then cnt:=cnt+1; else cnt:=0; end if; end if; if cnt=30 then c=1; else c=0; end if; end process; end a; 30s加法计数器仿真波形 2、26秒 library ieee; use ieee.std_logic_1164.all; entity count26 is port( clk :in std_logic; enable :in std_logic; c :out std_logic); end count26; architecture a of count26 is begin process(clk) variable cnt :integer range 26 downto 0; begin if(clkevent and clk=1) then if enable=1 and cnt26 then cnt:=cnt+1; else cnt:=0; end if; end if; if cnt=26 then c=1; else c=0; end if; end process; end a; 26s加法计数器仿真波形 3、5秒 library ieee; use ieee.std_logic_1164.all; entity count5 is port( clk :in std_logic; enable :in std_logic; c :out std_logic); end count5; architecture a of count5 is begin process(clk) variable cnt :integer range 5 downto 0; begin if(clkevent and clk=1) then if enable=1 and cnt5 then cnt:=cnt+1; else cnt:=0; end if; end if; if cnt=5 then c=1; else c=0; end if; end process; end a; 减法计数器: 1、30秒 library ieee; use iee

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档