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

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

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

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
    下载

相关推荐