名称:洗衣机控制器的设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
洗衣机控制器
一、洗衣机共设有5个按键用于实现系统的功能,实现功能分别为RST用于系统复位、K1设置漂洗模式、K2设置脱水模式、K3表示增加模式运转时间、K4用于系统模式启动。
二、洗衣机设有3个LED灯用于表示漂洗模式中当前电机所处的状态,分别为LED3表示电机正转、LED4表示反转和LED5停止。
三、洗衣机设有电机和蜂鸣器,分别表示漂洗脱水模式下的洗衣机模拟运转和漂洗模式结束后自动报警用以提醒用户漂洗完成。
四、洗衣机开始漂洗和脱水后,当用户需紧急停止时,可以通过复位按键来实现洗衣机的紧急停止。
五、洗衣机还设有一个数码管显示器,通过按键来设置漂洗模式的漂洗时间,并在系统启动后实时显示距离漂洗结束所剩时间。
六、洗衣机在漂洗模式中具体实现为:以一分钟为例,按键开始后,电机首先停止10秒,接着反转20秒,在停止10秒后正转20秒,随后电机停止蜂鸣器报警。在脱水模式中为:开始后,电机持续转动1分钟,随后停止。
设计文档:
顶层模块
整体仿真图
增加时间
漂洗结束
脱水模式
按键消抖模块
分频模块
数码管显示模块
蜂鸣器控制模块
电机与LED模块
模式主控模块
部分代码展示:
module bcd_8421
(
input wire sys_clk , //系统时钟,频率50MHz
input wire sys_rst_n , //复位信号,低电平有效
input wire [19:0] data , //输入需要转换的数据
output reg [3:0] unit , //个位BCD码
output reg [3:0] ten , //十位BCD码
output reg [3:0] hun , //百位BCD码
output reg [3:0] tho , //千位BCD码
output reg [3:0] t_tho , //万位BCD码
output reg [3:0] h_hun //十万位BCD码
);
//********************************************************************//
//******************** Parameter And Internal Signal *****************//
//********************************************************************//
//reg define
reg [4:0] cnt_shift ; //移位判断计数器
reg [43:0] data_shift ; //移位判断数据寄存器
reg shift_flag ; //移位判断标志信号
//********************************************************************//
//***************************** Main Code ****************************//
//********************************************************************//
代码文件(付费下载):点击下方来源链接
170