名称:十字路口交通控制系统设计VHDL代码Quartus仿真(文末获取)
软件:Quartus
语言:VHDL
代码功能:
十字路口交通控制系统
设计一个十字路口交通控制系统,其东西,南北两个方向除了有红、黄、绿灯指示是否允许通行外,还设有时钟,以倒计时方式显示每一路允许通行的时间,绿灯,黄灯,红灯的持续时间分别是40、5和45秒。
1. 流程图
2. 工程文件
3. 程序文件
4. 程序编译
5. RTL图
6. 仿真图
整体仿真图
分频模块
红绿灯控制模块
数码管显示模块
部分代码展示:
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; --分频模块 ENTITY CLOCK IS-- Divide 50MHz to 1Hz GENERIC(D : INTEGER := 50);--50000000--仿真时减小为500,实际为50000000 PORT(CLK: IN STD_LOGIC; DAV: OUT STD_LOGIC); END; ARCHITECTURE BHV OF CLOCK IS SIGNAL S : STD_LOGIC:='0'; SIGNAL C : STD_LOGIC_VECTOR(25 DOWNTO 0):="00000000000000000000000000"; BEGIN PROCESS(CLK) --VARIABLE CNT: STD_LOGIC_VECTOR(25 DOWNTO 0); BEGIN IF CLK'EVENT AND CLK='1' THEN IF C = (D-1) THEN--清零 C <= "00000000000000000000000000"; S <= '1'; ELSIF C >= D/2 THEN C <= C + 1;--计数 S <= '1'; ELSE C <= C + 1;--计数 S <= '0'; END IF; END IF; END PROCESS; DAV <= S;--分频到1Hz END;
源代码
点击下方的公众号卡片获取