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

洗衣机控制器设计Verilog代码vivado Nexys4开发板

06/18 08:09
274
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-231231132P2I8.doc

共1个文件

名称:洗衣机控制器设计Verilog代码vivado? Nexys4开发板

软件:vivado

语言:Verilog

代码功能:

洗衣机控制器设计要求

设计一个电子定时器,控制洗衣机作如下运转定时启动→正转20秒→暂停10秒→反转20秒→暂停10秒,每个循环1分钟。

按正计时方式用两个数码管显示正转、暂停、反转时间,同时用三只LED灯表示“正转”、“反转”、“暂停”三个状态。

用两个数码管显示洗涤的预置时间(分钟数)按倒计时方式对洗涤过程作计时显示,时间到停机,停机指示灯亮。

洗涤过程由“开始”开关开始,设置“暂停”开关。

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

本代码已在?Nexys4开发板验证,?Nexys4开发板如下,其他开发板可以修改管脚适配:

Nexys4开发板开发板.png

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 管脚约束

4. 程序编译

5. RTL图

6. Testbench

7. 仿真图

7.1 整体仿真图

7.2 div_to_1K模块

7.3 div_to_1模块

7.4 control模块

7.5 display模块

部分代码展示:

//testebnch
module?wash_machine_tb();
reg?clk;//100MHz
reg?key_add;//加按键,设置时间
reg?key_sub;//减按键,设置时间
reg?key_start;//启动按键
reg?key_stop;//暂停按键,按下高电平
reg?key_reset;//复位按键
wire?D1;//正转
wire?D2;//反转
wire?D3;//暂停
wire?end_led;//结束指示灯
wire?[7:0]?bit_select;//数码管位选
wire?[7:0]?seg_select;//数码管段选
wash_machine?i_wash_machine(
.?clk???????(clk???????),//100MHz
.?key_add???(key_add???),//加按键,设置时间
.?key_sub???(key_sub???),//减按键,设置时间
.?key_start?(key_start?),//启动按键
.?key_stop??(key_stop??),//暂停按键,按下高电平
.?key_reset?(key_reset?),//复位按键
.?D1????????(D1????????),//正转
.?D2????????(D2????????),//反转
.?D3????????(D3????????),//暂停
.?end_led???(end_led???),//结束指示灯
.?bit_select(bit_select),//数码管位选
.?seg_select(seg_select)?//数码管段选
);
initial?begin
key_add??=0;//加按键,设置时间
key_sub??=0;//减按键,设置时间
key_start=0;//启动按键
key_stop?=0;//暂停按键,按下高电平
key_reset=1;//复位按键
#10000;
key_reset=0;
#10000;
key_start=1;//启动按键
#10000;
key_start=0;
#10000;
#300000;
key_stop=1;//暂停按键
#10000;
key_stop=0;
#10000;
#200000;
key_start=1;//启动按键
#10000;
key_start=0;
#10000;
end
always?begin
clk=0;
#5;
clk=1;
#5;
end
endmodule

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

  • 2-231231132P2I8.doc
    下载

相关推荐