本项目探讨运用Verilog硬件描述语言实现自动售货机的电路逻辑设计与仿真,旨在通过数字系统的设计实践,提升电子工程领域的教学和研究水平。
设计一款自动售货机以出售四种不同价格的商品:1元、2元、5元和10元。顾客只需按下相应的按键即可选择商品,并且数码管会显示所选商品的价格。
该设备接受的硬币类型同样为1元、2元、5元和10元,每次只能投入一种类型的硬币,通过按动相应键来模拟投币操作,并用数码管显示出已投入的金额。
当顾客完成投币后按下确认按钮,如果所投金额不足以购买商品,则设备发出报警信号(可通过点阵显示进行3秒的警告)。若支付充足则自动提供相应的货物并使用指示灯表示。此外,系统会计算出应找给顾客的钱数,并通过数码管显示出找回的具体数额。
在用户完成一次交易后按下确认键三秒钟内售货机将不会接受新的购买指令;这期间设备处于锁定状态直到时间结束后恢复初始设置以供下一位客户使用。
该自动售卖装置还具备一个累计销售总额的功能,商家可以通过操作将其重置为零。这一累积值通过数码管显示两位数字来实现,并且只有授权人员可以进行清空处理。
最后,售货机配备了一个由经营者控制的全面重启功能键以方便管理和维护设备状态。