EDA交通燈控制器设计.docxVIP

  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文档。上传文档
查看更多
EDA交通燈控制器设计

实验报告学生姓名: EDA小王子 学 号: 国家机密 专业班级: 国家机密 实验类型:□ 验证 □ 综合 √ 设计 □ 创新 实验日期: 国家机密 实验成绩:很高 实验五 十字路口交通灯控制器设计 一、实验目的1、进一步加强经典状态机的设计2、学会设计模可变倒计时计数器二、实验要求一条主干道,一条乡间公路。组成十字路口,要求优先保证主干道通行。有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;交通灯由绿→红有4秒黄灯亮的间隔时间,由红→绿没有间隔时间;系统有MRCY、MRCG、MYCR、MGCR四个状态;乡间公路右侧各埋有一个传感器,当有车辆通过乡间公路时,发出请求信号S=1,其余时间S=0;平时系统停留在MGCR(主干道通行)状态,一旦S信号有效,经MYCR(黄灯状态)转入MRCG(乡间公路通行)状态,但要保证MGCR的状态不得短于一分钟;一旦S信号无效,系统脱离MRCG状态。随即经MRCY(黄灯状态)进入MGCR状态,即使S信号一直有效,MRCG状态也不得长于20秒钟。三、实验思路1、设计一个状态寄存器,控制六盏灯的亮与灭2、设计一个计时器,控制各状态的持续时间,计时器应满足以下要求: 1)当S=1,且计数器已完成60计数时,计数器进入模4计数,随后进入模 20计数,再进入模4计数,再回到模60计数 2)当计数器进行摸20计数时,一旦S变为0,计数器立马进入模4计数, 再进入模60计数 3)完成模20计数后,不论S为0或1,计数器进入模4计数,再进入模60 计数 4)若计数器未完成模60计数,不论S如何变话,计数器将继续进行模60 计数3、使用文本设计底层文件,并生成相应元器件,再使用原理图设计顶层文件四、实验步骤 1、建立工作库文件夹和编辑设计文件 1)建立一个文件夹保存工程文件;2)打开QuartusII,建立新的VHDL文件,再打开的页面下输入以下程序控制6盏灯的模块代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jtd ISPORT(clk,RESET,S:IN STD_LOGIC; COUNT:IN STD_LOGIC_VECTOR(7 DOWNTO 0); MG,MY,MR,CG,CY,CR:OUT STD_LOGIC);END jtd;ARCHITECTURE behav OF jtd IS TYPE jtdSTATE IS(mgcr,mycr,mrcg,mrcy); SIGNAL STATE:jtdSTATE;BEGIN PROCESS(RESET,STATE,clk, S) BEGIN IF RESET=1 THEN STATE=mgcr;MG=1;CR=1;MY=0;MR=0;CG=0;CY=0; ELSIF clkEVENT AND clk=1 then CASE STATE IS WHEN mgcr=IF COUNTAND S=1THEN STATE=mycr;MY=1;CR=1;MG=0;MR=0;CG=0;CY=0; ELSE STATE=mgcr;MG=1;CR=1;MY=0;MR=0;CG=0;CY=0; END IF; WHEN mycr=IF COUNTTHEN STATE=mrcg;MR=1;CG=1;MG=0;MY=0;CR=0;CY=0; ELSE STATE=mycr;MY=1;CR=1;MG=0;MR=0;CG=0;CY=0; END IF; WHEN mrcg=IF COUNTOR S=0THEN STATE=mrcy;MR=1;CY=1;MY=0;MG=0;CR=0;CG=0; ELSE STATE=mrcg;MR=1;CG=1;MG=0;MY=0;CR=0;CY=0; END IF; WHEN mrcy=IF COUNTTHEN STATE=mgcr;MG=1;CR=1;MR=0;MY=0;CY=0;CG=0; ELSE STATE=mrcy;MR=1;CY=1;MY=0;MG=0;CR=0;CG=0; END IF; END CASE; END IF; END PROCESS; END behav;控制数码管显示倒计时数并且输出:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JISHU IS PORT(clk,S:IN STD_LOGIC; tim:OUT STD_LOGIC_VE

文档评论(0)

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

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

1亿VIP精品文档

相关文档