自动售货机控制系统的设计_第1页
自动售货机控制系统的设计_第2页
自动售货机控制系统的设计_第3页
自动售货机控制系统的设计_第4页
自动售货机控制系统的设计_第5页
全文预览已结束

下载本文档

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

文档简介

/课程设计题目:自动售货机限制系统的设计目的和任务:进一步驾驭MAX+PLUSⅡ软件的运用方法;会运用VHDL语言设计小型数字电路系统;驾驭应用MAX+PLUSⅡ软件设计电路的流程;驾驭自动售货机的设计方法;会运用GW48试验系统。内容和要求:设计一个简易的自动售货机,它能够完成钱数处理、找零、显示、退币等功能。(1)用3个键表示3种钱,再用3个键表示3种物品。(2)用2个数码管显示输入的钱数,再用2个数码管显示所找的钱数,以元为单位。(3)买东西时,先输入钱,用数码管显示钱数,再按物品键,若输入的钱数大于物品的价格,用数码管显示所找的钱数,并用发光二极管表示购买成功。(4)若输入的钱数少于物品的价格,用数码管显示退出的钱数,并用发光二极管表示购买失败。设计内容(原理图以及相关说明、调试过程、结果)系统设计方案依据系统要求,系统的组成框图如图1所示。时钟分频器时钟分频器限制器商品选择钱数输入译码显示限制器商品选择钱数输入译码显示图1系统组成框图系统按功能可分为分频模块、限制模块和译码输出模块。(1)分频模块的作用是获得周期较长的时钟信号,便于操作,且不会产生按键抖动的现象。其原理是定义两个中间信号Q、DIV_CLK,Q在外部时钟CLK的限制下循环计数,每当计数到一个设定的值时DIV_CLK的值翻转,最终将DIV_CLK赋给NEW_CLK即可,变更设定值可变更分频的大小。(a2)限制模块是这个系统的核心模块,它具有推断按键、计算输入钱数总和、计算找零、限制显示四个作用。它的工作原理是每当时钟上升沿到来时,推断哪个按键按下,若按下的是钱数键,则将钱数保存于中间信号COIN,若下次按下的仍是钱数键,COIN的值则加上相应的值并显示于数码管;当物品键按下时,则将COIN的值和物品价格进行比较,然后限制找零。(3)由于钱数可能大于9,所以译码显示模块的作用就是将钱数译码后用两个数码管显示,这样便利视察。依据各个功能模块的功能并进行整合,可得到一个完整的自动售货机系统的整体组装设计原理图,如图2所示。图2设计原理图系统主要VHDL源程序分频器的源程序(外部时钟选用3MHz,实现3万分频)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYCLKGENISPORT(CLK:INSTD_LOGIC;NEWCLK:OUTSTD_LOGIC);ENDCLKGEN;ARCHITECTUREBEHAVEOFCLKGENISSIGNALQ:INTEGERRANGE0TO14999;SIGNALDIVCLK:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENIFQ<14999THENQ<=Q+1;ELSEDIVCLK<=NOTDIVCLK;Q<=0;ENDIF;ENDIF;ENDPROCESS;NEWCLK<=DIVCLK;ENDBEHAVE;自动售货机限制器源程序(3种钱数为1元、2元、5元;3种物品的价格为2元、5元、10元)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSHOUHUOJIISPORT(CLK:INSTD_LOGIC;COIN1:INSTD_LOGIC;--1元信号COIN2:INSTD_LOGIC;--2元信号COIN3:INSTD_LOGIC;--5元信号PRICE1:INSTD_LOGIC;--2元商品PRICE2:INSTD_LOGIC;--5元商品PRICE2:INSTD_LOGIC;--5元商品PRICE3:INSTD_LOGIC;--10元商品Y0:OUTSTD_LOGIC;--购买成功信号Y1:OUTSTD_LOGIC;--退币信号MONEY:OUTSTD_LOGIC_VECTOR(3DOWNTO0);PAYBACK:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDSHOUHUOJI;ARCHITECTUREBEHAVOFSHOUHUOJIISSIGNALCOIN:STD_LOGIC_VECTOR(3DOWNTO0);--保存钱数SIGNALCOUT:STD_LOGIC_VECTOR(3DOWNTO0);--保存找零BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENIFCOIN1='1'THENCOIN<=COIN+1;Y0<='0';Y1<='0';ELSIFCOIN2='1'THENCOIN<=COIN+2;Y0<='0';Y1<='0';ELSIFCOIN3='1'THENCOIN<=COIN+5;Y0<='0';Y1<='0';ELSIFPRICE1='1'THENIFCOIN>="0010"THENY0<='1';Y1<='0';COUT<=COIN-2;ELSEY0<='0';Y1<='1';COUT<=COIN;ENDIF;ELSIFPRICE2='1'THENIFCOIN>="0101"THENY0<='1';Y1<='0';COUT<=COIN-5;ELSEY0<='0';Y1<='1';COUT<=COIN;ENDIF;ELSIFPRICE3='1'THENIFCOIN>="1010"THENY0<='1';Y1<='0';COUT<=COIN-10;ELSEY0<='0';Y1<='1';COUT<=COIN;ENDIF;ENDIF;ENDIF;ENDPROCESS;MONEY<=COIN;--输入的钱数PAYBACK<=COUT;--找零ENDBEHAV;译码显示源程序(总钱数应小于16元)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYXIANSHIISPORT(DIN:INSTD_LOGIC_VECTOR(3DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDXIANSHI;ARCHITECTUREBEHAVOFXIANSHIISBEGINPROCESS(DIN)BEGINCASEDINISWHEN"0000"=>DOUT<="00000000";WHEN"0001"=>DOUT<="00000001";WHEN"0010"=>DOUT<="00000010";WHEN"0011"=>DOUT<="00000011";WHEN"0100"=>DOUT<="00000100";WHEN"0101"=>DOUT<="00000101";WHEN"0110"=>DOUT<="00000110";WHEN"0111"=>DOUT<="00000111";WHEN"1000"=>DOUT<="00001000";WHEN"1001"=>DOUT<="00001001";WHEN"1010"=>DOUT<="00010000";WHEN"1011"=>DOUT<="00010001";WHEN"1100"=>DOUT<="00010010";WHEN"1101"=>DOUT<="00010011";WHEN"1110"=>DOUT<="00010100";WHEN"1111"=>DOUT<="00010101";WHENOTHERS=>DOUT<="00000000";ENDCASE;ENDPROCESS;ENDBEHAV;系统仿真和硬件验证系统的有关仿真1)分频电路的仿真如图3所示,为了便于仿真,在仿真时接受20分频,由图可看出每经过10个外部时钟,新时钟翻转一次,实现了分频。图3分频器仿真结果图2)限制电路的仿真如图4、图5、图6所示。图4输入7元,购买5元商品,找零2元,Y0显示购买成功图5输入13元,购买10元商品,找零3元,Y0显示购买成功图6输入7元,购买10元商品,Y1显示购买失败,退币7元3)显示电路的仿真如图7所示,当大于9时分开显示。图7显示电路仿真结果系统的硬件验证应用GW48试验系统,选择试验电路结构图NO.5,管脚定义如下:CLK接CLOCK1、COIN1接PIO0、COIN2接PIO1、COIN3

温馨提示

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

评论

0/150

提交评论