欢迎来到天天文库
浏览记录
ID:35567514
大小:336.50 KB
页数:10页
时间:2019-03-29
《eda实验报告实验四:交通灯控制器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.实验四交通灯控制器设计一、实验目的1、学习与日常生活相关且较复杂数字系统设计;2、进一步熟悉EDA实验装置和QuartusⅡ软件的使用方法;3、学习二进制码到BCD码的转换;4、学习有限状态机的设计应用。二、设计要求完成设计、仿真、调试、下载、硬件测试等环节,在型EDA实验装置上实现一个由一条主干道和一条乡间公路的汇合点形成的十字交叉路口的交通灯控制器功能,具体要求如下:1、有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;2、交通灯由绿转红前有4秒亮黄灯的间隔时间,由红转绿没有间隔时间;3、乡间公路右侧各埋有一个串连传感器,当有车
2、辆准备通过乡间公路时,发出请求信号S=1,其余时间S=0;4、平时系统停留在主干道通行(MGCR)状态,一旦S信号有效,经主道黄灯4秒(MYCR)状态后转入乡间公路通行(MRCG)状态,但要保证主干道通行大于一分钟后才能转换;5、一旦S信号消失,系统脱离MRCG状态,即经乡道黄灯4秒(MRCY)状态进入MGCR状态,即使S信号一直有效,MRCG状态也不得长于20秒钟;6、控制对象除红绿灯之外,还包括分别在主干道和乡间公路各有一个两位十进制倒计时数码管显示。三、主要仪器设备1、微机1台2、QuartusII集成开发软件1套3、EDA实验装置1套四、实验思路1、设计一个状态寄存器,控制六盏灯
3、的亮与灭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、设计一个译码显示电路,将计时器的八位BCD码转化为数码管可以显示的段位码。通过动态扫描电路实现。4、设计一个分频器,将扫描频率分频为基准频率,提供计时器,状态器,译码显示
4、的钟控。5、使用文本设计4个底层文件,并生成相应元器件,再使用原理图设计顶层文件五、实验步骤1、建立工作库文件夹和编辑设计文件1)建立一个文件夹保存工程文件;2)打开QuartusII,建立新的VHDL文件,再打开的页面下输入以下程序控制6盏灯的模块代码:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYjtdISPORT(clk,RESET,S:INSTD_LOGIC;COUNT:INSTD_LOGIC_VECTOR(7DOWNTO0);MG,MY,MR,CG,CY,CR:OUTSTD
5、_LOGIC);ENDjtd;ARCHITECTUREbehavOFjtdISTYPEjtdSTATEIS(mgcr,mycr,mrcg,mrcy);SIGNALSTATE:jtdSTATE;BEGINPROCESS(RESET,STATE,clk,S)BEGINIFRESET='1'THENSTATE<=mgcr;MG<='1';CR<='1';MY<='0';MR<='0';CG<='0';CY<='0';ELSIFclk'EVENTANDclk='1'thenCASESTATEISWHENmgcr=>IFCOUNT="00000001"ANDS='1'THENSTATE<=mycr
6、;MY<='1';CR<='1';MG<='0';MR<='0';CG<='0';CY<='0';ELSESTATE<=mgcr;MG<='1';CR<='1';MY<='0';MR<='0';CG<='0';CY<='0';ENDIF;WHENmycr=>IFCOUNT="00000001"THENSTATE<=mrcg;MR<='1';CG<='1';MG<='0';MY<='0';CR<='0';CY<='0';ELSESTATE<=mycr;MY<='1';CR<='1';MG<='0';MR<='0';CG<='0';CY<='0';ENDIF;WHENmrcg=>IFCOUN
7、T="00000001"ORS='0'THENSTATE<=mrcy;MR<='1';CY<='1';MY<='0';MG<='0';CR<='0';CG<='0';ELSESTATE<=mrcg;MR<='1';CG<='1';MG<='0';MY<='0';CR<='0';CY<='0';...ENDIF;WHENmrcy=>IFCOUNT="00000001"THENSTATE<=mgcr;MG<='1';CR<='1';MR
此文档下载收益归作者所有