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

    简易售货机的设计-数字逻辑课程设计报告.pdf

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

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

    简易售货机的设计-数字逻辑课程设计报告.pdf

    %石家庄经济学院 华信学院 数字逻辑课程设计报告 !题 目 简易售货机的设计 姓 名 学 号 班 号 指导老师 成 绩 目 录 1.课程设计目的 2.开发工具选择 3.设计方案 4 模块描述 5.VHDL实现 6.调试仿真 7.课程设计回顾总结 参 考 文 献 附录 ).1 课程设计目的 (1)设计一个简易售货机,可销售巧克力(元)、纯净水(1 元)、牛奶(元)、汉堡(2 元)4 种商品,数量无限。(2)只能投入 1 元或 5 角硬币,如果投的钱数等于或则大于所购买的商品单价,则自动售货机会给出所购买的商品;如果投的钱数不够,自动售货机不做响应,继续等待顾客的下次操作。两个输出口分别输出购买的商品和找零,零币无限。(3)有两个 LED 数码管显示已经投入的币值或找零数。顾客一次只能购买一种商品的一个,若需要更多商品,需要重复操作。2 开发工具选择(1)硬件描述语言 简易售货机的设计采用了功能强大的 VHDL 语言,它具有很强的行为能力描述,设计方法灵活,可以支持库和模块设计方法。(2)QuartusII 软件开发工具 本设计采用的软件开发工具是美国的 Altera 公司的 QuartusII,它支持多种设计输入方法,包括原理图输入、文本输入。(3)EDA 实验开发系统 本设计采用的 EDA 实验开发系统,主要用于提供可编程逻辑器件的下载电路及EDA 实验开发的外围资源,供硬件验证用。3 设计方案 图 3-1 状态转换图 选择商品投币结束投币商品价格继续投币退币清零出货找零YYNNNY开始 ;图 3-2 操作流程图 4 模块描述(1)模块一:选择商品 分别有价格为元、1 元、元和 2 元的商品,此自动售货机每一次售货时只能一次选择一种商品,当同时选择两种以上时,选择商品无效,重新进行商品选择。选择商品后,数码管显示所选商品价格。(2)((3)模块二:投币 当选好商品后,开始投币。投币口只接受元、1 元,投完币后,先有一个确认买商品的过程,若投了币但又不购买商品了,进入退钱的模块;若确认购买商品,则进入出货找零模块。(4)模块三:退钱、出货找零 投币后取消购买,退回投入的硬币。投完币,若大于等于商品价格,进入找零模块,两者做差,得到需要找零的钱。5 VHDL 实现 1选择商品模块(1)选择商品模块的元件图符 resetenchocolatewatermilkhumbergerprice4.0select_goodsinst(2)选择商品模块的VHDL 描述 LIBRARY ieee;USE select_goods IS PORT (reset,en,chocolate,water,milk,humberger :IN STD_LOGIC;price:OUT integer range 0 to 20 );END select_goods;ARCHITECTURE arc1 OF select_goods IS signal goods:std_logic_vector(3 downto 0);BEGIN,goods=chocolate&water&milk&humberger;process(reset,en)begin IF reset=1 THEN pricepricepricepricepriceprice=0;end case;end if;end process;*END arc1;2.投币模块 (1)投币模块的元件图符 resetclkencoin5coin10total4.0coininst (2)投币模块的 VHDL 描述 LIBRARY ieee;USE coin IS|PORT (reset,clk,en,coin5,coin10:IN STD_LOGIC;total:buffer integer range 0 to 30 );END coin;ARCHITECTURE arc1 OF coin IS begin process(clk,reset)begin if(reset=1 and en=0)then total=0;else if clk event and clk=1 then if en=1 then#if coin5=1 then total=total+5;elsif coin10=1 then total=total+10;end if;end if;end if;end if;:end process;END arc1;3退钱、出货找零模块 (1)退钱、出货找零模块的元件图符 clkstartok_buycancle_buyprices4.0coins4.0engoodsencoinclrcoinoutgoodsbackcoins4.0controlinst (2)退钱、出货找零模块的 VHDL 描述 LIBRARY ieee;USE USE ENTITY control IS PORT(clk,start,ok_buy,cancle_buy:IN STD_LOGIC;prices,coins:IN integer range 0 to 30;engoods,encoin,clrcoin,outgoods:OUT STD_LOGIC;backcoins:OUT integer range 0 to 20);END control;ARCHITECTURE arc1 OF control IS type state_type is(salesgoods,incoins,outgoods_coin,back_coin);signal state:state_type;BEGIN process(start,clk)begin if start=1 then state if prices/=0 then state if(coins=prices and ok_buy=1)then state=outgoods_coin;else state state engoods=1;encoin=0;clrcoin=1;outgoods=0;backcoins engoods=0;encoin=1;clrcoin=0;outgoods=0;backcoins if coins=prices then engoods=0;encoin=0;clrcoin=0;outgoods=1;backcoins=coins-prices;else engoods=0;encoin=0;clrcoin=0;outgoods=0;backcoins if coins=prices and ok_buy=1 then engoods=0;encoin=0;clrcoin=0;outgoods=1;backcoins=coins-prices;else engoods=0;encoin=0;clrcoin=0;outgoods=0;backcoins=coins;end if;end case;end process;END arc1;)6 调试仿真 1选择商品模块 说明:当 en=1 时,选择 humberger,此商品的价格为 2 元,prices=20。当 en=0 时,商品选择模块禁止工作,prices 保持不变。?2投币模块 图 6-1 选择商品模块的功能仿真波形图 图 6-2投币模块的功能仿真波形图 说明:当 en=1 时,投入一枚 5 角、一枚 1 元、一枚 5 角硬币,总币值为 20 即 2 元。3退钱、出货找零模块 说明:选择商品的价格 prices 为 10,投入币值 coins 为 20,当取消购买 cancel_buy=1时,outgoods=0 表示未出货,backcoins=20 表示退回 20 说明:选择商品的价格 prices 为 10,投入币值 coins 为 20,当确认购买 ok_buy=1 时,outgoods=1 表示出货,backcoins=10 表示找零 10 、图 6-3退钱的功能仿真波形图 图 6-4出货找零的功能仿真波形图 4.自动售货机整体结构图及调试仿真:(1)自动售货机整体结构 (2)仿真结果及说明:说明:(1)选择milk,price=15,投入一枚1元硬币,coins=10,又投入一枚1元硬币,coins=20,之后,选择取消购买,cancel_buy=1,outgoods=0 表示未出货,outcoins=20 表示退回图 6-5 自动售货机整体结构 图 6-6自动售货机仿真波形图 投入硬币 2 元。(2)选择milk,price=15,投入一枚1元硬币,coins=10,又投入一枚1元硬币,coins=20,之后,选择确认购买,ok_buy=1,outgoods=1 表示出货,outcoins=5 表示找零 5 角。(3)选择milk,price=15,投入一枚1元硬币,coins=10,又投入一枚5角硬币,coins=15,之后,选择取消购买,cancel_buy=1,outgoods=0 表示未出货,outcoins=15 表示退回投入硬币元。(4)选择milk,price=15,投入一枚1元硬币,coins=10,又投入一枚5角硬币,coins=15,之后,选择确认购买,ok_buy=1,outgoods=1 表示出货,outcoins=0 表示找零 0 元。7 课程设计回顾总结 通过这次数字逻辑课程设计,我收获了很多:在选择课题时,原以为并没有那么难,但是当进行设计时,才知道远远没有自己想象的那么简单。在进行退钱、出货找零模块的时候出现了很多错误,仿真结果不正确。在经过请教老师和同学讨论后,才将问题一一解决,最后调试出了正确的结果。这次课程设计,使我对数字逻辑上课所学习的知识有了更深的巩固,对 VHDL 语言有了更深刻的理解,对 QuartusII 软件的使用更加熟练了,对 VHDL 语言的组成和一些基本语句的使用方法记得更加牢固。经过这次课程设计,锻炼了我综合运用所学知识,发现问题,提出问题,分析问题,解决问题的能力,将所学到的理论与实际相结合。从而提高了自己实际动手和独立思考的能力,对以后的学习、工作、生活有很大的帮助。并且让我深刻体会到遇到问题不能灰心,要冷静下来仔细思考,一部分一部分的检查,成功就是在不断摸索着前进的过程中实现的。8 参考文献 逻辑与数字系统设计

    注意事项

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

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




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

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

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

    收起
    展开