1、 数字系统设计技术数字系统设计技术 课程设计课程设计 课题名称:课题名称: 电子售货机电子售货机 学学 院:院: 电子与通信工程学院电子与通信工程学院 班班 级:级: 组组 员:员: 学学 号:号: 指导老师:指导老师: 目录目录 一、设计方案一、设计方案 . 1 1、功能简介、功能简介 . 1 2、开发测试环境选择、开发测试环境选择 1 二、售货机二、售货机 EDA 程序设计程序设计 1 1、定义端口与信号说明、定义端口与信号说明. 1 1.1 输入端口输入端口 1 1.2 输出端口输出端口 1 1.3 信号信号 . 2 2、状态模块说明、状态模块说明 2 2.1 状态转换图状态转换图 2
2、2.2 购买购买 1 元商品模块元商品模块. 2 2.2 购买购买 5 元商品模块元商品模块. 3 2.3 购买购买 7 元商品模块元商品模块. 4 2.4 顶层电路结构顶层电路结构 4 三、小结三、小结. 5 四、附录四、附录. 5 1、使用说明、使用说明 . 5 2、参考文献资料、参考文献资料 5 3、附表、附表 . 6 1 一、设计方案一、设计方案 1、功能简介、功能简介 本文采用状态机的方法所设计的简易电子售货机可出售 1 元、5 元、7 元的商品,可接 受 1 元、5 元、10 元的投币,可显示选择商品的价格,可找回购买后的余额。若投币金额充 足则自动给出对应的商品和自动找零, 且在
3、投币购买过程中若投币余额不足会发出警告。 在 商品购买、 找零完毕后, 售货机会回到初始状态, 顾客可进行下次购买。 另设有初始化按钮, 按下之后售货机回到初始状态。 2、开发测试环境选择开发测试环境选择 开发和仿真软件选择了 Altera 公司的综合性 PLD/FPGA 开发软件 Quartus II 8.0,首先在 Quartus II 8.0 下进行程序设计,编译通过后用 Quartus II 8.0 进行功能仿真并检查对应 的功能。 二、售货机二、售货机 EDA 程序设计程序设计 1、定义端口与信号说明、定义端口与信号说明 1.1 输入端口输入端口 reset:异步复位端口,低电平有效
4、;clk:时钟信号端口,控制状态的转换;item1:1 元商品选择端口;item5:5 元商品选择端口;item7:7 元商品选择端口;ok:商品选择确 认端口;coin1:1 元投币信号端口;coin5:5 元投币信号端口;coin10:10 元投币信号端 口。 1.2 输出端口输出端口 zhaoqian:退钱信号端口;jiage:对应商品价格显示端口;get1:1 元商品输出端口: 2 get5:5 元商品输出端口;get7:7 元商品输出端口;warn:投币金额不足提示窗口。 1.3 信号信号 s0:初始状态信号;rmb1:购买 1 元商品模块信号;rmb5:购买 5 元商品模块信号;
5、rmb7:购买 7 元商品模块信号;now_state:当前信号保存变量;next_state:下一时钟上升 沿读取信号保存变量。 2、状态模块说明、状态模块说明 2.1 状态转换图状态转换图 本程序状态机设计包含 4 个状态 s0:初始态;rmb1:1 元商品购买;rmb5:5 元商 品购买;rmb7:7 元商品购买。 2.2 购买购买 1 元商品模块元商品模块 本模块处理当顾客选择 1 元商品后的处理,执行流程如下: 首先价格端口显示价格为 1 元,顾客在按下确认键,ok=1后,若投币 1 元,则 get1=1给出 1 元商品、zhaoqian=0 退钱 0 元;若投币 5 元,则 get
6、1=1给出 1 元商品、zhaoqian=4 退钱 4 元;若投币 10 元,则 get1= 1给出 1 元商品、zhaoqian=9 退钱 9 元。仿真结果见图 1: 3 2.2 购买购买 5 元商品模块元商品模块 本模块处理当顾客选择 5 元商品后的处理,执行流程如下: 首先价格端口显示价格为 5 元,顾客在按下确认键,ok=1后,若投币 1 元,则 warn=1投币金额不足提示,zhaoqian=1 退钱 1 元;若投币 5 元,则 get5=1给出 5 元商品、 zhaoqian=0 退钱 0 元; 若投币 10 元, 则 get5= 1 给出 5 元商品、 zhaoqian=5 退钱 5 元;仿真结果见图 2: 4 2.3 购买购买 7 元商品模块元商品模块 本模块处理当顾客选择 7 元商品后的处理,执行流程如下: 首