自己的自动售货机控制系统设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、模块仿真
图10 chu_rg信号为1时的仿真结果
三、模块仿真
2 当输入信号en为0,xuan_rg信号为1时,chu_rg信号 为0,仿真结果如图 11所示:
图11 chu_rg信号为0时的仿真结果
三、模块仿真
6.显示模块 显示模块的作用是对购物结束后的所需找零数 目进行显示。找零显示模块的输入端接收来自控制 模块的输入信号,输出端外接LED显示灯,由于找 零的数目为范围为0至8,因此只需要一个LED显示 灯,输出信号为a,b,c,d,e,f,g。仿真结果 如图12所示:
二、软件系统设计
第一部分:功能要求 第二部分:总体思想 第三部分:功能模块的划分 第四部分:控制状态的设计
第一部分:功能要求 本自动售货机可销售热狗(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亮。
三、模块仿真
通过程序所得到的仿真图如下所示: 1、当reset输入为0,输入5元,2元,1元 时,仿真结果如图3所示:
图3
reset输入为0时的仿真结果
三、模块仿真
2.当reset输入为1时,输入5元,2元,1元, bi输出应为0。仿真结果如图4所示:
图 4 reset输入为1时的仿真结果
三、模块仿真
简易自动售货机控制系统设计
LOGO
一、课题介绍
随着科技的发展和社会的进步,自动售货机 作为自动化商业机械的代表被广泛用于公共场所 自动售货,给人们的生活带来了极大的方便,有 “无人小超市”之称。 本课题是通过使用VHDL语言,基于FPGA可编 程芯片,并通过使用QuartusⅡ软件进行程序设 计,模拟仿真以及功能验证。
三、模块仿真
图 6
newclk输出为1时的仿真结果
三、模块仿真
4.计数模块
由于课题要求自动售货机控制系统有定时系统,并限定在 30s内完成投币,30s之后投币无效,因此需要设定一个计数模块 对投币时间进行限制。en为接受信号,当投币开始时投币模块发 出信号,计数模块开始工作,当计数到30时向控制模块发出t信 号。Clr为控制器发送给计数模块的一个信号,当clr为1时,计 数器归零。Clk为分频模块发送的时钟信号。 通过程序所得的仿真结果如图7下:
此售货机分为三种状态,每一个状态能完成一定得功能: 初始状态,投币状态,找零状态。 (1)初始状态:当售货机通电后进入初始状态,顾客购 买时,可根据选择xuan_rg,xuan_yl,xuan_hb键购买商品, 从而进入下一状态。当顾客购买错误或不再购买时按下 start重新进入初始状态。 (2)投币状态:在这个状态时xuan_rg,xuan_yl,xuan_hb 键失效。投入钱(1元,2元,5元),当投入硬币等于或者 超过商品价格时进入下一状态。投币时间为30秒超过30秒, 售货机拒绝接受钱币。 (3)找零状态:投币结束,售货机自动判别总钱数,若 在时限到来之际,总钱数少于顾客所需商品的单价,则退出 钱币,用LED显示退钱数。若大于或等于商品数则通过控制 系统找零,用LED显示找零数,送出商品。出货找零,表示 一次工作已经结束,等待下一个信号到来,进行新的售货。
2.商品选择模块 自动售货机的商品选择模块,通过自动售货 机上的三个选择按键完成商品选择,在接收到对 应三个商品之一的一个选择信号时进行编译,将 被选择的商品进行编码,输入到主控模块中,在 主控模块中与所接受的钱币进行对与计算。输入 信号为a1,a4,a3。而xuan_rg,xuan_hb,xuan_yl 为三个输出信号,与出货模块连接。reset 与en2 信号来自主控模块,当reset为1时模块进入初始 状态,不进行选择。当en2为1时,商品可以进行 选择,当en2为0时,三个商品选择键无效。
图7
计数模块仿真
三、模块仿真
1 当en为1时,clr为0时,t在clk第30个上升沿输出为1,仿真结果 如图8所示:
图 8
t输出为1时的仿真结果
三、模块仿真
2 当en为1时,clr为1时,t输出为0,仿真结果如图9所示:
图 9 t输出为0时的仿真结果
三、模块仿真
5.出货模块 出货模块是自动售货机给出相关货物的信号 ,本课题要求货物为三个商品,因此出货模块有4 个输入信号xuan_rg,xuan_sb,xuan_yl,为所 购商品的输入信号,en为控制模块所给的信号当 en=1时出货模块开始工作,然后对顾客所选择货 物进行出货。 出货模块的仿真结果如下: 1当输入信号en为1,xuan_rg信号为1时, chu_rg信号为1,仿真结果如图10所示:
三、模块仿真
主控模块的仿真结果如图13下:
图13
主控模块的仿真
四、下一步工作计划
一:进行硬件系统理论分析; 二:硬件系统电路设计,给出硬件系统电路原理 图; 三:撰写毕业论文;
谢谢各位老师点评
三、模块仿真
1.投币模块 此模块有六个输入信号以及两个输出信号: qian1,qian2,qian5为不同数额钱币输入信号; en1为主控模块所发出的信号,当en1信号为1的时 候,投币模块开始工作;reset为恢复初始信号, 当reset信号为1 的时候投币模块不进行工作;en 为给计时器的输出信号,当en为1的时候计时器开 始工作;bi为输出的钱币数目。 投币模块的作用相当于一个计数的寄存器, 在清零的状态下可以准确的计算投币数额,记录 并保存总币值。
三、模块仿真
当reset输入为0,en2输入为1时,d输出为货物, 仿真结果如图5所示:
图5 reset输入为0,en2输入为0, a8输入为1时的仿真结果
三、模块仿真
3.分频模块 分频模块是用来将外来的时钟信号进行分频 选用的时钟信号是由外部的6MHZ的晶振提供的, 通过分频模块进行分频以后将得到周期为1HZ的信 号。由于仿真所需时间过长,本文选择100.0ns为 一周期的信号,分频后为6.0us为一周期的信号, 时钟输入信号为clk,输出信号为newclk。 通过仿真结果如下图6所示:
三、模块仿真
图12 LED的仿真结果
三、模块仿真
7.主控模块
主控模块为自动售货机控制系统的核心部分,在主控 模块中将输入的钱币数目与商品的价格进行对比,然后进 行找零并发出出货信号。输入信号t为计时信号,当时间超 过30s时,商品不再接受货币。Clk为控制系统的时钟信号 。输出信号di,c分别为找零显示模块的输入信号与找零信 号。en为控制出货模块的信号,当en值为1时,确认出货模 块可以输出商品。Start为复位信号,当start值为1时,自 动售货机回到初始状态。Clr为计数模块的控制信号,当收 货完成后,clr输出为1,计数模块回到初始状态归零。En1 与en2分别为投币模块与商品选择模块的控制信号,当en1 为0时,投币模块不工作,当en2为0时商品选择模块不工作 。
第三部分:功能模块的划分
自动售货机控制系统的功能模块逻辑上划分 为主控制模块、商品选择模块、投币处理模块、 找零模块、分频模块和显示模块。自动售货机系 统框图如图2所示。
图2
时钟
自动售货机系统框图
分频器
商品选择 找零 投币 控制器 显示 JTAG 接口 电源
外扩存储器模
第四部分:控制状态的设计