用verilog实现有趣的洗衣机状态转换

本文介绍了一个使用Verilog设计的洗衣机控制器项目,包括电子定时器(99秒)、状态机(正转、暂停、反转)、LED状态指示及数码管倒计时显示。通过按键启动,当定时结束时,LED全亮,数码管显示剩余时间。设计过程中涉及信号消抖、计时器、状态转换和BCD码转换等关键点。
摘要由CSDN通过智能技术生成

/洗衣机控制器的设计
//A) 设计一个电子定时器,定时时间为99秒,控制洗衣机作如下运转:
//启动→正转 20 秒→暂停 10 秒→反转 20 秒→暂停 10 秒→定时时间未到回到“正转 20 秒→暂停 10 秒→……”,定时到则停止;
//B) 若定时到,则停机发出LED全亮作为指示信号;
//C) 用数码管显示洗涤的剩余时间(秒数),按倒计时方式对洗涤过程作计时显示,直到时间到,停机;洗涤过程由按下key按键开始;
//用LED分别表示“正转”、“暂停”、“反转”三个状态。

学习过程中的小项目,拿到项目后首先需要思考如何实现,最后才是写代码。
1、有按键,就要消抖 ,那么就要考虑信号;
2、计时99s, 需要一个计时器;
3、正转、暂停、反转需要状态机实现跳转;
4、led 灯亮,那么就需要关联数码管
5、还需要考虑数码管显示的数字应为十进制显示,所以需要转换成BCD码;
6、最后需要一个顶层文件,把以上的模块关联在一起即可实现;


module  wash_machine (
input         wire                                  clk,
input         wire                                  rst,
input          wire                                 key,
output       reg                [6:0]                 T,       //输
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值