洗衣机工作模式Verilog代码AX301开发板Quartus

名称:洗衣机工作模式Verilog代码AX301开发板Quartus

软件:Quartus

语言:Verilog

代码功能:

设置洗衣机工作模式:0——洗涤+漂洗;1——洗涤;2——轻柔洗涤;3——脱水

设置水位状态:0-1-2-3-4表示5种水位

设置小时、分钟

可以倒计时

洗涤结束报警

洗衣机正转反转指示灯,高电平亮

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

AX301开发板照片.png

整体仿真图

消抖仿真图

显示模块

分频模块

状态控制模块

部分代码展示:

module wash_machine(
input clk_50M,//50M
input reset_key_in,//复位
input set_time_key_in,//设置
input confirm_key_in,//确认
input error_key_in,//故障按键
output running_led,//洗衣机正在运行指示灯(1秒闪)
output alert_bell,//蜂鸣器报警
output [2:0] rotate_led,//洗衣机正转反转指示灯,高电平亮
output [5:0] bit_select,//数码管位选
output [7:0] seg_select//数码管段选
);
wire clk_1Hz;
wire reset_key;//复位
wire set_time_key;//设置
wire confirm_key;//确认
wire error_key;//故障按键
wire [7:0] countdown_hour_time;//时
wire [7:0] countdown_minute_time;//分
wire [3:0] water_level;//水位
wire [3:0] wash_mode;//模式
//按键消抖模块
key_xiaodou reset_key_xiaodou(
. clkin(clk_50M),  
. key_in(reset_key_in),//输入
. key_posedge(),//消抖后按键上升沿
. key_negedge(reset_key),//消抖后按键下降沿
. key_value()//消抖后按键
);
key_xiaodou set_time_key_xiaodou(
. clkin(clk_50M),  
. key_in(set_time_key_in),//输入
. key_posedge(),//消抖后按键上升沿
. key_negedge(set_time_key),//消抖后按键下降沿
. key_value()//消抖后按键
);
key_xiaodou confirm_key_xiaodou(
. clkin(clk_50M),  
. key_in(confirm_key_in),//输入
. key_posedge(),//消抖后按键上升沿
. key_negedge(confirm_key),//消抖后按键下降沿
. key_value()//消抖后按键
);
key_xiaodou error_key_xiaodou(
. clkin(clk_50M),  
. key_in(error_key_in),//输入
. key_posedge(),//消抖后按键上升沿
. key_negedge(error_key),//消抖后按键下降沿
. key_value()//消抖后按键
);
//分频模块
div_1Hz i_div_1Hz(
. clk_50M(clk_50M),
. clk_1Hz(clk_1Hz)
);
//状态机控制模块
state_control i_state_control(
. clk_50M(clk_50M),
. clk_1Hz(clk_1Hz),
. reset_key(reset_key),//复位
. set_time_key(set_time_key),//设置
. confirm_key(confirm_key),//确认
. error_key(error_key),//故障按键
. running_led(running_led),//洗衣机正在运行指示灯(1秒闪)
. alert_bell(alert_bell),//蜂鸣器报警
. rotate_led(rotate_led),//洗衣机正转反转指示灯,高电平亮
. countdown_hour_time(countdown_hour_time),//时
. countdown_minute_time(countdown_minute_time),//分
. water_level(water_level),//水位
. wash_mode(wash_mode)//模式
);
//显示模式
display i_display(
. clk(clk_50M),
. water_level(water_level),//水位
. wash_mode(wash_mode),//模式
. countdown_hour_time(countdown_hour_time),//时
. countdown_minute_time(countdown_minute_time),//分
. bit_select(bit_select),//数码管位选
. seg_select(seg_select)//数码管段选
);
endmodule
源代码

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

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值