EDA实验交通灯设计报告.pdf
^`
EDA原理及应用
实验报告
题目:交通灯控制器
专业:电子信息工程
班级:
姓名:
学号:
^`
一、设计题目:交通灯控制器
二、设计目标:
1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路
口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通
行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
2、红、绿、黄发光二极管作信号灯。
3、主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。
4、主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支
干道每次放行25秒,设立45秒、25秒计时、显示电路。
5、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行
驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。
三、设计原理:(含系统总的原理图)
由两个分频器模块,三个计数器模块及它的选择器,一个扫描数码管模块,和
一个红绿灯控制模块连接而成。
^`
RTL状态图
四、设计内容:(含状态转换图、软件流程图、说明文字等,每单
独模块的图标和VHDL程序;最后为总体程序框图)
分频器1
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYDVFIS
PORT(CLK:INSTD_LOGIC;
--D:INSTD_LOGIC_VECTOR(3DOWNTO0);
FOUT:OUTSTD_LOGIC);
END;
ARCHITECTUREoneOFDVFIS
SIGNALFULL:STD_LOGIC;
BEGIN
P_REG:PROCESS(CLK)
VARIABLECNT8:INTEGERRANGEDOWNTO0;
BEGIN
IFCLKEVENTANDCLK=1THEN
IFCNT8THEN
CNT8:=0;
FULL=1;
^`
ELSECNT8:=CNT8+1;
FULL=0;
ENDIF;
ENDIF;
ENDPROCESSP_REG;
P_DIV:PROCESS(FULL)
VARIABLECNT2:STD_LOGIC;
BEGIN
IFFULLEVENTANDFULL=1THEN
CNT2:=NOTCNT2;
IFCNT2=1THENFOUT=1;ELSEFOUT=0;
ENDIF;
ENDIF;
ENDPROCESSP_DIV;
END;
说明:采用的是48M时钟输入,作为后面的时钟信号。
^`
分频器2
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYDVF2IS
PORT(CLK:INSTD_LOGIC;
--D:INSTD_LOGIC_VECTOR(3DOWNTO0);
FOUT:OUTSTD_LOGIC);
END;
ARCHITECTUREoneOFDVF2IS
SIGNALFULL:STD_LOGIC;
BEGIN
P_REG:PROCE