软件:Quartus
语言:VHDL
代码功能:
六位数码管动态显示设计
利用QuartusII软件和VHDL语言,设计一个六位数码管动态显示系统:
1.显示功能:能够在6位数码管上清晰稳定地显示“123456”。
2.复位和启动:具有复位功能,即用开关清除数码管显示内容和启动显示。
3.流水灯功能:用4个发光二极管制作流水灯,间隔1秒,从左向右循环流动,并受复位和启动开关控制本代码已在至芯开发板验证。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY display IS PORT ( clk_in : IN STD_LOGIC;--时钟 reset : IN STD_LOGIC;--按下低电平 start : IN STD_LOGIC;--按下低电平 LED : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--低电平亮 SEL : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);--数码管位选 SEG : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选 ); END display; ARCHITECTURE RTL OF display IS COMPONENT SEG_ctrl IS PORT ( clk_in : IN STD_LOGIC;--时钟 reset : IN STD_LOGIC;--按下低电平 start : IN STD_LOGIC;--按下低电平 SEL : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);--数码管位选 SEG : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选 ); END COMPONENT; COMPONENT LED_ctrl IS PORT ( clk_in : IN STD_LOGIC;--时钟 reset : IN STD_LOGIC;--按下低电平 start : IN STD_LOGIC;--按下低电平 LED : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)--低电平亮 ); END COMPONENT; BEGIN --数码管显示模块 i_SEG_ctrl : SEG_ctrl PORT MAP ( clk_in => clk_in, reset => reset, start => start, SEL => SEL, SEG => SEG ); --LED流水灯控制模块 i_LED_ctrl : LED_ctrl PORT MAP ( clk_in => clk_in, reset => reset, start => start, LED => LED ); END RTL;
阅读全文
823