实验报告
学生姓名: 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 ;
USE ;
ENTITY jtd IS
PORT(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 clk'EVENT AND clk='1' then
CASE STATE IS
WHEN mgcr=>IF COUNT="" AND S='1'THEN
EDA交通灯控制器设计 来自淘豆网m.daumloan.com转载请标明出处.