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

基于FPGA的电风扇控制器Verilog代码Quartus仿真

07/23 09:33
304
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2405111P151I6.doc

共1个文件

名称:基于FPGA的电风扇控制器Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

电风扇控制器

设计任务及要求

运用 EDA SOPO实验开发系统设计一个基于FPGA的电风扇定时开关控制器,能实现手动和自动模式之间的切换。要求:

(1)K1为电源开关

由电源开关控制电风扇的开关,即当K1为高电平“1”时,风扇工作:K1为低电平“0”时,风扇停止工作。

(2)K2为模式选择开关

用户可以选择工作模式,由模式切换开关实现手动或自动模式。K2为“0”时手动工作,K2为“1”时自动工作。

(3)K3为时间选择开关

自动模式时,由开关选择自动工作时间,K3为“0”时,工作时间为20分钟;K3为“1”时,工作时间为30分钟:工作时间结束时,风扇自动关闭;手动模式时开关无效。

(4)K4为风扇摇头选择开关

K4为“0”时,风扇不摇头,K4为“1”时,风扇摇头。

(5)四个数码管

在手动工作时,四个数码管显示“9999”,在自动工作时,左边两位显示总时间右边两位显示剩余时间。

(6)发光二极管D1,D2

D1表示电风扇,电风扇工作时,输高电平,二极管亮,电风扇不工作时,输出低电平,二极管不亮;D2是电风扇摇头指一灯,摇头时点亮。

QQ图片20240511175259.png

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. RTL图

6. 仿真图

整体仿真图

分频器仿真图

电风扇控制器仿真图

译码器仿真图

部分代码展示:

//顶层模块
module?fan(
input?CP,//1000Hz时钟
input?K1,//K1为电源开关,1时工作
input?K2,//K2为模式开关,0时手动,1时自动
input?K3,//K3为时间选择开关,0时20分钟,1时30分钟
input?K4,//K4为摇头选择开关,1时摇头,0不摇头
output?[7:0]?DS1,DS2,DS3,DS4,//数码管手动显示9999,自动时左显示总时间,右显示剩余时间
output?D1,//工作指示LED
output?D2//摇头指示LED
);
wire?clk_en;
wire?[15:0]?dis_bus;//数据
//分频器
fenpin?U_fenpin(
.?CP(CP),//1000Hz
.?clk_en(clk_en)//高电平脉冲1Hz
);
//电风扇控制器
fan_ctrl?U_fan_ctrl(
.?CP(CP),//1000Hz
.?clk_en(clk_en),//高电平脉冲1Hz
.?K1(K1),//K1为电源开关,1时工作
.?K2(K2),//K2为模式开关,0时手动,1时自动
.?K3(K3),//K3为时间选择开关,0时20分钟,1时30分钟
.?K4(K4),//K4为摇头选择开关,1时摇头,0不摇头
.?D1(D1),//工作指示LED
.?D2(D2),//摇头指示LED
.?dis_bus(dis_bus)//数码管值,手动显示9999,自动时左显示总时间,右显示剩余时间
);
//译码器
decode?U_decode(
.?dis_bus(dis_bus),//数码管值
.?DS1(DS1),//数码管1
.?DS2(DS2),//数码管2
.?DS3(DS3),//数码管3
.?DS4(DS4)////数码管4
);
endmodule

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

  • 2-2405111P151I6.doc
    下载

相关推荐