文档详情

自动贩卖机控制系统自动贩卖机控制系统.doc

发布:2017-01-04约2.56千字共10页下载文档
文本预览下载声明
综合训练项目四“自动贩卖机控制系统” 专 业: 自动化 班 级: 12-1班 姓 名: 白琼 学 号: 1205010102 指导教师: 谢国民 1.1??设计任务及要求? 目的和要求: 1、掌握应用门电路和触发器等实现时序逻辑电路-“自动贩卖机控制系统”的设计方法,完成矿泉水、茶饮料和咖啡等贩卖功能。 2、要求系统能够自动完成:投币识别-价格比较-选择商品-输出商品和退币过程。 3、自动贩卖机实际要求:①自动贩卖机可投入1元和0.5元两种硬币;②所售矿泉水为1元,饮料1.5元,咖啡2两元。③当钱币总额超过要买的商品时,可购买商品指示灯亮;按下选择键,输出商品;④购买商品后,系统自动计算剩余钱币,并找回剩余零钱。 成果形式:完成实现目标任务的状态图和状态转换卡诺图,提交比较方案以及电路原理图及仿真。 2.1设计方案 方案一 开关1和5分别表示投入1元和5角,投入一元钱的时候开关1会给计数器一个脉冲记录投入一元钱的个数。 同理,开关5可以记录投入5角钱的个数。 发光二极管表示矿泉水、茶饮料、咖啡和找5角钱。开关表示选择按键A表示矿泉水,两个B表示茶饮料并找钱,C表示咖啡,Space表示茶饮料。 3.1自动售货机功能控制模块的VHDL实现? ? 根据图2所示的状态转换图,用VHDL语言中的CASE_WHEN结构和IF_THEN_ELSE语句实现控制功能,源程序如下:?LIBRARY?IEEE;?USE?IEEE.STD_LOGIC_1164.ALL; ?ENTITY?ZIDONG?IS?PORT(A,B:IN?STD_LOGIC; ?clk:IN?STD_LOGIC;?Z,Y:OUT燬TD_LOGIC); 燛ND燴IDONG; 燗RCHITECTURE燽eha燨F燴IDON并找回剩余零钱G營S燭YPE爏tates營S(S0,S1,S2); 燬IGNAL?state:states;? SIGNAL?X:STD_LOGIC_VECTOR(1?DOWNTO?0); ?BEGIN?X=AB;?PROCESS(x,state)?BEGIN?IF?rising_edge(clk)?THEN?CASE?state?IS?WHEN?S0=Z=0; Y=0; ?IF(X=01)THEN?state=s1;? ELSIF(X=10)THEN?state=s2;? ELSE?state=s0;???????????????????????????牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 ???????????????END?IF; ?WHEN?S1=Z=0; Y=0;?IF(X=01)THEN?state=s2;? ELSIF(X=10)THEN?state=S0;? Z=1;Y=0;? ELSE?state=s1; ?END?IF;?WHEN?S2=Z=0;Y=0; ?IF(X=01)THEN?state=S0;? Z=1;Y=0; ?ELSIF(X=10)THEN?state=s0;?Z=1; Y=1;? ELSE?state=s2;? END?IF;? END?CASE;? END?IF;? END?PROCESS; ?END?beha;?????? 牋?ND 自动售货机控制系统的VHDL实现? ?图3?利用MAX+PLUSII软件及VHDL语言编写控制芯片? 3.2、投币输入信号电路的设计与实现? ???A、B分别为一元硬币和五角硬币驱动信号,Z为饮料输出信号,Y为找钱输出信号。通过对程序分析和仿真可以看出,A和B的驱动信号的持续时间必须控制在clk时钟周期内,如果驱动信号时间太短,系统检测不到投币信号,时间太长,会误认为是两次或多次投币,造成误操作。因此,要使整个控制系统可靠运行,还必须设计专门投币输入信号处理电路。????自动售货机的所有信号均由同步时钟信号clk的正边沿触发。由于售货机的硬币接受器一般是一个机械设置装置,投币时产生的信号要比同步信号clk要慢得多,一般可持续好几个周期,必须对投币输入信号进行处理,使每一次投币时在clk脉冲周期内只能产生一个脉冲作为功能控制模块的投币驱动信号。基于上面的功能要求,设计了如图4所示的投币输入信号的处理电路,其中yiyuan和wujiao作为一元硬币和五角硬币的投币输入信号,A和B为相应的输
显示全部
相似文档