交通灯控制实验设计VHDL代码Quartus仿真
名称:交通灯控制实验设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
本电路是常用交通灯控制的电路,用于控制某路口红绿黄三色信号灯,对于该电路的设计,需综合应用数字电路中组合逻辑与时序电路的基本知识,掌握各类触发器、门电路的工作原理与使用要点,并分析数字电路在调试过程中出现的各种问题
不考虑主、次干道的通行优先情况,仅对两个道路的交汇路口进行红绿黄三色信号灯的控制电路设计,此时绿灯亮为T1,红灯亮为T2,黄灯亮为T3,只要亮灯时间一到,电路发出信号进行状态转换,这样的交通灯控制电路是目前应用较为普遍的电路
根据交通规则,即“红灯停,绿灯行,黄灯提醒”,交通灯的亮灭规律为:初始态是两个路口的红灯全亮。之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向开始通行,同时从12秒开始倒计时,倒计时到1秒时东西绿灯灭,黄灯开始亮,倒计时从3秒开始,倒计时到0秒后,东西路口红灯亮,倒计时从14秒开始,同时南北路口的绿灯亮,南北方向开始通行,同样从12秒开始倒计时,再切换到东西路口方向,以后周而复始的重复上述过程。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
Quartus9.0版本

2. 程序文件

3. 程序编译

4. 管脚分配

5. RTL图(模块连接图)

6. 仿真图

部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY Traffic_Light_Control IS PORT ( clk : IN STD_LOGIC;--48MHz -- enable : IN STD_LOGIC;--hold,按下高电平 R1 : OUT STD_LOGIC; G1 : OUT STD_LOGIC; Y1 : OUT STD_LOGIC; R2 : OUT STD_LOGIC; G2 : OUT STD_LOGIC; Y2 : OUT STD_LOGIC; dig:OUTSTD_LOGIC_VECTOR(7 DOWNTO 0); seg:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END Traffic_Light_Control; ARCHITECTURE trans OF Traffic_Light_Control IS COMPONENT CLOCK IS-- Divide 48MHz to 1Hz GENERIC(D : INTEGER := 48000000); PORT(CLK: IN STD_LOGIC; DAV: OUT STD_LOGIC); END COMPONENT; COMPONENT HEX IS PORT ( clk : IN STD_LOGIC; SMG_1 : IN STD_LOGIC_VECTOR(7 DOWNTO 0); SMG_2 : IN STD_LOGIC_VECTOR(7 DOWNTO 0); dig:OUTSTD_LOGIC_VECTOR(7 DOWNTO 0); seg:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END COMPONENT; COMPONENT SMG IS PORT ( clk : IN STD_LOGIC; R1 : IN STD_LOGIC; G1 : IN STD_LOGIC; Y1 : IN STD_LOGIC; R2 : IN STD_LOGIC; G2 : IN STD_LOGIC; Y2 : IN STD_LOGIC; G1_BCD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y1_BCD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); R1_BCD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); G2_BCD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y2_BCD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); R2_BCD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); G1_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y1_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); G2_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y2_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); SMG1 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); SMG2 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END COMPONENT; COMPONENT RGY IS PORT ( clk_1 : IN STD_LOGIC; enable : IN STD_LOGIC; G1_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y1_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); G2_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y2_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); R1 : OUT STD_LOGIC; G1 : OUT STD_LOGIC; Y1 : OUT STD_LOGIC; R2 : OUT STD_LOGIC; G2 : OUT STD_LOGIC; Y2 : OUT STD_LOGIC; G1_BCD : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); Y1_BCD : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); R1_BCD : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); G2_BCD : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); Y2_BCD : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); R2_BCD : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END COMPONENT;
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 交通灯控制实验设计VHDL代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 交通灯控制实验设计VHDL代码Quartus仿真
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm