带七段式数码显示管的自动售卖机设计(verilog自学笔记之有限状态机的设计)

采用三段式的方法写一个自动售卖机,功能如下:

共有三种纸币入口,分别支持10元,20元,50元。货物售价80元。需要支持找钱功能(注意,找钱有两种情况,90元和100元;110元和120元的情况不符合实际应用场景,所以不存在找钱的情况。)带有用七段式数码显示管显示当前总金额的功能。

七段数码管原理图如下:

七段数码显示管代码:简单模块通过case实现,无需多言。

FSM状态转换关系如下:摩尔型状态机

设计思想:

采用三段式,第一段同步时序逻辑,描述状态转换关系。第二段采用组合逻辑判断状态转移条件,第三段描述状态的输出。

代码如下:

简单的测试代码:

结果波形:

如波形所示,投入一枚50元,十位显示管显示5,个位百位均显示0,再次投入50,显示管显示100,同时出货,并找零20,下个状态归零。投入4个20元,显示管20,40,60,80,出货,不找零。再投50元和两个20元,显示管依次50,70,90并找零10元。之后投入20,10,50,显示管20,30,80,出货不找零。功能正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值