毕业论文(设计)基于verilog的eda说明书.docVIP

毕业论文(设计)基于verilog的eda说明书.doc

  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文档。上传文档
查看更多
一.交通信号灯控制器的设计 1.交通灯信号控制器的功能描述 作为一个十字路口交通灯控制器,其东西、南北两个方向除了设置红、绿、黄三盏信号灯指示是否允许通行外,还有时钟以倒计时方式显示每条路允许通行或禁止通行的时间。此外,当外界发生特 (2)信号灯亮、灭的时间可以从外界设置和修改: (3)交通信号灯正常运行的状态转换如下表所示。表中R1、G1、Y1 分别表示东西方向亮红灯、绿灯和黄灯的时间,R2、G2、Y2分别表示南北方向亮红灯、绿灯和黄灯的时间;要求G1+Y1=R2,G2+Y2=R2。亮灯状态由S0→S1→S2→S3→S0→S1不断循环。 表一 交通灯亮灯状态转换表 状态S S0 S1 S2 S3 东西方向 绿灯 黄灯 红灯 亮灯时间 G1 Y1 R1 南北方向 红灯 绿灯 黄灯 亮灯时间 R2 G2 R2 当东西、南北两个方向中任何一个出现特殊情况时,可以中断正常运行,进入特殊运行状态。此时两个方向红灯都亮,始终停止计数显示数字闪烁。当特殊状态结束时,时钟接着计数,系统恢复正常运行。 图(1) 十字路口交通图 2.系统的原理框图 表二 交通灯控制流程表 R1 G1 Y1 R2 G2 Y2 S0 0 1 0 1 0 0 S1 0 0 1 1 0 0 S2 1 0 0 0 1 0 S3 1 0 0 0 0 1 注:在本次设计中令黄灯时间一定为5S,外部输入的绿灯时间为n(n=60),则总的计数时间范围为2n+10,计数器为减计数器 。以d表示计数器计数值,在2n+10∽n+10为S0状态,在n+10∽n+5为是S1状态,在n+5∽5为S2状态,5∽0为S3状态。控制流程图如下。 图(2)系统时间控制流程图 图(3)交通灯控制系统框图 二.系统各模块说明 1.分频模块 分频器实现的是将外部输入的时钟信号转换为需要1Hz的时钟信号,用于触发控制器、计数器和扫描显示电路。 图(4)分频模块图 2.置数模块 输入模块用于把外部输入的数赋值给计数器和控制器,用于确定计数范围和控制状态。在本设计中设定输入端口输入的数据在0--60之间。 图(5)置数模块图 3.计数模块 计数模块即计数器,本设计中用到的是可复位和可置数减计数器。它计数的范围是输入模块赋给的值的两倍加上10。当复位端reset=1时,计数器清0;当使能端en=0时,计数器停止计数。 图(6)计数模块图 4.控制模块 控制模块即控制器,它的作用是根据计数器的计数值和输入模块赋给的值进行比较,来控制东西、南北两个方向的红、绿、黄六盏信号灯的亮灭以及输出倒计时数值赋给分位模块。当特殊情况发生时,reset=1,点亮两个方向红灯,并使计数器使能端En=’0,是计数器停止计数。 图(7)控制模块图 5.分位模块 分位模块即把控制器输出的数据个位和十位分开,分别送到数码管去显示出来。本实验用到A,B两个分位模块,分别把东西和南北方向的通行时间或禁止时间送到显示模块。 图(8)分位模块A图 图(9) 分位模块B图 5.显示模块 显示模块是将分位模块的数据用7段译码管显示出来。该设计用了4个显示模块来显示东西、南北两个方向的时间。 图(10)显示模块图 三.各模块程序及其仿真 1.分频模块 library ieee; use ieee.std_logic_1164.all; entity fen is port(clk:in std_logic; clk1:out std_logic); end fen; architecture fen_arc of fen is begin process(clk) variable cnt:integer range 0 to 49; --设该分频模块为50hz分频 begin if clkevent and clk=1then if cnt=49 then cnt:=0; clk1=1; else cnt:=cnt+1; clk1=0; --- 在cnt为0到48时,clk1保持不变;为49改变。 end if; end if; end proces

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档