• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

交通灯控制器设计VHDL代码Quartus仿真

08/19 15:02
331
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240Z31T324143.doc

共1个文件

名称:交通灯控制器设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

交通灯控制器设计

内容及要求:

交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。

(1)十字路口,A、B两方向,红:黄:绿,亮灯维持时间、车子左右转弯可自行设计。

(2)当按下复位时,各方向上均亮红灯,倒计时停止。

(3)各个方向的红黄绿等可用发光二极管替代。

(4)黄灯可1Hz闪烁亮,亮灯时间自行设计。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 仿真图

整体仿真图

分频模块仿真图

二进制转BCD仿真图

状态机控制模块仿真图

数码管控制模块

部分代码展示:

LIBRARY?ieee;
USE?ieee.std_logic_1164.all;?
LIBRARY?work;
ENTITY?traffic_light?IS?
PORT
(
clk_20M?:??IN??STD_LOGIC;--输入20M时钟
rst_p?:??IN??STD_LOGIC;--复位信号
--A路
al?:??OUT??STD_LOGIC;--左转
ag?:??OUT??STD_LOGIC;--绿
ay?:??OUT??STD_LOGIC;--黄
ar?:??OUT??STD_LOGIC;--红
--B路
bl?:??OUT??STD_LOGIC;--左转
bg?:??OUT??STD_LOGIC;--绿
by?:??OUT??STD_LOGIC;--黄
br?:??OUT??STD_LOGIC;--红
--两个数码管显示十位和个位--一共四个数码管
SEG_ten?:??OUT??STD_LOGIC_VECTOR(3?DOWNTO?0);--十位
SEG_one?:??OUT??STD_LOGIC_VECTOR(3?DOWNTO?0)--个位
);
END?traffic_light;
ARCHITECTURE?behav?OF?traffic_light?IS?
--例化状态机控制模块
COMPONENT?state_machine_control
PORT(
????clk?:?IN?STD_LOGIC;
?rst_p?:?IN?STD_LOGIC;
?
?al?:?OUT?STD_LOGIC;
?ag?:?OUT?STD_LOGIC;
?ay?:?OUT?STD_LOGIC;
?ar?:?OUT?STD_LOGIC;
?bl?:?OUT?STD_LOGIC;
?bg?:?OUT?STD_LOGIC;
?by?:?OUT?STD_LOGIC;
?br?:?OUT?STD_LOGIC;
?
?light_change?:?OUT?STD_LOGIC;
?current_state?:?OUT?STD_LOGIC_VECTOR(2?DOWNTO?0)
);
END?COMPONENT;
--例化分频模块
COMPONENT?div_to_1HZ
PORT(clk_20M?:?IN?STD_LOGIC;
??clk_1Hz?:?OUT?STD_LOGIC;
??clk_1Hz2?:OUT?std_logic
);
END?COMPONENT;
--例化数码管显示模块
COMPONENT?SEG_8
PORT(clk?:?IN?STD_LOGIC;
????clk_20M:?IN?STD_LOGIC;
????rst_p?:?IN?STD_LOGIC;
?light_change?:?IN?STD_LOGIC;
?SEG_A?:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
?SEG_B?:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
?current_state?:?IN?STD_LOGIC_VECTOR(2?DOWNTO?0)
);
END?COMPONENT;

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1024

  • 2-240Z31T324143.doc
    下载

相关推荐