欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    自动售货机系统设计.docx

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

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

    自动售货机系统设计.docx

    1、自动售货机系统设计 华东交通大学理工学院课 程 设 计 报 告 书所属课程名称 电子(通信)系统设计 题 目 自动售货机系统设计 分 院 电 信 分 院 专业班级 09 级 电信综合 班 学号 206 学生姓名 指导教师 2012 年 12 月 28 日 华东交通大学理工学院课 程 设 计( 论 文 )任 务 书专 业 电子信息工程 班 级 09级四班 姓名 李康有 一、课程设计(论文)题目 自动售货机系统设计 二、课程设计(论文)工作:自 2012 年12 月 17 日起至 2012 年 12 月 28 日止。三、课程设计(论文)的内容要求:1)设计一个自动售货机,此机能出售1元、2元、5元

    2、、10元的四种商品。出售哪种商品可有顾客按动相应的一个按键即可,并同时用数码管显示出此商品的价格。2)顾客投入硬币的钱数也是有1元、2元、5元、10元四种,但每次只能投入其中的一种硬币,此操作通过按动相应的一个按键来模拟,并同时用数码管将投币额显示出来。3)顾客投币后,按一次确认键,如果投币额不足时则报警,报警时间3秒(可用点阵模拟报警)。如果投币额足够时自动送出货物(送出的货物用相应不同的指示灯显示来模拟),同时多余的钱应找回,找回的钱数用数码管显示出来。4)顾客一旦按动确认键3秒后,自动售货机即可自动恢复到初始状态,此时才允许顾客进行下一次购货操作。5)售货机还应具有供商家使用的累加卖货额

    3、的功能,累加的钱数要用数码管显示,显示2位即可。此累加器只有商家可以控制清零。学生签名: 李 康 有 2012 年 12月 28 日课程设计(论文)评阅意见序号项 目等级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作量饱满评价5设计中创新性评价6论文书写规范化评价7综合应用能力评价综合评定等级 评阅人 赵 巍 职称 讲 师 2012年12 月 28 日 目录第1章 课程设计内容及要求.5第2章程序设计目的.6第3章程序实现思路.73.1 系统设计分析.7 3.2 系统所需要的模块.83.3 各模块的连接.9第4章程序清单.104.1自动售货机设计代码.104.2仿真

    4、结果.15第5章课程设计心得. . .17第6章参考文献(资料).18第一章 课程设计内容及要求(1)设计一个自动售货机,此机能出售1元、2元、5元、10元的四种商品。出售哪种商品可有顾客按动相应的一个按键即可,并同时用数码管显示出此商品的价格。(2)顾客投入硬币的钱数也是有1元、2元、5元、10元四种,但每次只能投入其中的一种硬币,此操作通过按动相应的一个按键来模拟,并同时用数码管将投币额显示出来。(3)顾客投币后,按一次确认键,如果投币额不足时则报警,报警时间3秒(可用点阵模拟报警)。如果投币额足够时自动送出货物(送出的货物用相应不同的指示灯显示来模拟),同时多余的钱应找回,找回的钱数用数

    5、码管显示出来。(4)顾客一旦按动确认键3秒后,自动售货机即可自动恢复到初始状态,此时才允许顾客进行下一次购货操作。(5)售货机还应具有供商家使用的累加卖货额的功能,累加的钱数要用数码管显示,显示2位即可。此累加器只有商家可以控制清零。第二章 程序设计目的自动售货机在人们日常生活中越来越普遍,自动售货机 继百货商店、超市之后掀起第三次零售业革命,其前景非常广阔透过这种智能售货系统不仅可以存货、销售,还可将物 流信息准确、及时地反馈给客户和管理人员,此外,还支持多 种交易支付模式,同时方便实现较大金额的支付和交易结算Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计

    6、层次的数字系统建模被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间数字系统能够按层次描述,并可在相同描述中显式地进行时序建模它是在C语言基础上发展起来的一种硬 件描述语言,它是由GDA(Gateway Design Automation)(后被 Cadence收购)公司的Phil Moorby于1983年创建的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具1990年,Cadence公司成立OVI(OpenVerilog Internationa1)组织来负责推广Verilog;1995年,IEE定了Verilog HDL标准,即IEEE St

    7、d 13641995 VHDL是由用户编程来实现所需逻辑功能的数字集成电路,它不仅具有设计灵活、性能高、速度快等优势,而且上市周期短、成本低廉。FPGA设计与ASIC前端设计十分类似,在半导体领域中VHDL应用日益普及,已成为集成电路中最具活力和前途的产业。同时,随着设计技术和制造工艺的完善,器件性能、集成度、工作频率等指标不断提升,VHDL已越来越多地成为系统级芯片设计的首选。VHDL作为可编程逻辑器件的典型代表,它的出现及日益完善适应了当今时代的数字化发展浪潮,它正广泛应用在现代数字系统设计中。随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLD

    8、FPGA的出现,给设计人员带来了诸多方便。利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。利用VHDL语言设计自动售货机,使其实现自动售货,找零钱等功能,突出了其作为硬件描述语言的良好的可读性、可移植性和易读性等优点。此程序通过下载到特定芯片后,可应用于实际的自动售货机系统中。第3章 程序实现思路3.1系统设计分析3.1.1售货机的工作原理:利用Verilog HDL描述语言实现自动售货机系统的工作原理 本文是在FPGA或ASIC等基础上,采用Verilog HDL描述语言实现自动售货机系统的销售动作,并完成整个系统的其他相关功能,其设计思想为:用有限状态机进行系统状

    9、态描述,自动售货机通电复位时,自动进入系统初始状态,通过人性化的界面随外界(消费者)输入信号的触发转换到不同状态在不同状态下,自动售货机对外界的反应是不同的,可以进入接受信号(投币)状态,也可以进入销售状态,或者是 找零状态,便于操作自动售货机控制系统的主要功能:自动售货机控制要求对机内商品信息进行识别,对投入的货币进行运算,并根据所投入的货币数值判断是否能够购买某种商品,并做出相应的反应本文设计的自动售货机控制系统主要可以实现投币处理、计算投币总额、输出商品,输出找零、余额计算并显示等功能。其系统工作流程如图1所示图1自动售货机系统设计流程 3.2系统所需要的模块自动售货机的功能模块逻辑上划

    10、分为商品选择模块、编码模块、投币处理模块、投币、找零显示模块和主控模块。5。(1)商品选择模块。该模块对输入信号进行传递,入口参数包括CP时钟信号(由系统时钟产生),由5个发光二极管分别显示商品是否被选。(2)编码模块。该模块功能是将货物选择按钮给的选择信息转换成总线五位二进制D0、D1、D2、D3和D4来表示,然后送入控制器。并设有使能端EN1,使电路进入初始状态有效,退出时无效(3)投币处理模块。该模块入口参数coin1(投入1元硬币), coin5(投入5元硬币), EN2(投入硬币有效的使能端)。功能类似于计钱器,在清零的前提下,可准确计算投入的硬币数,记录并保存投入的总币值。(4)投

    11、币、找零显示模块。该模块是用来显示投入和找零的钱数。用于投币显示时,将计钱器加接5个输出端,先转换成BCD码,然后经译码器译码并显示。用于找零显示时,将主控模块的找零信号的五位总线输出端转换成BCD模块,再译码显示。(5)主控模块。主控模块程序通过对输入信号进行处理,完成状态的切换,其入口参数包括start复位信号(取消键)、ok_buy(购买确认)、b(所投的币值,以十进制显示)、出口参数包out1(灯亮显示商品出货)、reject1(灯亮表示拒绝商品输入)、reject2(灯亮表示拒绝接收硬币)、c(找零及退币,以十进制显示)图2 模块示意图3.3各模块的连接各模块的连接如图3和图4所示:

    12、 图3 售货机主控系统和译码器模块图 图4售货机顶层模块第4章 程序清单4.1自动售货机设计代码与实现VerilogHDL语言编程library ieee;-库声明use ieee.std_logic_1164.all;entity guo is port(sel1,sel5,sel10,put1,put5,put10,sure,clk,rst:in std_logic; jing,out1,out5,out10:out std_logic; digit:out integer range 0 to 15);end guo;-实体architecture bhv of guo istype s

    13、tate is(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21);-结构体,定义21个状态signal ps,ns:state;signal a,b:std_logic;-声明a,b两个信号,用于延时beginprocess(clk,rst)variable temp:integer range 0 to 3;begin if rst=1then ps=s0;-当复位信号有效时,s0赋给现态 elsif clkevent and clk=1 then ps=ns;-当上升沿到来时,次态赋

    14、值给现态 if(a=1)then temp:=temp+1; if(temp=3)then b=1; else b=0; end if; else temp:=0; end if; end if;-延时程序end process;process(sel1,sel5,sel10,put1,put5,put10,sure,b,ps)beginif(ps=s0)or(ps=s1)or(ps=s2)or(ps=s3)or(ps=s4)or(ps=s5)or(ps=s6)or(ps=s7)or(ps=s8)or(ps=s9)or(ps=s10)or(ps=s11)or(ps=s12)then a=0;

    15、else ajing=0;out1=0;out5=0;out10=0;digit=0;-状态及状态转换情况 if sel1=1 and sel5=0 and sel10=0 then ns=s1; elsif sel1=0 and sel5=1 and sel10=0 then ns=s2; elsif sel1=0 and sel5=0 and sel10=1 then ns=s3; else nsdigit=1; if put1=1 and put5=0 and put10=0 then ns=s4; elsif put1=0 and put5=1 and put10=0 then ns=

    16、s5; elsif put1=0 and put5=0 and put10=1 then ns=s6; else nsdigit=1; if sure=1 then ns=s13; else nsdigit=5; if sure=1 then ns=s14; else nsdigit=10; if sure=1 then ns=s15; else nsdigit=5; if put1=1 and put5=0 and put10=0 then ns=s7; elsif put1=0 and put5=1 and put10=0 then ns=s8; elsif put1=0 and put5

    17、=0 and put10=1 then ns=s9; else nsdigit=1; if sure=1 then ns=s16; else nsdigit=5; if sure=1 then ns=s17; else nsdigit=10; if sure=1 then ns=s18; else nsdigit=10; if put1=1 and put5=0 and put10=0 then ns=s10; elsif put1=0 and put5=1 and put10=0 then ns=s11; elsif put1=0 and put5=0 and put10=1 then ns

    18、=s12; else nsdigit=1; if sure=1 then ns=s19; else nsdigit=5; if sure=1 then ns=s20; else nsdigit=10; if sure=1 then ns=s21; else nsout1=1;out5=0;out10=0;jing=0;digit=0; if b=1 then ns=s0;-延时控制 else nsout1=1;out5=0;out10=0;jing=0;digit=4; if b=1 then ns=s0; else nsout1=1;out5=0;out10=0;jing=0;digit=9

    19、; if b=1 then ns=s0; else nsout1=0;out5=0;out10=0;jing=1;digit=1; if b=1 then ns=s0; else nsout1=0;out5=1;out10=0;jing=0;digit=0; if b=1 then ns=s0; else nsout1=0;out5=1;out10=0;jing=0;digit=5; if b=1 then ns=s0; else nsout1=0;out5=0;out10=0;jing=1;digit=1; if b=1 then ns=s0; else nsout1=0;out5=0;ou

    20、t10=0;jing=1;digit=5; if b=1 then ns=s0; else nsout1=0;out5=0;out10=1;jing=0;digit=0; if b=1 then ns=s0; else ns=s21; end if; end case;end process;end bhv;4.2仿真结果第5章课程设计心得本设计实现了设计要求中规定的基本功能,具备了在规定时限内完成接受顾客选择、接受投币、记数、找零、显示找零、出货、显示出货、清零的功能,再加上拓展功能:显示选择结果、仓储有限功能,使本系统成为一个接近实际应用、较为人性化的操作系统。本次设计对我来说是一次良好的

    21、、难得的利用所学知识,理论联系实际的一次体验。我再一次的重温了EDA和VHDL的重要技术概念,培养了运用QuartusII软件完成系统程序设计和电路原理图的能力,开拓了设计思路,提升了思考问题的能力。通过在设计过程中一次次遇到问题,解决问题,对所学知识加深了理解,提高了认识,融会贯通。在设计过程中我也发现了自己的许多不足之处,如对所学知识有许多遗忘,吃得不太透,运用能力有待提高等等。本次设计的自动售货机系统实现了许多基本功能,但还有许多可提升的地方,希望通过今后的进一步学习和实践能更好的充实和武装自己,以完成更加困难的任务和工作。最后,非常感谢赵老师对我认真细心的教导和耐心的指导,谢谢赵老师的

    22、关心。 第6章参考文献(资料)1 阎石.数字电子技术基础M. 4版.北京:高等教育出版社,1998. 2 王雯隽.基于Verilog- HDL自动售货机的设计与实现J.微型电脑应用,2005,21(5): 19- 20. 3 王金明Verilog HDL程序设计教程M人民邮电出版社. 4 潘松,黄继业编著 .EDA技术实用教程M2005 ,科学出版社5 赖一汉自动售货机控制系统VHDL有限状态机实现J自动化技术与应用,2009(9)6 徐世明,等自动售货机研究现状及展卑J中国科学工程,2008,10(7):5l一557 宋潇,李佩佩,韩莹莹自动售货机控制设计J科技信息,2009(33)致 谢我所做的自动售货机设计是一个综合性很强的工作,它涉及到电路的设计思路、VHDL硬件描述语言编程、MAX+PLUS II软件的使用,由于本人能力有限,在设计的制作过程中,遇到了相当多的问题和困难。但在我的指导老师赵巍老师的指导和帮助下,我顺利完成了本次设计工作,为我增添了许多信心,同时也为以后参加工作打下了一个良好的基础。最后,再次对赵老师致以衷心的感谢!


    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开