- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字系统课程设计
-- 基于FPGA的自动售货机
设计要求:
功能描述:用于模拟自动售货机的工作过程,完成自动售货功能。
功能要求:
(1)售货机有两个进币孔,可以输入硬币和纸币,售货机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是1 元的硬币,纸币的识别范围是5 元,10 元,20,50 元,100元。乘客可以连续多次投入钱币。
(2)顾客可以选择的商品种类有16 种,价格分别为1-16 元,顾客可以通过输入商品的编号来实现商品的选择。即有一个小键盘(0-9 按键)来完成,比如输入15 时要先输入1,再输入5。
(3)顾客选择完商品后,可以选择需要的数量。然后可以继续选择商品及其数量,每次可以选择最多三个商品。然后显示出所需金额。顾客此时可以投币,并且显示已经投币的总币值。当投币值达到或超过所需币值后,售货机出货,并扣除所需金额,并找出多余金额。在投币期间,顾客可以按取消键取消本次操作,钱币自动退出。
课题分析
1)进行购物时,顾客依次选择商品种类和对应的商品数量。一共有16种商品,编号分别为1-16,顾客通过(0-9按键)小键盘输入商品编号和对应的商品数量。若顾客继续选择商品则按下“继续购物”按钮,继续选择下一商品的种类和数量。最多可以选择三种商品,每种商品最多可选择三个。若在商品选择过程中顾客按下“取消”按钮,则回到初始化状态,顾客重新进行选择。
2)完成选择后,自动售货机显示所需金额,编号1-16的商品价格分别为1-16元。顾客根据所需金额继续投币,可以连续多次投入1元的硬币和5 元,10 元,20,50 元,100元的纸币。当投币总额大于所需金额时,自动售货机出货并找出零钱。若在投币过程中顾客按下“取消”按钮,则自动售货机自动退出顾客已经投入的钱币。
3)根据按键的数值范围(0-9)和商品数量(1-3)的选择范围,设置三个端口,分别用于接收商品编号的个位(4位)、商品编号的十位(4位)、商品数量(2位)。若顾客在商品选择的过程中,选择了三种以上商品或三个以上的个数,则系统不对其作出反应。
4)附加功能:管理人员按下reset按钮后,系统重置。默认每种商品机内存货15个,系统进入初始化状态后会自动显示商品剩余库存。
开始系统运行流程:
开始
Nreset=1
N
reset=1
pre_stateY
pre_state
Y
initial_state
initial_state
item_state
item_state
输入商品编号
输入商品编号
N
N
Y输入次数小于3
Y
输入次数小于3
Y cancel=1
Y
cancel=1
quantity_stateN
quantity_state
N
输入商品数量
输入商品数量
计算商品总额total_price
计算商品总额total_price
quantity_state计算商品剩余库存并输出
quantity_state
计算商品剩余库存并输出
continue=1
continue=1
money_stateN
money_state
N
Y输出
Y
输出total_price
Ycancel=1
Y
cancel=1
N
N
change_out=counter投币
change_out=counter
投币couter
compare_stateNcountertotal_price
compare_state
N
countertotal_price
Y
Y
Y
Y
cancel=1
cancel=1
N
N
Ncountertotal_pricechange_out=counter
N
countertotal_price
change_out=counter
Y
Y
change_stateYcancel=1
change_state
Y
cancel=1
change_out=counter
change_out=counter
N
N
计算找零额
计算找零额
finish_state
finish_state
输出货物、找零
输出货物、找零
四、程序调试
编译通过,如图所示:
五、波形仿真:
在创建的波形仿真文件中,添加所有输入输出端口进行仿真。时钟周期设定为10ns,测试系统的所有功能是否正常。
管理员将reset置1;
第一次:购买11号商品3件,投入三枚一员硬币,一张一百元纸币;
第二次:购买01号商品1件,continue,购买10号商品2件,continue,购买13号商品3件;投入一张五十纸币,一张十元纸币;
第三次:购买03号商品2件,cancel;
第四次:购买16号商品2件;投入一张五十纸币;cancel;
六、附源代码
library ieee;
use ieee.st
您可能关注的文档
最近下载
- 哮喘合并冠心病高血压病例分析课件.pptx VIP
- 2025年中期投资策略展望十大投资主题系列-中国股市十大投资主题:先进制造篇.pdf
- 《脑卒中防治知识普及》课件.ppt VIP
- 《综合实践项目 健康生活宣传展演》(教案及反思)-2024-2025学年人教版(2024)初中生物八年级上册.docx VIP
- 哮喘合并冠心病、高血压病例分析课件.pptx VIP
- 《选择健康的生活方式》(教案及反思)-2024-2025学年人教版(2024)初中生物八年级上册.docx VIP
- 《危险驾驶罪》课件.ppt VIP
- 《我的幸运一天》-课件.ppt VIP
- 一元一次不等式组含参问题.pdf VIP
- 综合实践项目+健康生活宣传展演+课件-2025-2026学年人教版生物八年级上册.pptx VIP
文档评论(0)