网站大量收购独家精品文档,联系QQ:2885784924

基于FPGA的自动售货机-课程设计《电子线路EDA》课程设计参考.doc

基于FPGA的自动售货机-课程设计《电子线路EDA》课程设计参考.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FPGA的自动售货机-课程设计《电子线路EDA》课程设计参考

绪论 自动售货机(Vending Machine,VEM)是能根据投入的钱币自动付货的机器。自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。是一种全新的商业零售形式,又被称为24小时营业的微型超市。能分为三种:饮料自动售货机、食品自动售货机、综合自动售货机。它能够在无人操作的情况下根据程序自动地销售商品。自动售货机不受工作时间及地点限制的特点,使其实现了一种提高营业额的同时又降低了成本的销售模式。进入21世纪之后,自动售货机的发展进一步加快,智能化的自动售货机正在逐步进入普通民众的生活之中,在未来,自动售货机的发展将会更加迅速,更加智能的自动售货机会让人们的生活更加便利。 VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。因此,此次运用VHDL语言来实现一个简易的自动售货机是一个很有意义并且非常有乐趣的课题! 关键词:自动售货机 VHDL 1 课程设计实验要求 1.1 初始条件 。 1.2 要求完成的主要任务 投币后,按下确认键,判断投币额是否足够,若投币额足够则根据顾客的要求自动售货并找零。若投币额不够,则报警5s并退钱。 投币后,按下取消键,则终止交易,自动退钱。 售货机还具有供商家使用的累加卖货额的功能,由数码管显示累加的售出金额。 广泛调研,提出几种可行的方案多方论证,确定设计方案完成仿真。 按规定格式完成报告书。 参考文献不少于5篇。 2.1 方案论证及选择 方案一:通过VHDL的状态机以及CASE语句进行编程,用6个状态分别表示商品选择、投币额累加、找零售货以及总销售额的累加等功能。但是由于对状态机的理解和应用并不是很熟练,并且程序相对比较复杂。 方案二:通过一步一步的过程,按顺序将程序运行下去,并且用IF语句实现对售出金额的累加,完成目标要求。程序通俗易懂,按照大体的思路可以很容易的编出来,思路清晰。 经比较,方案二更能较好的完成对实验目标的实验,且编程部分相对比较简单。所以选择方案二作为最终的方案。 2.2 系统组成框图 根据设计要求,系统的组成框图如下图3-1所示。 控制器 按键 投币 图2-1 系统的组成框图 由图3-1可知,该系统主要由购物控制、译码显示两个部分构成。当有人需要购买物品时,首先选择所要购买的物品,这时,前三个数码显示管选中商品的单价。之后顾客投币进行购买,后两个数码显示管显示总共投入了多少钱。当按下确认键时,将在系统内部进行比较,比较单价和所投入的金额。若投币金额大于或等于该商品单价时,系统显示成功售出该商品并进行找零,即投币金额与商品单价的差值,然后将售出总额加上这次的物品单价。若投币金额小于该商品单价时,系统显示购买失败,在报警5后退换投币金额,售出总额不变。无论哪种情况,完成后回到初始状态。 2.3 程序流程图 图2-2 系统的程序流程图 运行开始之后,由顾客选择商品,然后进行投币,此时若顾客选择取消按键,则立即执行退币,程序结束,若顾客选择的确定键,则进一步判断顾客的投币金额是够足够买所选商品,如果不够,则报警5S后退币并结束,若足够,则出货并且退币,程序结束。 3 系统程序及各模块说明 3.1 购物模块 购物模块分成三个部分,分别是选择商品部分,投币部分和确认或取消部分,选择商品有四种情况分别为纯净水(2元)、可乐(4.5元)、牛奶(5元)、果汁(5.5元);投币有三种情况分别是5元10元和20元,确认或取消有两种情况,因为价格中有小数部分,所以导致其中的数据部分都可能含有小数部分,因此,此处选择将所有的价格以及投币均放大十倍,这样就消除了小数带来的影响。 LIBRARY IEEE; USE IEEE.std_logic_1164.all; USE IEEE.std_logic_unsigned.all; USE IEEE.std_logic_arith.all; USE IEEE.std_logic_signed.all; entity VendingMachine is --定义实体 p

您可能关注的文档

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档