基于VHDL的自动售货机设计报告精选.docVIP

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VHDL的自动售货机设计报告精选

提供全套毕业设计,欢迎咨询 基于VHDL的自动售货机 设计报告 组员: 2014-9-20 目录 1.封面……………………………………………………………1 2.目录……………………………………………………………2 3.导言……………………………………………………………3 4.正文……………………………………………………………4 (1)程序结构介绍……………………………………………4 ①主进程……………………………………………4 ②分频进程…………………………………………5 ③译码显示进程……………………………………6 (2)设计中遇到的问题及解决………………………………6 5.结论与改进……………………………………………………7 6.人员及任务分配………………………………………………10 7.致谢……………………………………………………………10 8.附录……………………………………………………………10 9.参考文献………………………………………………………22 一、导言 在2114年短学期中,我组成员在“数字系统课程设计”课程中成功按题目要求设计完成了目标系统——基于VHDL的自动售货机模拟系统。 本文将介绍我组设计过程与结果。 设计题目如下: 设计FPGA 模块模拟自动售货机的工作过程,要求 (1)售货机有两个进币孔,可以输入硬币和纸币,售货机有两个进币孔,一个是输入硬币,一个是输入纸币,硬币的识别范围是1 元的硬币,纸币的识别范围是5 元,10 元,20元。乘客可以连续多次投入钱币。 (2)顾客可以选择的商品种类有16 种,价格分别为1-16 元,顾客可以通过输入商品的编号来实现商品的选择。由于输入涉及到0-9共10个数字。Nexys3开发板上只有5个按键,可以使用一位开关(比如SW0)来配合按键进行输入,开关SW0拨到0时,5个按键分别代表0-4,SW0拨到1时,5个按键分别代表5-9,这样即可完成所有数字的输入。由于有16种商品,可以通过两次按键来完成。 (3)顾客选择完商品后,可以选择需要的数量,数量为1-3件。然后可以继续 选择商品及其数量,每次可以选择最多两个商品。然后显示出所需金额。顾客此时可以投币,并且显示已经投币的总币值。当投币值达到或超过所需币值后,售货机出货,并扣除所需金额,并找出多余金额。在投币期间,顾客可以按取消键取消本次操作,钱币自动退出。 我组完成了以上基本功能,并在按金额面值大小顺序退币及返回上一层功能上进行了拓展尝试。 二、 正文 1、程序结构介绍 本系统由三个进程组成,分别为主进程(main)、分频进程(m)、译码显示进程(translate)组成。 (1)主进程(main) 主进程为分为9个状态,按主进程流程顺序分别为开始状态(sstart),第一个商品种类编号的十位、个位选择状态(schoGoods10、schoGoods11),第一个商品数量选择状态(choNum1),第二个商品种类编号的十位、个位选择状态(schoGoods20、schoGoods21),第二个商品数量选择状态(choNum2),付款状态(spayment),找零状态(srefund)。 ① 开始状态(sstart)主要完成变量的初始化及重新归零处理,在系统回归初始状态后,即跳转到选择商品编号状态。 ② 第一个商品的十位及个位选择(schoGoods10、schoGoods11)状态完成第一件商品的选择功能。在十位选择时,如果用户按下0、1以外的按键(在十位选择过程中shift开关不会影响按键代表的值),则系统不会响应按键,而是继续等待输入;在个位输入时,当shift开关值为1,则5个键代表的值将由01234变为56789,达到了题目要求。每次输入,改变信号sneedMoney的值,并分个位十位输出到左侧两个数码管上。如果拨动ok键,将进入下一个状态。 ③ 第一个商品的数量选择状态(choNum1)将用户输入所需的商品数量保存。当用户按下0-3之间的任一个键,并拨动ok开关时,左侧数码管显示当前需要金额,并进入下一个状态。 ④ 第二个商品的种类及数量选择过程(choGood20、choGoods21、choNum2)与第一个类似,不做赘述。当用户不需要选择第二个商品时,只需要将第二个商品的种类或数量其中一个设为0即可。当选择完第二个商品数量并拨动ok按钮,数码管显示购买两种商品所需要的总额,并进入付款状态。 ⑤付款状态(spayment)中付款由开关模拟,用四个开关分别代表1、5、10、20四种币额的投入(可多次投入)。投币过程中,数码管右侧两位将实时显示已投入的金额。在付款过程中,如果用户拨动取消按键,则直接进入退币状态

文档评论(0)

feixiang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档