EDA实习报告自动售卖机汇总.docx

上传人:b****6 文档编号:13774996 上传时间:2023-06-17 格式:DOCX 页数:10 大小:247.72KB
下载 相关 举报
EDA实习报告自动售卖机汇总.docx_第1页
第1页 / 共10页
EDA实习报告自动售卖机汇总.docx_第2页
第2页 / 共10页
EDA实习报告自动售卖机汇总.docx_第3页
第3页 / 共10页
EDA实习报告自动售卖机汇总.docx_第4页
第4页 / 共10页
EDA实习报告自动售卖机汇总.docx_第5页
第5页 / 共10页
EDA实习报告自动售卖机汇总.docx_第6页
第6页 / 共10页
EDA实习报告自动售卖机汇总.docx_第7页
第7页 / 共10页
EDA实习报告自动售卖机汇总.docx_第8页
第8页 / 共10页
EDA实习报告自动售卖机汇总.docx_第9页
第9页 / 共10页
EDA实习报告自动售卖机汇总.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA实习报告自动售卖机汇总.docx

《EDA实习报告自动售卖机汇总.docx》由会员分享,可在线阅读,更多相关《EDA实习报告自动售卖机汇总.docx(10页珍藏版)》请在冰点文库上搜索。

EDA实习报告自动售卖机汇总.docx

EDA实习报告自动售卖机汇总

 

EDA技术及应用实习报告

自动售卖机

 

信息13-2班06号

GMH

 

北华大学电气信息工程学院

目录

一、设计任务功能简介3

1、设计任务3

2、主要功能3

二、原理、方案、框图及任务分解3

1、原理3

2、方案4

3、框图4

4、任务分解5

三、关键任务的设计代码及注释5

四、调试中出现的问题及解决方案7

1、问题一7

2、问题二7

五、产业化市场分析及预测7

六、测试及运行结果8

七、参考文献10

 

一、设计任务功能简介

1、设计任务

自动售货机设计。

利用软件QuartusII软件,使用VHDL语言结合硬件要求对本题目设计功能进行编程,并在完成整个硬件程序设计后,在软件平台上进行编译和电路仿真,最后生成的目标文件下载到DE2-70实验板上实现上述所有功能并验证程序的可行性。

2、主要功能

本设计主要实现的功能为:

货物信息存储功能、商品选择功能、输入钱数处理功能、货架商品更换功能、语音提示功能、信息显示等功能。

二、原理、方案、框图及任务分解

1、原理

自动售货机(Vending Machine,VEM)是能根据投入的钱币自动付货的机器。

自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。

是一种全新的商业零售形式,又被称为24小时营业的微型超市。

能分为三种:

饮料自动售货机、食品自动售货机、综合自动售货机。

自动售货机是台机电一体化的自动化装置,在接受到货币已输入的前提下,靠触摸控制按 扭输入信号使控制器启动相关位置的机械装置完成规定动作,将货物输出。

2、方案

根据题目要求机器设有2个投币孔,机器可以接受1元和5元的纸币,分别有八种商品,价格分别为1元,4元,2元,3元,6元,7元,5元,8元,机器采用拨码开关模拟机器的复位键、确认购买键和商品选择,并且通过开发板上的LED等分别显示购买的不同情况,数码管实时显示购买金额,包括投入的价钱,找零的价钱。

此设计按照EDA课程设计 的流程进行源代码的编写、仿真。

本设计主要利用QuartusⅡ等设计软件进行设计。

3、框图

依题目要求设计流程框图如下所示:

图2-1程序流程图

4、任务分解

本设计主要包括按键模块、显示模块、语音提示模块。

设计程序任务如下图:

图2-2程序任务图

任务一:

存储商品信息。

商品名称及商品价格等信息。

任务二:

响应用户选择商品的操作。

用户用过按键选择商品,售卖机要实时显示商品名称及价格信息。

任务三:

货币处理。

待用户选择商品结束,售卖机要接收用户投币,包括判断纸币的面额、总金额、是否投币结束等信息。

任务四:

人性化设计。

售卖机要有良好的人性化交互界面,以及必要的文字、语音等提示信息。

三、关键任务的设计代码及注释

商品选择进程设计:

data:

process(START,sel_add)

begin

ifSTART='1'then

fsel_add'eventandsel_add='1'thenitem<=item+1;

ifitem="000"thenitem_dis<="11000000";money_dis<="10011001";

elsifitem="001"thenitem_dis<="11111001";money_dis<="11111000";

elsifitem="010"thenitem_dis<="10100100";money_dis<="10100100";

elsifitem="011"thenitem_dis<="10110000";money_dis<="10110000";

elsifitem="100"thenitem_dis<="10011001";money_dis<="11111001";

elsifitem="101"thenitem_dis<="10010010";money_dis<="10011001";

elsifitem="110"thenitem_dis<="10000010";money_dis<="10110000";

elsifitem="111"thenitem_dis<="11111000";money_dis<="10000000";

endif;

endif;

elseitem_dis<="11111111";money_dis<="11111111";price<="0000";

endif;endprocessdata;

----------------------------------------------------------------------------------------------------------------------

付钱进程设计:

pay:

process(finish,one,five)

beginiffinish='1'then

ifone'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_moneyis

when"0000"=>pay_money_dis_g<="11000000";pay_money_dis_s<="11000000";

when"0001"=>pay_money_dis_g<="11111001";pay_money_dis_s<="11000000";

when"0010"=>pay_money_dis_g<="10100100";pay_money_dis_s<="11000000";

when"0011"=>pay_money_dis_g<="10110000";pay_money_dis_s<="11000000";

when"0100"=>pay_money_dis_g<="10011001";pay_money_dis_s<="11000000";

when"0101"=>pay_money_dis_g<="10010010";pay_money_dis_s<="11000000";

when"0110"=>pay_money_dis_g<="10000010";pay_money_dis_s<="11000000";

when"0111"=>pay_money_dis_g<="11111000";pay_money_dis_s<="11000000";

when"1000"=>pay_money_dis_g<="10000000";pay_money_dis_s<="11000000";

when"1001"=>pay_money_dis_g<="10010000";pay_money_dis_s<="11000000";

when"1010"=>pay_money_dis_g<="11000000";pay_money_dis_s<="11111001";

when"1011"=>pay_money_dis_g<="11111001";pay_money_dis_s<="11111001";

when"1100"=>pay_money_dis_g<="10100100";pay_money_dis_s<="11111001";

when"1101"=>pay_money_dis_g<="10110000";pay_money_dis_s<="11111001";

when"1110"=>pay_money_dis_g<="10011001";pay_money_dis_s<="11111001";

when"1111"=>pay_money_dis_g<="10010010";pay_money_dis_s<="11111001";

whenothers=>pay_money_dis_g<="11000000";pay_money_dis_s<="11000000";

endcase;

ifpay_money>=pricethen

back<=pay_money-price;

casebackis

when"0000"=>money_back_dis<="11000000";

when"0001"=>money_back_dis<="11111001";

when"0010"=>money_back_dis<="10100100";

when"0011"=>money_back_dis<="10110000";

when"0100"=>money_back_dis<="10011001";

when"0101"=>money_back_dis<="10010010";

when"0110"=>money_back_dis<="10000010";

when"0111"=>money_back_dis<="11111000";

when"1000"=>money_back_dis<="10000000";

when"1001"=>money_back_dis<="10010000";

whenothers=>money_back_dis<="11000000";

------------------------------------------------------------------------------------

声音提示进程设计:

int:

process(START,finish)

begin

ifSTART='1'andfinish='0'thensound<="01";

elsifSTART='1'andfinish='1'thensound<="10";

elsifSTART='0'andfinish='0'thensound<="11";

endif;

endprocessint;

------------------------------------------------------------------------------------

endarchitecturebehav;

四、调试中出现的问题及解决方案

1、问题一

问题描述:

本设计语音芯片采用LJ600,选择扬声器输出模式,可存储6段语音片段,对应6个引脚下降沿触发且低电平至少维持1ms,语音触发之后必须处于高电平状态,否则影响其他语音输出。

综上描述,触发信号应为一个门信号。

由于系统未引入时钟,且在同一进程中不可对输出信号重复赋值,产生问题。

解决办法:

代码如下图,在if语句中实现状态跳转。

2、问题二

变量初始化状态必须明确定义高低电平。

即状态输出时,必须考虑高低电平两种状态,不可以出现不确定状态。

完全按照语法要求。

五、产业化市场分析及预测

随着信息技术的发展及人们生活水平的不断提高,人们的消费观念及消费需求都在不断地改变和提高。

自动售卖机正是为了满足人们的这种需求而在多年前被引入国内的。

但早期的自动售卖机在国内并未获得预期的市场反应及消费者的广泛使用。

现阶段大多数的自动售卖机只投放在国内一线城市,销售的货品也只停留在零食、饮料、饮用水、计生用品等有限的几样品种。

在零售业市场竞争日趋白热化的今天,压缩经营成本是增强企业市场竞争力的一个主要手段。

然而无论是连锁超市还是便利店,日益高涨的店面租金及人力成本,已经成为他们无法忽视也无法回避的沉重负担。

而自动售卖机却完全没有上述所说的麻烦,它24小时营业、售货便利、方便找零,占地面积小(一般仅需1平方米)、移动性强,无须常驻人员盯守、省人工成本,时尚新颖、个性独特、集高科技于一体,有利于树立品牌形象,养护费用低,日常免维护……这些优势势必引领潮流,使得自动售卖机日发成为市场新宠,在零售业市场占领一席之地。

六、测试及运行结果

售卖机整体结构如下图所示:

图6-1整体结构

商品0的价格为4元。

商品1价格为7元。

商品7价格为8元,输入11元,找零3元。

商品选择按钮及确定按键。

七、参考文献

[1]潘松,黄继业.EDA技术与VHDL.第4版.北京:

清华大学出版社,2013.4

[2]潘松,王国栋.VHDL实用教程(修订版).成都:

成都电子科技大学出版社,2001

[3]曾繁泰,陈美金.VHDL程序设计.北京:

清华大学出版社,2001.1

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

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

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