您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > EDA实习报告(自动售卖机)
EDA技术及应用实习报告自动售卖机信息13-2班06号GMH北华大学电气信息工程学院1目录一、设计任务功能简介............................................................................21、设计任务......................................................................................22、主要功能......................................................................................2二、原理、方案、框图及任务分解........................................................21、原理...............................................................................................22、方案...............................................................................................23、框图...............................................................................................34、任务分解......................................................................................3三、关键任务的设计代码及注释............................................................4四、调试中出现的问题及解决方案........................................................81、问题一...........................................................................................82、问题二...........................................................................................8五、产业化市场分析及预测....................................................................8六、测试及运行结果................................................................................9七、参考文献...........................................................................................112一、设计任务功能简介1、设计任务自动售货机设计。利用软件QuartusII软件,使用VHDL语言结合硬件要求对本题目设计功能进行编程,并在完成整个硬件程序设计后,在软件平台上进行编译和电路仿真,最后生成的目标文件下载到DE2-70实验板上实现上述所有功能并验证程序的可行性。2、主要功能本设计主要实现的功能为:货物信息存储功能、商品选择功能、输入钱数处理功能、货架商品更换功能、语音提示功能、信息显示等功能。二、原理、方案、框图及任务分解1、原理自动售货机(VendingMachine,VEM)是能根据投入的钱币自动付货的机器。自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。是一种全新的商业零售形式,又被称为24小时营业的微型超市。能分为三种:饮料自动售货机、食品自动售货机、综合自动售货机。自动售货机是台机电一体化的自动化装置,在接受到货币已输入的前提下,靠触摸控制按扭输入信号使控制器启动相关位置的机械装置完成规定动作,将货物输出。2、方案根据题目要求机器设有2个投币孔,机器可以接受1元和5元的纸币,分别有八种商品,价格分别为1元,4元,2元,3元,6元,7元,5元,8元,机器采用拨码开关模拟机器的复位键、确认购买键和商品选择,并且通过开发板上的LED等分别显示购买的不同情况,数码管实时显示购买金额,包括投入的价钱,找零的价钱。此设计按照EDA课程设计的流程进行源代码的编写、仿真。本设计主要利用QuartusⅡ等设计软件进行设计。33、框图依题目要求设计流程框图如下所示:图2-1程序流程图4、任务分解本设计主要包括按键模块、显示模块、语音提示模块。设计程序任务如下图:图2-2程序任务图任务一:存储商品信息。商品名称及商品价格等信息。任务二:响应用户选择商品的操作。用户用过按键选择商品,售卖机要实时显示商品名称及价格信息。4任务三:货币处理。待用户选择商品结束,售卖机要接收用户投币,包括判断纸币的面额、总金额、是否投币结束等信息。任务四:人性化设计。售卖机要有良好的人性化交互界面,以及必要的文字、语音等提示信息。三、关键任务的设计代码及注释商品选择进程设计:data:process(START,sel_add)beginifSTART='1'thenfsel_add'eventandsel_add='1'thenitem=item+1;ifitem=000thenitem_dis=11000000;money_dis=10011001;elsifitem=001thenitem_dis=11111001;money_dis=11111000;elsifitem=010thenitem_dis=10100100;money_dis=10100100;elsifitem=011thenitem_dis=10110000;money_dis=10110000;elsifitem=100thenitem_dis=10011001;money_dis=11111001;elsifitem=101thenitem_dis=10010010;money_dis=10011001;elsifitem=110thenitem_dis=10000010;money_dis=10110000;elsifitem=111thenitem_dis=11111000;money_dis=10000000;endif;endif;elseitem_dis=11111111;money_dis5=11111111;price=0000;endif;endprocessdata;----------------------------------------------------------------------------------------------------------------------付钱进程设计:pay:process(finish,one,five)beginiffinish='1'thenifone'eventandone='1'thenpay_money_one=pay_money_one+1;iffive'eventandfive='1'thenpay_money_five=pay_money_five+5;endif;pay_money=pay_money_five+pay_money_one;casepay_moneyiswhen0000=pay_money_dis_g=11000000;pay_money_dis_s=11000000;when0001=pay_money_dis_g=11111001;pay_money_dis_s=11000000;when0010=pay_money_dis_g=10100100;pay_money_dis_s=11000000;when0011=pay_money_dis_g=10110000;pay_money_dis_s=11000000;when0100=pay_money_dis_g=10011001;pay_money_dis_s=11000000;when0101=pay_money_dis_g=10010010;pay_money_dis_s=11000000;when0110=pay_money_dis_g=610000010;pay_money_dis_s=11000000;when0111=pay_money_dis_g=11111000;pay_money_dis_s=11000000;when1000=pay_money_dis_g=10000000;pay_money_dis_s=11000000;when1001=pay_money_dis_g=10010000;pay_money_dis_s=11000000;when1010=pay_money_dis_g=11000000;pay_money_dis_s=11111001;when1011=pay_money_dis_g=11111001;pay_money_dis_s=11111001;when1100=pay_money_dis_g=10100100;pay_money_dis_s=11111001;when1101=pay_money_dis_g=10110000;pay_money_dis_s=11111001;when1110=pay_money_dis_g=10011001;pay_money_dis_s=11111001;when1111=pay_money_dis_g=10010010;pay_money_dis_s=11111001;whenothers=pay_money_dis_g=11000000;pay_money_dis_s=11000000;endcase;ifpay_money=pricethen7back=pay_money-price;casebackiswhen0000=money_back_dis=11000000;when0001=money_back_dis=11111001;when0010=money_back_dis=10100100;when0011=money_back_dis=10110000;when0100=money_back_dis=10011001;when0101=money_back_dis=10010010;when0110=money_back_dis=10000010;when0111=money_back_dis=11111000;when1000=money_back_dis=10000000;when1001=money_back_dis=10010000;whenothers=money_back_dis=11000000;------------------------------------------------------------------------------------声音提示进程设计:int:process(START,finish)beginifSTART='1'andfinish='0'thensound=01;elsifSTART='1'andfinish='1'thensound=10;elsifSTART='
本文标题:EDA实习报告(自动售卖机)
链接地址:https://www.777doc.com/doc-2910970 .html