欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    自动售货机控制系统的设计(共10页).doc

    • 资源ID:13538173       资源大小:87.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    自动售货机控制系统的设计(共10页).doc

    精选优质文档-倾情为你奉上课程设计题目:自动售货机控制系统的设计目的与任务:(1) 进一步掌握MAX+PLUS软件的使用方法;(2) 会使用VHDL语言设计小型数字电路系统;(3) 掌握应用MAX+PLUS软件设计电路的流程;(4) 掌握自动售货机的设计方法;(5) 会使用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源程序(1) 分频器的源程序(外部时钟选用3MHz,实现3万分频)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CLKGEN ISPORT(CLK:IN STD_LOGIC; NEWCLK:OUT STD_LOGIC);END CLKGEN; ARCHITECTURE BEHAVE OF CLKGEN IS SIGNAL Q:INTEGER RANGE 0 TO 14999; SIGNAL DIVCLK: STD_LOGIC; BEGIN PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN IF Q < 14999 THEN Q <=Q+1; ELSE DIVCLK <= NOT DIVCLK;Q <=0; END IF; END IF; END PROCESS;NEWCLK <= DIVCLK;END BEHAVE;(2) 自动售货机控制器源程序( 3种钱数为1元、2元、5元;3种物品的价格为2元、5元、10元 ) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SHOUHUOJI ISP ORT ( CLK: IN STD_LOGIC; COIN1: IN STD_LOGIC; -1元信号 COIN2: IN STD_LOGIC; -2元信号 COIN3: IN STD_LOGIC; -5元信号 PRICE1: IN STD_LOGIC; -2元商品 PRICE2: IN STD_LOGIC; -5元商品 PRICE2: IN STD_LOGIC; -5元商品 PRICE3: IN STD_LOGIC; -10元商品 Y0: OUT STD_LOGIC; -购买成功信号 Y1: OUT STD_LOGIC; -退币信号 MONEY: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); PAYBACK: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END SHOUHUOJI;ARCHITECTURE BEHAV OF SHOUHUOJI IS SIGNAL COIN: STD_LOGIC_VECTOR(3 DOWNTO 0); -保存钱数SIGNAL COUT: STD_LOGIC_VECTOR(3 DOWNTO 0); -保存找零 BEGIN PROCESS(CLK)BEGINIF CLK'EVENT AND CLK='1' THEN IF COIN1='1' THEN COIN <= COIN+1; Y0<='0'Y1<='0' ELSIF COIN2='1' THEN COIN <= COIN+2; Y0<='0'Y1<='0' ELSIF COIN3='1' THEN COIN <= COIN+5; Y0<='0'Y1<='0'ELSIF PRICE1='1' THEN IF COIN >= "0010" THEN Y0<='1'Y1<='0'COUT<=COIN-2; ELSE Y0<='0'Y1<='1'COUT<=COIN; END IF;ELSIF PRICE2='1' THEN IF COIN >= "0101" THEN Y0<='1'Y1<='0'COUT<=COIN-5; ELSE Y0<='0'Y1<='1'COUT<= COIN;END IF;ELSIF PRICE3='1' THEN IF COIN >= "1010" THEN Y0<='1'Y1<='0'COUT<=COIN-10;ELSE Y0<='0'Y1<='1'COUT<=COIN; END IF;END IF;END IF;END PROCESS;MONEY<=COIN; - 输入的钱数PAYBACK<=COUT; - 找零END BEHAV;(3) 译码显示源程序(总钱数应小于16元)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XIANSHI ISPORT ( DIN: IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END XIANSHI;ARCHITECTURE BEHAV OF XIANSHI IS BEGIN PROCESS(DIN) BEGIN CASE DIN IS WHEN "0000"=> DOUT<="" WHEN "0001"=> DOUT<="" WHEN "0010"=> DOUT<="" WHEN "0011"=> DOUT<=""WHEN "0100"=> DOUT<=""WHEN "0101"=> DOUT<=""WHEN "0110"=> DOUT<=""WHEN "0111"=> DOUT<="" WHEN "1000"=> DOUT<="" WHEN "1001"=> DOUT<="" WHEN "1010"=> DOUT<="" WHEN "1011"=> DOUT<="" WHEN "1100"=> DOUT<="" WHEN "1101"=> DOUT<="" WHEN "1110"=> DOUT<="" WHEN "1111"=> DOUT<="" WHEN OTHERS=> DOUT<="" END CASE; END PROCESS;END BEHAV;三、 系统仿真与硬件验证(1) 系统的有关仿真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接PIO2、PRICE1接 PIO3、 PRICE2接PIO4、PRICE3接 PIO5;MONEY7.0 接PIO16PIO23(数码管1、数码管2)、PAYBACK7.0 接PIO24PIO31(数码管3、数码管4)、Y0接PIO8(二极管D1)、 Y1接PIO9(二极管D2)。 硬件验证方法:选择实验模式5,时钟信号CLK与CLOCK1信号组中的3MHz信号相连,用键1键3输入钱数,用键4键6选择商品,观察数码管及二极管的显示情况。专心-专注-专业

    注意事项

    本文(自动售货机控制系统的设计(共10页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开