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

    自动售货机设计.doc

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

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

    自动售货机设计.doc

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date自动售货机设计合 肥 学 院自动售货机设计一、实验任务前提:单一商品的设定值是4元,多个商品时就设定值自拟(1)自动售货机的投币口每次可以投入1元、2元、5元,且规定投入1元或2元后不得再投入5元;(2)当投入总值等于设定值时,售货机就自动送出货物;当投入的总值超过设定值时,售货机会显示余额,送出商品并自动找零;(3)编写程序,实现售单一商品的功能。按照以上要求,编写程序,实现售单一商品的功能;二、实验内容2.1设计思路图1:自动售货机RTL实验原理图图2:自动售货机的状态装换图实验原理:本次实验是在状态机的基础上设计一个自动售货机,共分为6个状态,即S0,S1,S2,S3,S4,S5,分别表示此时的金额为0元,1元,2元,3元,4元,5元。在时钟的控制下:当现态为S0(即0元),输出的MONEY为0元,无Y0和Y1信号,故PAYBACK为0元。若此时CIN为1元,则次态为S1(即1元);若此时CIN为2元,则次态为S2(即2元);若此时CIN为5元,则次态为S5(即5元);:当现态为S1(即1元),输出的MONEY为1元,无Y0和Y1信号,故PAYBACK为0元。若此时CIN为1元,则次态为S2(即2元);若此时CIN为2元,则次态为S3(即3元);若此时CIN为5元,则次态为S0(即0元);:当现态为S2(即2元),输出的MONEY为2元,有Y0和Y1信号,故PAYBACK为0元。若此时CIN为1元,则次态为S3(即3元);若此时CIN为2元,则次态为S4(即4元);若此时CIN为5元,则次态为S0(即0元);:当现态为S3(即3元),输出的MONEY为3元,无Y0和Y1信号,故PAYBACK为0元。若此时CIN为1元,则次态为S4(即4元);若此时CIN为2元,则次态为S5(即5元);若此时CIN为5元,则次态为S0(即0元);:当现态为S4(即4元),输出的MONEY为4元,有Y0,无Y1信号,故PAYBACK为0元。次态为S0;:当现态为S5(即5元),输出的MONEY为5元,有Y0和Y1信号,故PAYBACK为1元。次态为S0。2.2实验流程图图3:单一商品时流程图三、实验过程3.1实验代码见附录3.2仿真波形图1单一商品的仿真波形 图4:仿真波形图波形图分析如下:输入金额为0元,则输出总金额为0元,无商品购买成功信号和退币信号,故输出余额也为0元;:输入金额为1元,则此时的输出总金额为1元,无商品购买成功信号和退币信号,故输出的余额也为0元;:输入金额为1元,但是此时有一个清零复位信号,则此时的输出总金额为0元,无商品购买成功信号和退币信号,故输出的余额为0元;:输入金额为1元,则此时的输出总金额为1元,无商品购买成功信号和退币信号,故输出的余额也为0元;:输入金额为2元,在原有的1元的基础上加上现在的2元,则此时的输出总金额为3元,无商品购买成功信号和退币信号,故输出的余额为0元;:输入金额为2元,在原有的3元的基础上加上现在的2元,则此时的输出总金额为5元,有商品输出信号和退币信号,故输出的余额为1元;:输入金额为5元,因为设定的输入1元,2元以后不得在输入5元,故此时输出的总金额为0元,无商品购买成功信号和退币信号,所以此时输出的余额为0元;:输入金额为1元,则此时的输出总金额为1元,无商品购买成功信号和退币信号,故输出的余额也为0元;:输入金额为1元,在原有的1元的基础上加上现在的1元,则此时的输出总金额为2元,无商品购买成功信号和退币信号,故输出的余额也为0元;:输入金额为2元,在原有的2元的基础上加上现在的2元,则此时的输出总金额为4元,有商品购买成功信号,但无退币信号,故此时的余额为0元。3.3硬件实现3.3.1模式选择选择模式1 3.3.2引脚锁定1单一商品四、实验结果4.1硬件实现图片4.1.1单一商品时当CIN=1时,结果及分析见下表一个时钟脉冲来到时,输出总金额为1元,此时没有商品输出,也没有退币两个时钟脉冲来到时,输出总金额为2元,此时没有商品输出,也没有退币三个时钟脉冲来时,输出金额为3元,此时没有商品输出,也没有退币四个时钟脉冲来时,输出金额为4元,此时有商品输出,没有退币当CIN=2时,结果及分析见下表一个时钟脉冲来时,输出的总金额为2元,此时没有商品输出,也没有退币两个时钟脉冲来时,输出的总金额为4元,此时有商品输出,没有退币当CIN=5元时,结果及分析见下表一个时钟脉冲来时,输出的总金额为5元,此时有商品输出,有退币且为1元 五、实验总结刚开始看到这个题目时,我就觉得一头雾水,不知道怎么开始设计这个项目,上网也查阅了很多资料,但收获仍是很少,无从下手,不知如何编写代码去实现项目的要求。后经同学提醒,本次项目是需要使用状态机去实现自动售货的功能,与之前我们上机实验中的“有限状态机的实现”很类似,于是,我便开始边看边想,慢慢地编写代码。在编写代码的时候,出现错误是很正常的,我根据QUARTUS软件平台上的错误提醒一一纠正过来了,编译无误后,开始进行波形仿真,但是出现了问题,代码没有出现编译错误,但是没有实现我想要的功能,检查了代码以后我仍然不知道问题出在哪里,于是询问同学,在同学的帮助下,找到了我代码问题所在之处,我编写的代码并不完整,也输出了很多无效状态,在本次设计要求中有,只能输入1元,2元以及5元,不得输入其他面值的钱币,我在编写代码的时候没有考虑到这一点,尽管编译没有错误,但是波形仿真不对,经修正后,得出理想的仿真波形,然后选择合适的模式,进行引脚锁定,锁定结束后开始下载测试,按照我自己设计的按键键8是时钟CLK、键1输入钱币CIN、译码器5为输入的总金额、译码器6为输出的余额,虽说,试验箱上有复位键,但是我仍然设定了一个按键作为我的RESET复位键,D1是商品购买成功的信号,D1如果亮起,则说明已经成功买到商品,反之,则没有买到,由于我所使用的试验箱的D2灯出了问题,当给了高电平以后,却没有如预期一样亮起,故换做D3作为我实验退币的信号灯,当D3亮起时,则说明此时有钱币退出,反之,则没有。经过几天的努力后,成功的完成了本次单一商品的实验,但是多个商品的实现仍然还存在一些问题,这是我的一点小小的遗憾。但总体来说,我的项目设计还算很成功附录1:单一商品的实验代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY automatic IS PORT (CLK,RESET:IN STD_LOGIC; CIN:IN STD_LOGIC_VECTOR(2 DOWNTO 0); -输入的总钱数 Y0:OUT STD_LOGIC; -购买成功信号 Y1:OUT STD_LOGIC; -退币信号 MONEY:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); -输入的总金额数 PAYBACK:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); -显示余额END automatic;ARCHITECTURE one OF automatic IS TYPE FSM_ST IS(S0,S1,S2,S3,S4,S5); -定义了S0,S1,S2,S3,S4,S5六个状态 SIGNAL CS,NS:FSM_ST; BEGINREG:PROCESS(CLK,RESET) -一共分为两个进程,分别是REG和COMBEGIN IF RESET='1' THEN CS<=S0; -异步清零,清零信号在CLK'EVENT AND CLK='1'之外 ELSIF CLK'EVENT AND CLK='1' THEN CS<=NS; END IF;END PROCESS;COM:PROCESS(CS,CIN)BEGIN CASE CS ISWHEN S0=>MONEY<="000"Y0<='0'Y1<='0'PAYBACK<="000"-S0状态即为初状态,此时没有输出商品,也没有余额,故也没有商品输出信号,也没有余额输出信号 IF CIN="001" THEN NS<=S1; -输入1元则下一状态为S1; ELSIF CIN="010" THEN NS<=S2; -输入2元则下一状态为S2; ELSIF CIN="101" THEN NS<=S5; -输入5元则下一状态为S5 ELSE NS<=S0; END IF;WHEN S1=>MONEY<="001"Y0<='0'Y1<='0'PAYBACK<="000"-S1状态:输入总金额为1元,余额为0元,没有商品输出信号,没有余额输出信号 IF CIN="001" THEN NS<=S2; -输入1元则下一状态为S2; ELSIF CIN="010" THEN NS<=S3; -输入2元则下一状态为S3; ELSIF CIN="101" THEN NS<=S0; -输入5元则下一状态为S0; ELSE NS<=S1; END IF;WHEN S2=>MONEY<="010"Y0<='0'Y1<='0'PAYBACK<="000"-S2状态:输入总金额为2元,余额为0元,没有商品输出信号,没有余额输出信号 IF CIN="001" THEN NS<=S3; -输入1元则下一状态为S3; ELSIF CIN="010" THEN NS<=S4; -输入2元则下一状态为S4; ELSIF CIN="101" THEN NS<=S0; -输入5元则下一状态为S0; ELSE NS<=S2; END IF;WHEN S3=>MONEY<="011"Y0<='0'Y1<='0'PAYBACK<="000"-S3状态:输入总金额为3元,余额为0元,没有商品输出信号,没有余额输出信号 IF CIN="001" THEN NS<=S4; -输入1元则下一状态为S4; ELSIF CIN="010" THEN NS<=S5; -输入2元则下一状态为S5; ELSIF CIN="101" THEN NS<=S0; -输入5元则下一状态为S0; ELSE NS<=S3; END IF;WHEN S4=>MONEY<="100"Y0<='1'Y1<='0'PAYBACK<="000"-S4状态:输入总金额为4元,余额为0元,有商品输出信号,没有余额输出信号 IF CIN="001" THEN NS<=S1; -输入1元则下一状态为S1; ELSIF CIN="010" THEN NS<=S2; -输入2元则下一状态为S2; ELSIF CIN="101" THEN NS<=S5; -输入5元则下一状态为S5; ELSE NS<=S0; END IF; WHEN S5=>MONEY<="101"Y0<='1'Y1<='1'PAYBACK<="001"-S1状态:输入总金额为5元,余额为1元,没有商品输出信号,没有余额输出信号 IF CIN="001" THEN NS<=S1; -输入1元则下一状态为S1; ELSIF CIN="010" THEN NS<=S2; -输入2元则下一状态为S2; ELSIF CIN="101" THEN NS<=S5; -输入5元则下一状态为S5; ELSE NS<=S0; END IF;WHEN OTHERS=>MONEY<="000"Y0<='0'Y1<='0'PAYBACK<="000"-非法状态:当输入的不是上述已经列出的状态,则输出的状态都为初状态END CASE;END PROCESS;END one;-

    注意事项

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

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




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

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

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

    收起
    展开