当前位置:   article > 正文

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

洗衣机控制器vivado代码完整

名称:洗衣机控制器设计Verilog代码vivado  Nexys4开发板(文末获取)

软件:vivado

语言:Verilog

代码功能:

洗衣机控制器设计要求

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

按正计时方式用两个数码管显示正转、暂停丶反

转时间,同时用三只LED灯表示“正转

“反转”、“暂停”三个状态

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

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

本代码已在 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
源代码

 扫描文章末尾的公众号二维码

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号