自己的自动售货机控制系统设计_第1页
自己的自动售货机控制系统设计_第2页
自己的自动售货机控制系统设计_第3页
自己的自动售货机控制系统设计_第4页
自己的自动售货机控制系统设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简易自动售货机控制系统设计

随着科技的发展和社会的进步,自动售货机作为自动化商业机械的代表被广泛用于公共场所自动售货,给人们的生活带来了极大的方便,有“无人小超市”之称。

本课题是通过使用VHDL语言,基于FPGA可编程芯片,并通过使用QuartusⅡ软件进行程序设计,模拟仿真以及功能验证。 一、课题介绍二、软件系统设计第一部分:功能要求第二部分:总体思想第三部分:功能模块的划分第四部分:控制状态的设计第一部分:功能要求

本自动售货机可销售热狗(1元),汉堡包(4元),饮料(3元)3种商品;允许投入1元,2元,5元硬币;售货机有2个输出口,分别输出货品和找零;另外有4个LCD数码管,2个用来显示已经投入的币值,2个用来显示找零数。在自动售货机控制系统的工作过程中,可分为三个状态:初始状态、投币状态和找零状态。在每一个状态中完成特定的功能。系统运行流程如图1所示。

图1系统运行流程图第二部分:总体思想

自动售货机包括三个商品,依据三种商品分别设为三个按钮,A1,A3,A4。当顾客选择其中的一种商品时,售货机发送出一个信号按钮不再生效,用一个LED灯显示。设置三个按钮:a1,a2,a5来表示投入的硬币是1元、2元、5元。当顾客确定某种商品且投入了足额的硬币,投币时限到时,投币窗口找零,用七段显示管显示找零数,同时送出商品,指示灯out亮。第三部分:功能模块的划分

自动售货机控制系统的功能模块逻辑上划分为主控制模块、商品选择模块、投币处理模块、找零模块、分频模块和显示模块。自动售货机系统框图如图2所示。

图2自动售货机系统框图

第四部分:控制状态的设计

此售货机分为三种状态,每一个状态能完成一定得功能:初始状态,投币状态,找零状态。(1)初始状态:当售货机通电后进入初始状态,顾客购买时,可根据选择xuan_rg,xuan_yl,xuan_hb键购买商品,从而进入下一状态。当顾客购买错误或不再购买时按下start重新进入初始状态。(2)投币状态:在这个状态时xuan_rg,xuan_yl,xuan_hb键失效。投入钱(1元,2元,5元),当投入硬币等于或者超过商品价格时进入下一状态。投币时间为30秒超过30秒,售货机拒绝接受钱币。(3)找零状态:投币结束,售货机自动判别总钱数,若在时限到来之际,总钱数少于顾客所需商品的单价,则退出钱币,用LED显示退钱数。若大于或等于商品数则通过控制系统找零,用LED显示找零数,送出商品。出货找零,表示一次工作已经结束,等待下一个信号到来,进行新的售货。三、模块仿真

1.投币模块

此模块有六个输入信号以及两个输出信号:qian1,qian2,qian5为不同数额钱币输入信号;en1为主控模块所发出的信号,当en1信号为1的时候,投币模块开始工作;reset为恢复初始信号,当reset信号为1的时候投币模块不进行工作;en为给计时器的输出信号,当en为1的时候计时器开始工作;bi为输出的钱币数目。 投币模块的作用相当于一个计数的寄存器,在清零的状态下可以准确的计算投币数额,记录并保存总币值。三、模块仿真

通过程序所得到的仿真图如下所示: 1、当reset输入为0,输入5元,2元,1元时,仿真结果如图3所示:图3reset输入为0时的仿真结果三、模块仿真

2.当reset输入为1时,输入5元,2元,1元,bi输出应为0。仿真结果如图4所示:图4reset输入为1时的仿真结果三、模块仿真2.商品选择模块

自动售货机的商品选择模块,通过自动售货机上的三个选择按键完成商品选择,在接收到对应三个商品之一的一个选择信号时进行编译,将被选择的商品进行编码,输入到主控模块中,在主控模块中与所接受的钱币进行对与计算。输入信号为a1,a4,a3。而xuan_rg,xuan_hb,xuan_yl为三个输出信号,与出货模块连接。reset与en2信号来自主控模块,当reset为1时模块进入初始状态,不进行选择。当en2为1时,商品可以进行选择,当en2为0时,三个商品选择键无效。

三、模块仿真

当reset输入为0,en2输入为1时,d输出为货物,仿真结果如图5所示:图5reset输入为0,en2输入为0,a8输入为1时的仿真结果三、模块仿真

3.分频模块

分频模块是用来将外来的时钟信号进行分频选用的时钟信号是由外部的6MHZ的晶振提供的,通过分频模块进行分频以后将得到周期为1HZ的信号。由于仿真所需时间过长,本文选择100.0ns为一周期的信号,分频后为6.0us为一周期的信号,时钟输入信号为clk,输出信号为newclk。

通过仿真结果如下图6所示: 三、模块仿真

图6newclk输出为1时的仿真结果三、模块仿真

4.计数模块

由于课题要求自动售货机控制系统有定时系统,并限定在30s内完成投币,30s之后投币无效,因此需要设定一个计数模块对投币时间进行限制。en为接受信号,当投币开始时投币模块发出信号,计数模块开始工作,当计数到30时向控制模块发出t信号。Clr为控制器发送给计数模块的一个信号,当clr为1时,计数器归零。Clk为分频模块发送的时钟信号。

通过程序所得的仿真结果如图7下:

图7计数模块仿真三、模块仿真1当en为1时,clr为0时,t在clk第30个上升沿输出为1,仿真结果如图8所示:图8t输出为1时的仿真结果三、模块仿真2当en为1时,clr为1时,t输出为0,仿真结果如图9所示:

图9t输出为0时的仿真结果三、模块仿真5.出货模块

出货模块是自动售货机给出相关货物的信号,本课题要求货物为三个商品,因此出货模块有4个输入信号xuan_rg,xuan_sb,xuan_yl,为所购商品的输入信号,en为控制模块所给的信号当en=1时出货模块开始工作,然后对顾客所选择货物进行出货。 出货模块的仿真结果如下: 1当输入信号en为1,xuan_rg信号为1时,chu_rg信号为1,仿真结果如图10所示:三、模块仿真图10chu_rg信号为1时的仿真结果三、模块仿真

2当输入信号en为0,xuan_rg信号为1时,chu_rg信号为0,仿真结果如图11所示:图11chu_rg信号为0时的仿真结果三、模块仿真

6.显示模块 显示模块的作用是对购物结束后的所需找零数目进行显示。找零显示模块的输入端接收来自控制模块的输入信号,输出端外接LED显示灯,由于找零的数目为范围为0至8,因此只需要一个LED显示灯,输出信号为a,b,c,d,e,f,g。仿真结果如图12所示:三、模块仿真图12LED的仿真结果三、模块仿真

7.主控模块

主控模块为自动售货机控制系统的核心部分,在主控模块中将输入的钱币数目与商品的价格进行对比,然后进行找零并发出出货信号。输入信号t为计时信号,当时间超过30s时,商品不再接受货币。Clk为控制系统的时钟信号。输出信号di,c分别为找零显示模块的输入信号与找零信号。en为控制出货模块的信号,当en值为1时,确认出货模块可以输出商品。Start为复位信号,当start值为1时,自动售货机回到初始状态。Clr为计数模块的控制信号,当收货完成后,clr输出为1,计数模块回到初始状态归零。En1与en2分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论