基于单片机的自动售货机.docx
《基于单片机的自动售货机.docx》由会员分享,可在线阅读,更多相关《基于单片机的自动售货机.docx(47页珍藏版)》请在冰点文库上搜索。
![基于单片机的自动售货机.docx](https://file1.bingdoc.com/fileroot1/2023-5/29/fbd56d5e-1abb-46dc-ab01-59a863e6c0aa/fbd56d5e-1abb-46dc-ab01-59a863e6c0aa1.gif)
基于单片机的自动售货机
摘要
自动售货机是自动化技术在人们生活中的重要应用。
随着人们生活质量的不断提高,对自动售货机的性能要求愈来愈高。
自动售货机的要紧功能是通过人机对话的形式完成自动售货这一进程。
本文设计了一款以INTEL公司出品的80C51单片机为核心的自动售货机,而且着重详细地介绍了自动售货机的整体系统设计方案、硬件选择基础、软件利用方式及技术。
以80C51作为CPU处置单元连接各个功能模块;以4*4矩阵键盘作为输入操纵模块对货物进行种类和数量的选择和模拟货币的投入功能;以LCD1602液晶作为显示模块来显示当前的购物状态和货币状态;以LED的显示来表示当前选择货物和出货的状态。
通过单片机电路原理图进行连接布线连接各个模块;再用KeiluVision3专业编译软件完成源程序编译和调试,最终进行自动售货机的实验电路仿真来模拟自动售货。
结合工作原理、系统设计、软件编译和实验仿真来实现自动售货这一相关功能。
关键词自动售货机,80C51单片机,编译仿真
ABSTRACT
Theautomaticallyvendingmachineisprovidedthethetheimportantapplicationsoftheautomationtechnologyinpeople'slives.Withthecontinuousimprovementofpeople'squalityoflife,theincreasinglyhighperformancerequirementsofvendingmachines.VendingmachinesThemainfunctionoftheformofman-machinedialoguevendingthisprocess.
ThedesignedaproducedbyIntel80C51microcontrollerasthecorevendingmachines,andemphasizesthedetaileddescriptionoftheoverallsystemdesignofthevendingmachines,hardwareoptions,softwareandtheuseofmethodsandtechniques.As80C51CPUprocessingunitconnectedtothevariousfunctionalmodules;4*4matrixkeyboardasaninputcontrolmoduleofgoods,thechoiceofthetypeandnumberofinputandanalogcurrency;LCD1602LCDasthedisplaymoduletodisplaythecurrentstateofshoppingaswellascurrencystate;LEDdisplayindicatesthecurrentselectionofgoodsandshipmentstatus.Bythemicrocontrollercircuitdiagramconnectingwiringeachmodule;completesourcecodetocompileanddebugthentheKeiluVision3professionalcompilersoftware,eventuallyvendingmachineexperimentcircuitsimulationtosimulatetheautomaticvending.Combinedwiththeworkingprinciple,systemdesign,softwarecompilerandexperimentalsimulationtoachieveautomaticvendingrelatedfunctions.
Keywordsautomaticvendingmachine,80C51MCU,compiledsimulation
1绪论
课题的研究背景及意义
现在,在全世界范围内自动售货机方式多样灵活,例如实行联机方式,通过网络线路将自动售货机内的库存信息及时地传送各营业点的电脑中,目的确实是为了保证自动售货机中的商品推送、商品选的定补充能够加倍精准地进行。
另外,自动售货机的开发从能源的节省的角度动身,生产制造了加倍合理化的节能型饮料自动售货机。
例如在夏日电力消费顶峰期,这种机型的自动售货性能自动维持低温而不是靠打开冷却器来维持,与以往的老式自动售货机相较加倍凸显了它的特点,它能够在达到相同的成效下节约更多的电力。
这些充分说明了该行业为了自动售货机走向信息化并进一步实现合理化所作出的不懈尽力。
进入21世纪后,自动售货机也将进一步向节省资源和能源和高功能化的方向进展。
面对当前快速商品社会的环境,人们的时刻观念愈来愈重,如何才能更快地购买到顾客自己所需的商品,这都是顾客和商家一起面临的问题。
随着科技的进展及人们生活水平的显著提高,自动售货机市场的进展愈来愈呈现出多元化及个性化的需求。
通过自动售货机进行自助购物正慢慢成为市民的一种新的消费时尚。
同时,这种快捷方便的购物方式也知足了人们在现今科技高速进展的现代社会追求高品质生活的需要。
自动售货机在人群几种的区域如城市商业区、风光区、写字楼大厅、车站、码头、繁华街道等公开场合的布设能够美化亮化城市环境,方便群众生活,已经成为城市各角落的一道亮丽风光线。
自动售货机已在国内普及,并成为城市现代文明程度的一种象征性标志。
自动售货机作为自动化商业机械的代表被普遍应用于公开场合,它是我国生产技术机械化、智能化和自动化的表现。
从广义来讲是投入硬币、纸币、信誉卡等后即能够销售商品的机械,从狭义来讲确实是自动销售商品的机械。
从供给的条件看,自动售货性能够充分补充人力资源的不足,适应消费环境和消费模式的转变,24小时无人售货的系统能够更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,能够专门好地解决人工费用上升的问题等各项优势。
自动售货机的诞生完善了市政的建设,符合现代化建设的需要,提高了经济活动效率,节约劳动力,把有限的人力物力集中到其他资源上。
国内外现状及进展趋势
在我国国内,自动售货机在所谓的掀起了“第三次零售业革命”后已经成了一个跻身于超市和百货商店之上的具有超级广漠的前景的新兴行业。
从形式上的更新到内容上的丰硕都带来了专门大冲破。
因为受地域阻碍小,自动售货机售卖的商品种类能够依照不同的地域来具体供给,包括各类饮料、零食、电子产品、计生用品等都能够作为其销售的对象。
而且,从这种智能自动销售系统中,咱们能够很精准的读取货物库存、商品销量、物流详情等信息。
让治理、销售人员更轻松地开展具体工作。
另外,与老式的人为销售相较,自动售货性能够支持多种电子支付模式,比如用信誉卡支付就能够更方便地进行较大金额的交易支付、结算。
在20世纪初,通过电话、英特网购物的消费方式在国内开始接踵显现,因为这种需求的诞生,国内的相关公司已着手研制出此种类型的自动售货机。
如此的新兴自动售货机在方便顾客消费购物的同时也充当着广告传播的新型媒介。
相较于中国,国外的自动售货机行业进展比较成熟和发达。
例如从自动售货机的机型上来讲,在日本国内就已经达到了2000多种。
而且所售的商品种类已经高达6000多种。
更是在由于无所不在的自动售货机为人们提供了24小时的效劳而专门受欢迎。
而在比较发达的美国,光是提供自动售货机效劳的运营商就多达10800家,而且在与各大饮料、食物公司的合作基础上积存了想当多的体会。
在英国,为了更具针对性解决投币的麻烦,一些信誉机构和某些银行还量身制定了一种自动售货机卡,在购货的时候,用刷卡代替传统的投币从而能更方便快捷地进行购物。
到2002年,占全国人口的20%以上的英国人都开通了这种自动售货机卡。
自动售货机在国内外的受欢迎程度已经达到一个高度。
自动售货机在城市商业区、写字楼大厅、风光区、车站、码头、繁华街道等公开场合的布设能够美化亮化城市环境,方便群众生活,已经成为城市各角落的一道亮丽风光线。
自动售货机已在国内普及,并成为城市现代文明程度的一种象征性标志。
随着经济进展,传统的固定地址人员售货方式暴露出许多短处:
人力资源需求大;受所需效劳地址,地理条件的限制;而且在效劳时刻上不能最大限度的效劳于消费者。
相信随着社会的进展,人们关于生活高效性的重实也会慢慢提高,自动售货机也会受到更多人的关注和喜爱。
此刻,自动售货机产业正走向信息化并进一步实现合理化。
自动售货机的显现解决了这些难题,自动售货机必然朝着操作简单化、监控治理智能化、功耗节能化和性能多样化方面进展。
本课题研究的要紧内容
本课题研究的是通过核心单片机80C51操纵的自动售货机。
涉及到用keilUvision3来进行C语言程序的编译调试,通过电路连接来设计系统电路。
通过80C51与输入模块、输出显示模块、找零模块、显示模块的连接来系统模拟自动售货这一功能。
设计从能依照投入的钱币自动售货的机械。
用4*4矩阵键盘来模拟货物种类和数量的选择,再通过键盘其他按键来模拟投币功能。
用LCD1602作为输出显示模块,通过液晶显示来明确按键的功能和自动售货机的购货状态等。
用LED灯来表示货物的种类。
因为货币识别功能是在自动售货机的外部硬件电路方面来加以具体实施的,而本设计是模拟自动售货机的功能,因此不考虑货币识别的模块设计,在那个地址只作原理介绍。
2自动售货机的系统结构
自动售货机的系统概述
自动售货机的系统结构
自动售货机是集光、机、电一体化的自动售货装置,能够独立完成自动售货这一功能。
自动售货机的工作原理是:
在初始化的界面等待顾客按键选择货物的种类和数量顾客投入货币,按下确信购买键后等待售货机自动计算所购商品的总价,然后提示顾客投入货币。
所投的货币通过外部硬件检测传感器检测真假后累加计数。
假设顾客确认购买系统那么跳转到下一步骤,反之取消购买即退出货币返回到主界面,等待顾客下一步操作。
自动售货机通过货币的总价与和所购商品的总价的差值来进行出货找零。
整体工作原理如图:
图自动售货机的整体工作原理图
自动售货机的操纵子系统概述
自动售货机的操纵子系统由以下几个部份组成,别离是预设自动售货系统、金额累加和找零系统、售完检测系统、售出累计及反馈功能系统。
1 预设自动售货机系统:
自动售货机出售的商品可分为假设干个品种,在其售前设定价钱时必需预先寄放在操纵系统内。
设定的方式原理:
商品的价钱设置由按键和存储器组成,通过按键选择被设价商品的种类及价钱,并将设定的价钱写入存储器中,存储器本身需具有断电爱惜经历功能,此为采纳软件。
另外,若是在自动售货机中,在出售商品的种类少,价钱转变小,利用币种单一的情形下,也能够用比较简单的价钱设定方式----硬件设置,即采纳拨码开关对应的方式设置。
2 金额累加和找零系统:
操纵系统的核心CPU对识币、退币、无货查验及购货信号进行循环检查。
若是顾客投入货币,识币器检测到货币信号后,通过通信系统把识别的货币数值信号送入累计存储器器中进行累加计数。
若是货币数值知足购货需求那么通过串行接口提示购货,售货机那么通过并行扩展接口驱动电磁阀或微电机驱动送出货物,同时存储器计数清零跳入到找零系统,自动售货完成。
若是货币数值不知足购货需求那么提示顾客继续投币或取消购货,取消购货后由售货机退出投入的货币返回初始化界面。
3 货物检测系统:
为了货物供给充沛,把接触开关和行程开关安装在自动售货机货物存贮存道的下方,当存贮存道尚有货物时,行程开关维持闭合,CPU操纵自动售货机正常售货。
货物供给不足的时候,行程开关自动断开,向CPU发出缺货信号,通过检测后发送到外部电机或电磁阀来推动外部货物进入存储道达到自动添加货物的目的,以维持货源充沛。
4 售出累计及反馈功能系统:
自动售货机的CPU在每次售出一种货物后,由通信系统向出货存储器中累计已经售出的数据,通过自动售货机内部操纵的按键能够显示出累计数据以把握销售情形。
另外,由外部按键操作在按下自测功能键后,显现自测功能信号,能够通过检测结果查看各个模块的功能情形,也能够检测自动售货机的货物存储道驱动功能。
自动售货机的功能简介
自动售货机的功能概述
大体原理:
通过矩阵键盘来选择货物的种类与数量事后自动售货机提示投币。
自动售货机的货币识别器对所投货币进行识别,依照金额大小然后将商品选择权通过LCD液晶显示给客户,客户按键选择后,CPU操纵芯片发出指令将所选择商品从储蓄料道中送达取物口。
功能描述:
货物种类一共设有8种,这8种商品通过选择按键进行选择确认,通过数量选择按键确信购买数量,价钱规定为1-8元不等;货币识别器能够识别1元硬币、1元纸币、5元纸币、10元纸币、20元纸币50元纸币和100元纸币。
在规定的时刻内,投了几劣货币后,货币能够实现自动累加功能,如此设计会把投入的所有货币总额数量数据传递到中央操纵元器件进行处置;在超过规按时刻后投币口自动关闭,数据处置单元依照投币总数和购买的数量和价钱乘积来进行加减运算累,实现购买和找币功能。
当投入的货币总值小于商品总金额时,那么不能进行购货,投入的钱将全数退还。
本设计中有一共有16个按键选择,其中有两个是货物选择键,有两个是数量选择键,另外还有6个货币投入键1个确认键和1个取消键。
自动售货机的设计思路
1 本设计以如此的工作流程开始自动售货机的自动售货进程:
1)启动系统,开始待机;
2)顾客通过按键选择商品的种类和数量并确认;
3)售货机检查是不是有足够的货物并通过LCD提示等待顾客投币;
4)顾客投入货币,售货机自动检测金额是不是足够;
5)金额足够多,售货机将推出顾客选择的相应数量的商品,假设金额不足那么直接退还货币;
6)推出商品,售货机转入找零系统退出余币;
7)系统自动复位,完成售货;
2 系统采纳硬件设计思路如图:
1)采纳单片机80C51作CPU;
2)采纳口作为投币的输入端;
3)采纳LCD1602液晶为显示模块:
4)采纳4*4矩阵键盘连接P1口作为货物选择选择端;
5)采纳P0话柄现出货、找零功能;
图自动售货机系统原理图
3 硬件端口的选择思路:
1)输入:
由于本设计模拟输入功能是由4*4矩阵键盘来完成的,而键盘连接在80C51的P1口上,那么货币投入设定为:
P1口的按键值为0X04的时候代表1元货币的投入;
P1口的按键值为0X05的时候代表5元货币的投入;
P1口的按键值为0X06的时候代表10元货币的投入;
P1口的按键值为0X07的时候代表20元货币的投入;
P1口的按键值为0X08的时候代表50元货币的投入;
P1口的按键值为0X09的时候代表100元货币的投入;
P1口的按键值为0X0f的时候代表购物确信“OK”按钮;
P1口的按键值为0X0e的时候代表购物取消“NO”按钮;
本设计假定自动售货机的商品种类为8种,价钱为一、二、3、4、五、六、7、8元。
每一个价钱代表一种商品且一经售出就由外部电机自动完成补货。
规定每次最多只能购买10个。
货物选择:
P1口的按键值为OX00的时候代表选择货物价钱“price+”;
P1口的按键值为OX01的时候代表选择货物价钱“price-”;
P1口的按键值为OX02的时候代表选择货物数量“num+”;
P1口的按键值为OX03的时候代表选择货物价钱“num-”;
2)输出:
选择商品由P0口操纵的相应LED指示灯:
选择商品1用操纵D1LED灯亮;
选择商品2用操纵D2LED灯亮;
选择商品3用操纵D3LED灯亮;
选择商品4用操纵D4LED灯亮;
选择商品5用操纵D5LED灯亮;
选择商品6用操纵D6LED灯亮;
选择商品7用操纵D7LED灯亮;
选择商品8用操纵D8LED灯亮;
3)显示:
本设计的显示端口由P2端口和(RS)、(RW)、(E)操纵LCD1602液晶来显示购货状态,用P0口操纵LED灯表示货物种类。
通过它能够显示购货的种类、数量、总价和找零等。
3自动售货机的硬件设计
80C51的简介
80C51的大体概述
由INTEL公司出品的MCS-51系列的80C51其有效性超级高。
由于它是采纳CHMOS的工艺技术制造,因此它是一款稳固性很高的高性能8位单片机,是HCMOS中的最大体的产品之一。
在制作工艺的程中不仅继承和扩展了先前单片机的指令系统和体系结构更是把HMOS的高速高密度的技术特点和CHMOS的低功耗特点相结合。
为了知足需求,在80C51内部置入CPU、RAM(128字节)、I/O(32个双向输入输出)、按时器/计数器(16位)、串行通信口、两级中断结构和片内时钟震荡电路。
另外,它还能够通过选择空闲和掉电的方式用于低功耗模式来进行工作,空闲模式下维持串行口、中断系统、RAM和按时器正常工作而同时冻结CPU来保证其正常运行。
掉电模式下,自动保留RAM数据,时钟震荡停止、芯片的其他功能停止工作。
图80C51单片机内部大体结构
80C51的引脚功能介绍
图80C51的引脚图
80C51单片机的40个引脚大致可分为4类:
电源、时钟、操纵和I/O引脚。
1 电源:
1)VCC-芯片电源,接+5V;
2)VSS-接地端。
2 时钟:
XTAL一、XTAL2晶体振荡电路反相输入端和输出端。
3 操纵线:
操纵线共有4根:
1)ALE/PROG:
地址锁存许诺/片内EPROM编程脉冲
a.ALE功能用来锁存P0口送出的低8位地址;
b.PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
2)PSEN:
外ROM读选通信号。
3)RST/VPD(复位/备用电源):
a.RST(Reset)功能是复位信号输入端;
b.VPD功能是在Vcc掉电情形下,接备用电源。
4)EA/Vpp(内外ROM选择/片内EPROM编程电源):
a.EA功能:
内外ROM选择端;
b.Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
4 I/O线:
80C51共有4个8位并行I/O端口即P0、P一、P二、P3口,共32个引脚;P3口还具有第二功能——用于特殊信号输入输出和操纵信号(属操纵总线)P0口输入时需要接上拉电阻才能置1。
在每次利用单片机之前,咱们都要使单片机复位,让CPU和其他功能部件都处于一个确信的初始状态,以排除上一次用户的操作对本次用户操作的阻碍。
51的RST引脚是复位信号的输入端。
复位信号是高电平有效,持续时刻要有24个时钟周期以上。
例如:
假设MCS-51单片机的时钟频率为12MHz,那么复位脉冲宽度至少应为2us。
通常,80C51的复位有自动上电复位和人工按纽复位两种
自动上电复位电路的工作原理是:
电容在通电的时候相当于短路情形,致使RST引脚上的电位为高电平,如此电容会因为电阻被充电,然后RST端慢慢降低电压直到变成低电平,从而使单片机开始正常工作。
由于自动售货机的功能需求,本次设计采纳自动上电复位电路。
LCD1602字符型液晶简介
LCD1602的概述
LCD1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的型液晶模块。
它由假设干个5X7或5X11等字符位组成,每一个点阵字符位都能够显示一个字符,每位之间有一个点距的距离,每行之间也有距离,起到了字符间距和行间距的作用,正因为如此因此它不能专门好地显示图形(用自概念CGRAM,显示成效也不行)。
1602LCD是指显示的内容为16X2,即能够显示两行,每行16个字符液晶模块(显示字符和数字)。
市面上字符液晶大多数是基于HD44780液晶芯片的,操纵原理是完全相同的,因此基于HD44780写的操纵程序能够很方便地应用于市面上大部份的字符型液晶。
液晶显示器以其微功耗、体积小、显示内容丰硕、超薄轻巧的诸多优势,在各类仪表和低功耗系统中取得普遍的应用。
依照显示内容能够分为字符型液晶,图形液晶。
依照显示容量又能够分为单行16字,2行16字,两行20字等等。
LCD1602的硬件结构
图LCD1602的大体结构图
引脚说明:
LCD1602一样是16个引脚
第1脚:
VSS为接地电源。
第2脚:
VDD接5V正电源。
第3脚:
VEE为液晶显示器对照度调整端,通过连接电源正负来调剂对照度的强弱。
当连接电源正端时对照度最弱,反之连接负极那么最高。
对照度太高时会产生所谓的“鬼影”,在连接时能够通过接一个电位器来调整对照度。
第4脚:
RS为数据命令选择端,电平为H时选择数据寄放器、电平为L时选择指令寄放器。
第5脚:
RW为读写选择端,电平为H时进行读操作,电平为L时进行写操作。
第6脚:
E端为使能端,当E端由高电平跳变成低电平常,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15~16脚:
空脚或背灯电源,15脚背光正极,16脚背光负极。
LCD1602的指令说明
1 LCD1602的初始化设置:
1)显示模式设置如表所示:
表显示模式设置
2)显示开/关及光标位置如表所示:
表显示开/关及光标位置
2 数据操纵:
操纵器内部设有一个数据地址指针,能够依照它来访问内部的全数字节。
1)数据指针设置如表所示:
表数据指针设置
2)读数据:
输入时RW、RS、E均等于H,输出D0-D7=数据
3)写数据:
输入时RW=L、RS=H、D0-D7=数据、E=高脉冲,输出无;
4)其他设置如表所示:
表其他设置
3 LCD1602液晶模块的读写指令:
1)指令1:
清除显示,指令码为01H,清楚显示数据;
2)指令2:
光标返回到地址00H即光标复位;
3)指令3:
光标和显示位置设置,光标按方向移动,高/低电平右/左移,S:
屏幕上所有文字是不是左移或右移,高电平移动,低电平不移动;
4)指令4:
显示开关操纵D:
操纵整体的显示开与关,高电平表示开显示,低电平表示关显示。
C:
操纵光标的开与关,高电平表示有光标,低电平表示无光标B:
操纵光标是不是闪烁,高电平闪烁,低电平不闪烁;
5)指令5:
光标或显示移位S/C:
高电平常显示移动的文字,低电平常移动光标;
6)指令6:
功能设置命令DL:
高电平常为4位总线,低电平常为8位总线N:
低电平常为单行显示,高电平常为双行显示,F:
低电平常显示5X7的点阵字符,高电平常显示5X10的显示字符;
7)指令7:
字符发生器RAM地址设置;
8)指令8:
DDRAM地址设置;
9)指令9:
读忙信号和光标地址BF:
忙标志位,高电平表示忙,现在模块不能接收命令或数据,若是为低电平表示不忙;
LCD1602的大体时序操作
LCD1602的大体时序操作和对应的状态和输入输出如表所示:
表大体时序操作及对应状态的输入输出
LCD1602的读写时序操作如图、所示:
图读时序操作图
图写时序操作图
4*4矩阵键盘简介
4*4矩阵键盘的概述
4*4矩阵键盘又是4*4行列键盘,它是别离用4条I/O线作为行线和列线组成的键盘。
每一个键的位置设置在每条行线和列线在交叉处上,能够明白4*4矩阵键盘共有4*4=16个按键。
如此的设置能够有效地提高单片机I/O口的利用率,与独立式按键相较大大降