基于单片机的自动售货机的设计毕业论文.docx
《基于单片机的自动售货机的设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的自动售货机的设计毕业论文.docx(28页珍藏版)》请在冰豆网上搜索。
基于单片机的自动售货机的设计毕业论文
---文档均为word文档,下载后可直接编辑使用亦可打印---
摘要
自动售货机是近些年来兴起的一种通过FPGA或者单片机等硬件支持的智能设备。
它广泛的应用于商场,公寓,火车汽车站等人流较密集且购物需求大的地方。
自动售货机通过硬件支持,通过以编写好的程序自动出货自动找零,但货物一旦售罄就需人为去补充。
人们生活水平不断提高,对自动售货机的需求量就越大,所以对它的研究和完善具有重要的商业价值。
传统的售货机只能用现金支付,随着近些年的发展移动终端支付方式越来越受欢迎。
一些售货机也开始拓展移动支付的功能,极大地满足了人们的需要,给他们提供了许许多多的便利。
同时,移动支付功能也克服了现金支付找零会存在的一些问题。
本课题主要是研究一款基于89C51单片机的自动售货机,并实现自由选货、出货、收钱、找零等功能。
本文介绍了单片机的选型、总的设计框架、软件仿真、硬件电路的实现等各个模块。
关键词:
自动售货机;单片机;编译仿真
Abstract
VendingmachinesarethekindofintelligentdevicesthathavebeensupportedbyhardwaresuchasFPGAsormicrocontrollersinrecentyears.Itiswidelyusedinshoppingmalls,apartments,busstationsandothercrowdedandshoppingneedsoflargeplaces.Automaticvendingmachinethroughhardwaresupport,throughthepreparationofagoodprogramautomaticallysenttoautomaticallychangethezero,butthegoodsoncesoldouttobeaddedtothepeople.People'slivingstandardscontinuetoimprove,thedemandforvendingmachinesisgreater,soitsresearchandimprovementhasimportantcommercialvalue.Traditionalvendingmachinescanonlybepaidincash,withthedevelopmentofmobileterminalsinrecentyears,moreandmorepopularwaytopay.Somevendingmachineshavebeguntoexpandthefunctionofmobilepayment,greatlytomeettheneedsofpeople,toprovidethemwithalotofconvenience.Atthesametime,themobilepaymentfunctionalsoovercomessomeoftheproblemsthatcashpaymentswillhave.Thistopicismainlytostudya89C51single-chipvendingmachines,andtoachievefreeselectionofgoods,shipping,money,changeandotherfunctions.Thisarticledescribesthesingle-chipselection,theoveralldesignframework,softwaresimulation,hardwarecircuitimplementationandothermodules.
Keywords:
automaticvendingmachine;80C51MCU;compiledsimulation
据史书记载,公元一世纪,在四大文明古国之一的古希腊,一个名叫希罗的亚历山大港公民,发明了自动售货机,这台机器在接受投币后会给顾客一定数量的圣水,这是历史上最早的自动售货机。
到了第17世纪,在英国的某些酒吧里也开始出现了售卖香烟的机器。
在自动售货机的漫长历史中,现存最古老的自动售货机是由日本人俵谷高七于1904年发明的“自动邮票、明信片售货机”。
这是一台可以出售邮票、明信片并且附带邮筒投递的机器,给人们在邮寄信函方面带来了极大的便利。
在第二次世界大战之后,世界归于和平,各行各业急速发展,人们的购物需求大大增加,自动售货机迎来了极大的发展。
在19世纪50年代,“水喷雾果汁自动贩卖机”大受欢迎,人们拿着杯子向机器里投币就能得到一杯美味的果汁。
后来,随着美国饮料集团的迅速发展,全世界各地都开始流行了可口可乐这一类饮品,饮品类自动售货机成为了最受欢迎的自动售货机之一。
在最近几十年,自动售货机迈步向着信息化、可持续化的方向高速发展。
例如,在线上,自动售货机中的库存信息通过电话线及时地发送到每个业务点的计算机,从而保证货物的交付、补货和货物的平稳选择,同时也能非常快捷直观的了解商品售出的情况。
为了环境的可持续发展,同时也要考虑到自动售货机的功耗问题,所以现在的自动售货机设计都非常节能。
例如,在夏季的售卖冰凉饮料的自动售货机设计了保温功能,即在断电的情况下也能长时间保持低温状态,从而达到比以前的自动售货机有着更加节能的效果。
进入二十一世纪后,科学技术高速发展,各种高科技电子产品走进千家万户,极大地满足了人们对工作、生活以及娱乐上的需求。
人们的生活水平显著提高,工作也越来越忙,空余的时间严重碎片化,对购物的需求也大大增加。
特别是人们对于小零食或者汽水饮料的商品的高频率消费,去商店购买可能嫌太远或者没时间,一次购买太多,也不太容易存放。
此时,自动售货机则可以大大满足人们对于此种必要的需求。
人们对于个性化的追求也愈发明显,无论是在穿衣还是吃饭或者住宿亦或是出行,人们总是喜欢有自己的风格来和其他人达到差异化,以达到彰显资格的个性化。
自动售货机也随着人们需求的差异化和个性化呈现出不同的形态。
例如有售卖饮料的自动售货机,有售卖零食的自动售货机,有售卖感冒药之类的药品自动售货机,有售卖书籍的自动售货机,有售卖玩具的自动售货机......这种个性化的购物方式给人们的日常生活带来了极大的便捷。
放在不同地点的自动售货机在销售额上会有很大的差异。
所以通常放置在人流量较大的位置。
一般情况下,自动售货机放置的位置有:
地铁出入口、车站出入口、休息室内、小区楼下、商场门口、教学楼下、宿舍楼下、风景区......
自动售货机集设计,生产技术,智能自动化等技术于一身,是我国发展技术快速强大的有力体现。
随着时间的推移,现在的人工成本越来越高,而自动售货机却恰好不需要专门要人去值守,这就大大地节省了人力资源,解放了大量的人工生产力。
况且,自动售货机可以24小时不间断的为顾客提供售货服务,相比于人力需要休息又有了一个明显的优势。
自动售货机整体体积小,摆放的时候,可以放置在各种多余的空角处,占地面积小,这又是大大的节约了有限的土地资源,运行起来对能源的消耗也比较小。
各项优点综合在一起,自动售货机极大的促进现代化社会的发展,满足人们碎片化的购物需求,解放了人工生产力,解约了土地资源,便捷了人们的日常生活。
1.2现状及发展趋势
第三次零售业革命后,超市和百货商城的发展逐渐放缓了下来,市场也略显疲态。
而自动售货机却在这幅疲态之中逆势而起发展迅猛。
无论是外形上的新颖设计,还是或商品品类的内容更新都更加的多样化。
自动售货机方便灵活,可以根据不同的摆放区域来对应的提供人们相应预购买的商品,比如,在旅游的风景区售卖饮用水和食品,以满足人们旅途对食物和饮水的需求;在游乐场或者电玩城售卖玩具产品;在地铁的出入口或者公交站售卖报纸等等。
这样不仅满足了人们的需求,同时促进了自动售货机的销售额的上升。
与以前自动售货机相比,现在自动售货机更加智能。
内部可以统计销售数据,比如每种商品的销量、顾客购买商品的时间等,让自动售货机的运营方能更加方便快捷的知道商品的销售情况,然后进行相关的工作。
此外,随着移动通信行业的高速发展,人们都在使用智能手机,所以现在的自动售货机还可以用手机或者信用卡等方式进行在线的电子支付。
这种新型的购物方式在国内已经相当普遍。
因此,国内的自动售货机制造厂商也大力生产支持在线支付的自动售货机,同时与一些移动支付厂商开展了合作关系,比如支付宝和微信支付等等。
在自动售货机的表面位置,还可以当做广告位来出租,供广告商投放广告,又进一步增加了自动售货机运营者的收入,这样同时又一步促进了运营商们投放自动售货机的想法,极大的促进了自动售货机在国内社会的普及。
在国外,自动售货机产业早就经过了相当成熟的发展阶段。
无论是从自动售货机的种类数量和售卖的商品类别,还是从自动售货机的运营商来看,都比中国要多的多。
例如,日本的城市里拥有2000多种不同类型的自动售货机,24小时不停的向顾客们提供服务,这种生产服务能力是相当可观的,极大的节约了人力资源。
现在的世界第一强国美国,更是拥有一万多家自动售货机运营商,与各大商品供应商进行深度合作,拥有了相当丰富的经验,这与美国的发达程度也是分不开的。
中国从中学习借鉴一些先进的技术,再加以本土化改进,促进了我国的自动售货机行业的快速发展。
自动售货机在国内的普及程度已经非常高了。
现在,我们经常能在大街小巷里见到它们的身影。
比如:
地铁出入口、车站出入口、休息室内、小区楼下、商场门口、教学楼下、宿舍楼下、风景区等地点就有比较多的自动售货机运营商投放自动售货机。
自动售货机的外观信新颖、美观,并且给群众生活带来了极大的便利,是城市街道上一道亮丽的风景线,也成为了城市文明现代化的标志之一。
1.3研究的主要内容
在自动售货机内以80C51单片机作为控制核心,通过用keilUvision3来编译调试C语言程序,使用protues来设计出电路图。
最终把单片机与输入、输出模块、显示等模块相连接并进行仿真模拟。
模拟自动售货机正常运行时的工作情况。
2自动售货机的系统结构
2.1系统概述
2.1.1工作原理
当顾客看到了自己想要购买的商品时,按下商品所对应的种类按钮和数量按钮,自动售货机根据货品的价值在液晶屏上显示顾客所需付费的商品总额,客户投入货币后,自动售货机的货币识别模块会对客户投入的货币进行真假识别以及面额识别,然后根据客户所选则商品的价格进行收费并找零,自动售货机的内部控制芯片发送指令给储备库将顾客所选的物品发送到取物口。
工作原理如图2-1所示:
图2-1自动售货机的总体工作原理图
2.1.2控制子系统概述
按照自动售货机的工作流程,自动售货机的控制子系统一共可以分成三个部分。
(1)自动售货机预设系统。
将自动售货机内的所有商品按照品种分类,再分别给每个品种的商品设置好价格,并存储在系统内。
商品的价格和种类设置由按钮进行输入,然后存储在存储器内。
存储器必须要有断电保护功能才能使系统正常工作。
(2)价格累计和退币系统。
当顾客投币后,系统CPU开始对货币进行识别,如果是假币,则CPU向退币模块发出退币信号,退币系统开始工作。
如果是真币,则CPU中开始计算金额累计,当累计金额达到顾客预购买商品价格时,购物指示灯亮,CPU向出货模块发送信号,出货模块开始工作,将顾客选择的商品送到出货口,并将金额累计清零。
当累计金额超过客户欲购买商品的价格时,购物指示灯亮,CPU向出货模块发送信号,出货模块开始工作,将客户选择的商品送到出货口后,CPU计算差价,向退币模块发送信号,退币模块开始工作,退还差价金额货币,并将金额累计清零。
(3)售罄检测系统。
自动售货机存放商品的通道有一个检测开关,当通道内有对应的商品的时候,开关为闭合状态,此时,自动售货机的售货系统正常运行。
当通道内对应的商品售罄时,开关为断开状态,向CPU发送信号,CPU向显示屏或者指示灯发送缺货信号,用来向顾客显示相应的商品缺货信息。
2.2自动售货机的功能简介
2.2.1功能概述
自动售货机的基本原理:
当顾客看到了自己想要购买的商品时,按下商品所对应的种类按钮和数量按钮,自动售货机根据货品的价值在液晶屏上显示顾客所需付费的商品总额,客户投入货币后,自动售货机的货币识别模块会对客户投入的货币进行真假识别以及面额识别,然后根据客户所选则商品的总价格进行金额比较,判断选择退币还是出货并找零,最后自动售货机的内部控制芯片发送指令给储备库将顾客所选的物品发送到取物口。
自动售货机的功能描述:
为了方便此次设计的研究,商品的种类一共设计设计为七种,这七种商品分别有不同的线路映射到对应不同的按键上,顾客可以通过按键选择对应的商品以及数量。
在确定商品的种类和数量后,按确认键进行确认。
顾客再根据系统提示的价格放入货币,系统则发送顾客挑选的物品并进行找零。
储备箱内的物品价格规格有1到20块不等;系统能够识别的货币有:
壹圆的硬币和纸币,拾圆、贰拾圆、伍拾圆、壹佰圆的纸币。
这个设计中总共有十二个按钮,其对应的分别是七种货物对应的选择按钮、两个选择数量的按钮、一个投入金额的按钮、另外还有两个按钮分别是确认按钮和取消按钮。
顾客在使用自动售货机时,在规定的时间内进行挑货付款,这样有利于提高自动售货机的使用效率。
顾客在挑选好货品之后在规定时间内进行一次或者多次投币,然后自动售货机内部的系统会对顾客投入的货币总金额与货品的总价值进行比较计算,如果投入的金额比所选货物的价值小,系统会提示补交货币或者取消此次消费并退还所有金额。
2.2.2系统设计思路如图2-2所示:
图2-2自动售货机系统原理图
控制核心为80C51单片机;输入端为投币P3.5口和矩阵键盘;显示模块为LCD1602;P0口为商品选择输入端,P1口为货物输出端和找零系统端。
端口设计:
(1)输入:
P0口为P3.5,则定义端口按键值:
P3.5口按键值
代表货币(单位:
元)
0X00
1
0X01
5
0X02
10
0X03
20
0X04
50
0X05
100
(2)商品的种类一共设计设计为七种,则定义端口按键值:
P0口按键值
按键
0X06
确定
0X07
取消
0X08
价格+
0X09
价格-
0X0a
数量+
0X0b
数量-
(3)输出:
P1口为货物输出,并控制相应的LED灯,则定义端口按键值:
P1口按键值
商品选择
LED灯亮
P1.0
1
D1
P1.2
2
D2
P1.3
3
D3
P1.4
4
D4
P1.5
5
D5
P1.6
6
D6
P1.7
7
D7
(4)显示:
显示端口由P2端口和P3.2(RS)、P3.3(RW)、P3.4(E)控制将顾客的购货状态显示在LCD1602上,P1口控制LED灯亮表示商品种类。
3硬件设计
3.180C51的基本概述
(1)8051是8位元的单芯片微控制器,采用的是同步式的顺序逻辑系统,出自英特尔公司1981年制造。
在中国大陆被大家广泛地称为“单片机”。
它拥有非常高的实用性。
80C51是采用CMOS工艺技术生产出来的,因此拥有比上一代采用NMOS工艺技术生产出来的的单片机更加节能的特性。
其外观如图3-1(a)所示:
图3-1(a)80C51单片机的外观图
(2)80C51的组成为外部引脚。
内部CPU、RAM(数据存储器)、ROM(程序存储器)、I/O接口、定时器/计数器、时钟电路、串行通信口和中断控制系统。
内部基本结构如图3-1(b)所示:
图3-1(b)80C51单片机内部基本结构
(3)80C51单片机的引脚总共有40支。
如图3-1(c)所示:
图3-1(c)80C51的引脚图
VCC:
接正电源5V。
VSS:
接地。
XTAL1,XTAL2:
接石英晶体振荡器。
RST:
芯片重置信号输入端。
PSEN:
外接ROM,与ROM的OE相连。
VPD:
备用电源。
EA/Vpp:
接高电位时,读取内部程式内存;接低电压时,读取外部程式内存。
(4)每次使用单片之前,我们都要按下RST复位键,让单片机恢复初始状态以避免上次的操作对此次操作产生的不确定性的影响。
RST复位信号要输入一高电位脉冲,且大于2个机械周期,才能完成重置动作。
一般情况下,80C51的复位方法有两种,分别是人工设置按钮和自动上电复位。
自动上电复位电路的工作原理是:
在通电的时候,电容相当于短路状态,RST复位引脚上的电位为高电平,因此电容会因为电阻被充电,然后RST复位端逐渐降低电压直到变为低电平,这时单片机开始正常工作。
为了自动售货机的正常运行和功能需求,本次设计采用自动上电复位电路。
3.2LCD1602字符型液晶的基本概述
(1)LCD1602对于爱好单片机的人来说是比较早的接触到的液晶的显示器,并且是字符型的液晶显示器,它的主要控制芯片是具有兼容型的芯片和HD44780芯片。
LCD1602是一种点阵型的液晶型的模块,专门运用于显示字符、数字、符号等一些数学术语。
1602字符型液晶的点阵字符为的组成部分有以下两种:
5*7点阵字符位;5*11点阵字符为。
这些点阵字符位中的每一个点阵字符都能显示一个数学字符,如今在市场上的大多数的液晶芯片基本都是HD44780这种类型的。
控制的原理都是一种类型的,因此如今市场上流通的大部分字符这种类型的液晶都是通过HD44780这个控制系统的控制程序来运行的。
如今液晶显示器在各种仪表和功耗较低的系统中有着广泛的运用,它的主要优点是:
功耗低、所占面积小、显示出来的内容丰富多彩,制作材质轻薄。
根据显示内容可以分为字符型液晶,图形液晶。
根据显示容量又可以分为单行16字,2行16字,两行20字等等。
(2)LCD1602基本结构如图3-2(a)图:
图3-2(a)LCD1602基本结构图
引脚说明:
LCD1602一般是16个引脚
1脚:
VSS接地。
2脚:
VDD接正电源5V。
3脚:
VEE液晶显示器对比度调整端,在连接时可以通过接一个电位器来调整对比度。
4脚:
RS为数据命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。
5脚:
RW为读写选择端,高电平时为读操作,低电平时为写操作。
6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15~16脚:
空脚或背灯电源,15脚背光正极,16脚背光负极。
(3)指令和功能设置如表3-2(b)所示:
指令
功能
1
清除显示
2
光标复位
3
光标位置设置
4
显示开关控制
5
光标移位
6
功能设置
7
RAM地址设置
8
DDRAM地址设置
9
读忙信号和光标地址
表3-2(b)指令和功能设置
(4)LCD1602读写时序操作如图3-2(c)、3-2(d)所示:
图3-2(c)读时序操作图
图3-2(d)写时序操作图
3.34*4矩阵键盘的基本概述
(1)4*4矩阵键盘又被称为4*4行列键盘,它是用4条I/O线分别作为行线和列线相连所组成的键盘。
在每条行线和列线的交叉处设置成按键的位置,由此可知,4*4矩阵键盘总共有16个按键。
在交叉口设置按键可以非常有效地利用单片机I/O口。
在设计时,如果按键的个数较多,那么通常会采用矩阵键盘的形式来设计,这样可以节省下更多的端口来为其他的连接提供需要。
若是采用将按键直接接在I/0端口线上的方案,那么端口将会变得非常拥挤,甚至会发生端口不够用的情况。
所以本次设计键盘采用4*4矩阵键盘。
(2)4*4矩阵键盘基本结构图如图3-3(a)所示:
图3-3(a)矩阵键盘基本结构
(3)设计矩阵键盘时,先计算出每个按键接口的接口地址,这样在后面的编译程序过程中会更加快速便捷。
方法为:
首先,将矩阵键盘上的全部行线设置为低电平状态,再检测所有列线的电平状态。
当检测到某列列线为低电平时,说明该列有按键是被按下的。
若检测到所有列线都为高电平状态,则说明该矩阵键盘内没有按键被按下。
当确定该列中有按键被按下后,被按下的按键必定在该列四个按键中。
再将矩阵键盘上的全部列线设置为低电平状态,再检测所有行线的电平状态。
当检测到某行行线为低电平时,说明该行有按键是被按下的。
由此可知,按下的按键即是该行线与列线交叉处的按键。
3.4货币识别模块
3.4.1对硬币的识别
当今社会,对于货币的识别方法有很多,比如:
光电传感器测量法、电磁感应识别法、激光扫描识别法.......而在自动售货机中大多采用的识别机制是涡流传感检测器,它的优点有:
结构简单,制造陈本低、检测精准。
涡流传感器工作原理:
通过对线圈发送高频的电流信号,当硬币通过线圈时,带有高频电流的线圈所产生的高频电磁场对该金属进行检测,并产生对应的感应电流,这也是电磁学上所谓的电涡流。
然后根据电涡流效应和通过线圈的硬币所产生的多种数据进行综合分析,从而达到检测出硬币的真假的作用。
3.4.2对纸币的识别
目前对纸币的检测方法有:
荧光检测、磁性检测、红外穿透检测、激光检测、防夹心检测。
(1)荧光检测:
是通过对纸币的纸质进行检测,但由于会受到外界因素的干扰因此有两个弊端,其一是由于检测环境是遮光的,当外界光线进入检测空间时会产生错误的信息报导,其二是在检测纸币过程中空气中有大量粉尘,这些灰尘会长期累积之下会粘在光源的表面上造成检测信号的变弱,从而造成漏报。
(2)磁性检测:
是通过对大额纸币上的磁性油墨进行检测,但也会由于印刷过程中导致的油墨厚度不同造成之后检测时磁头的高低不同导致信号不同,从而造成漏报。
(3)红外穿透检测:
是通过对纸币的密度,厚度以及印刷的油墨的厚度等元素影响下纸张对红外线的吸收程度的多少不同来进行分析辨别,但由于油墨的颜色与厚度在印刷时可能存在差异,因此还需要通过数学运算的方法来进行比较分析,因此检测起来比较麻烦。
(4)激光检测:
是通过物理学的方法发送一定波长的红外线激光到纸币上,照射纸币上特定的荧光字,根据国家防伪规定的标准检测,从而辨别真假,由于国家特制的荧光字仿造起来非常困难,因此用激光检测辨别甚是准确。
(5)防夹心检测:
是根据对不同纸钞的纸质、磁性、宽度、特征等一系列数据进行分析辨别来剔除不同额度的纸币,然后对不同额度的金钱进行分析,但由于国家发行的纸币的每个版本都略有不同,因此通过简单的防夹心检测分辨是会产生误差。
综合上面所述的方法来看,激光检测验钞的方法是目前最为准确的检测方式,并且应用于自动售货机中更加方便,准确。
3.5货物选择模块
商品选购系统主要是通过按键来进行操作的,键盘输入装置在人机交互中占有非常重要的作用,而且由于其制造价格低廉、制作结构比较简单,使用起来比较方便等一些原因,使按键操作方式广泛的运用于单片机的应用系统之中。
根据按键的接口不同的原理可以将按键分为两个大类:
编码键盘、非编码键盘。
其中识别键符是它们的主要区别之处,也就是其各自对应的键码。
代码键盘主要是用来实现对按键的识别,非编码键盘是根据软件的方式来完成对键盘的定义以及对键盘的识别。
如图3-5所示:
图3-5货物选择系统图
3.6出货退