基于Verilog的双币种自动售货机设计与实现
2026.09.16 19:38:13 7 0
自动售货机作为无人零售的核心终端之一,已广泛应用于校园、商圈等场景,早期的自动售货机多支持单币种投币,随着支付场景多元化,支持双币种(如1元、5元硬币)的售货机需求逐步提升,本文基于Verilog硬件描述语言,完成一款支持两种面额硬币、具备投币计数、出货控制与找零功能的自动售货机硬件设计,可直接部署于FPGA开发板进行实物验证。

系统总体需求与架构设计
1 核心功能定义
本次设计的双币售货机预设商品单价为3元,支持识别两种硬币:1元硬币(记为Coin1)与5元硬币(记为Coin2),具备以下核心功能:
- 实时统计累计投币金额,支持两种面额叠加计数
- 累计金额≥商品单价时,触发出货提示,自动计算并显示找零金额
- 支持手动退币,一键返还当前累计的全部投币金额
- 通过七段数码管实时显示当前累计金额与找零金额
2 端口定义
设计的硬件端口分为输入与输出两类:
| 端口名称 | 方向 | 功能说明 |
|------------------|------|------------------------------|
| clk | 输入 | 系统时钟,默认50MHz |
| rst_n | 输入 | 低电平有效异步复位信号 |
| coin1 | 输入 | 1元硬币投币检测脉冲输入 |
| coin2 | 输入 | 5元硬币投币检测脉冲输入 |
| sell_btn | 输入 | 出货请求按键输入 |
| refund_btn | 输入 | 退币请求按键输入 |
| seg_total_a~g
本文转载自互联网,如有侵权,联系删除
