紫外线消毒灯控制器设计VHDL代码Quartus仿真
名称:紫外线消毒灯控制器设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
设计一个基于FPGA的紫外线消毒灯控制器
设计要求:
1、系统主要外设:按键1个(自恢复式)、消毒灯1个(Led模拟)、系统时钟(1KHz);
2、系统主要功能:当用户短按一次按键,消毒灯亮15分钟。连续按键两次(3秒钟内),消毒灯常亮。任何状态下按住按键保持3秒,消毒灯熄灭。
3、设计语言:VHDL
(说明:紫外线灯控制端口高电平为熄灭状态,低电平为点亮状态。按键未按下时为高电平,按下时为低电平)
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图(系统框图)

状态机视图

5. Testbench

6. 仿真图
6.1 整体仿真图





6.2 长按检测模块仿真图


6.3 消毒灯控制模块仿真图






部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY Disinfection_lamp IS PORT ( clk_1K : IN STD_LOGIC;--1KHz时钟 key : IN STD_LOGIC;--按键,按下低电平 Led : OUT STD_LOGIC--LED消毒灯,低电平亮 ); END Disinfection_lamp; ARCHITECTURE RTL OF Disinfection_lamp IS --按键模块 COMPONENT long_key IS PORT ( clk_1K : IN STD_LOGIC; key : IN STD_LOGIC; long_press : OUT STD_LOGIC ); END COMPONENT; --消毒灯控制模块 COMPONENT lamp IS PORT ( clk_1K : IN STD_LOGIC; key : IN STD_LOGIC; long_press : IN STD_LOGIC; Led : OUT STD_LOGIC ); END COMPONENT; SIGNAL long_press : STD_LOGIC; BEGIN --调用按长按检测模块 i_long_key : long_key PORT MAP ( clk_1K => clk_1K, key => key, long_press => long_press ); --调用消毒灯控制模块 i_lamp : lamp PORT MAP ( clk_1K => clk_1K, key => key, long_press => long_press, Led => Led ); END RTL;
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 紫外线消毒灯控制器设计VHDL代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 紫外线消毒灯控制器设计VHDL代码Quartus仿真