完整word版基于单片机的自动售货机.docx

上传人:b****3 文档编号:4225723 上传时间:2022-11-28 格式:DOCX 页数:41 大小:696.84KB
下载 相关 举报
完整word版基于单片机的自动售货机.docx_第1页
第1页 / 共41页
完整word版基于单片机的自动售货机.docx_第2页
第2页 / 共41页
完整word版基于单片机的自动售货机.docx_第3页
第3页 / 共41页
完整word版基于单片机的自动售货机.docx_第4页
第4页 / 共41页
完整word版基于单片机的自动售货机.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

完整word版基于单片机的自动售货机.docx

《完整word版基于单片机的自动售货机.docx》由会员分享,可在线阅读,更多相关《完整word版基于单片机的自动售货机.docx(41页珍藏版)》请在冰豆网上搜索。

完整word版基于单片机的自动售货机.docx

完整word版基于单片机的自动售货机

摘要

自动售货机是自动化技术在人们生活中的重要应用。

随着人们生活质量的不断提高,对自动售货机的性能要求越来越高。

自动售货机的主要功能是通过人机对话的形式完成自动售货这一过程。

本文设计了一款以INTEL公司出品的80C51单片机为核心的自动售货机,并且着重详细地介绍了自动售货机的整体系统设计方案、硬件选择基础、软件使用方法及技巧。

以80C51作为CPU处理单元连接各个功能模块;以4*4矩阵键盘作为输入控制模块对货物进行种类和数量的选择以及模拟货币的投入功能;以LCD1602液晶作为显示模块来显示当前的购物状态以及货币状态;以LED的显示来表示当前选择货物以及出货的状态。

通过Protues7.5单片机电路原理图进行连接布线连接各个模块;再用KeiluVision3专业编译软件完成源程序编译和调试,最终进行自动售货机的实验电路仿真来模拟自动售货。

结合工作原理、系统设计、软件编译和实验仿真来实现自动售货这一相关功能。

 

关键词自动售货机,80C51单片机,编译仿真

ABSTRACT

Theautomaticallyvendingmachineisprovidedthethetheimportantapplicationsoftheautomationtechnologyinpeople'slives.Withthecontinuousimprovementofpeople'squalityoflife,theincreasinglyhighperformancerequirementsofvendingmachines.VendingmachinesThemainfunctionoftheformofman-machinedialoguevendingthisprocess.

ThedesignedaproducedbyIntel80C51microcontrollerasthecorevendingmachines,andemphasizesthedetaileddescriptionoftheoverallsystemdesignofthevendingmachines,hardwareoptions,softwareandtheuseofmethodsandtechniques.As80C51CPUprocessingunitconnectedtothevariousfunctionalmodules;4*4matrixkeyboardasaninputcontrolmoduleofgoods,thechoiceofthetypeandnumberofinputandanalogcurrency;LCD1602LCDasthedisplaymoduletodisplaythecurrentstateofshoppingaswellascurrencystate;LEDdisplayindicatesthecurrentselectionofgoodsandshipmentstatus.BytheProtues7.5microcontrollercircuitdiagramconnectingwiringeachmodule;completesourcecodetocompileanddebugthentheKeiluVision3professionalcompilersoftware,eventuallyvendingmachineexperimentcircuitsimulationtosimulatetheautomaticvending.Combinedwiththeworkingprinciple,systemdesign,softwarecompilerandexperimentalsimulationtoachieveautomaticvendingrelatedfunctions.

 

Keywordsautomaticvendingmachine,80C51MCU,compiledsimulation

 

1绪论

1.1课题的研究背景及意义

如今,在全世界范围内自动售货机方式多样灵活,例如实行联机方式,通过电话网络线路将自动售货机内的库存信息及时地传送各营业点的电脑中,目的就是为了保证自动售货机中的商品推送、商品选的定补充能够更加精确地进行。

此外,自动售货机的开发从能源的节省的角度出发,生产制造了更加合理化的节能型饮料自动售货机。

例如在夏季电力消费高峰期,这种机型的自动售货机能自动保持低温而不是靠打开冷却器来维持,与以往的老式自动售货机相比更加凸显了它的特点,它能够在达到相同的效果下节约更多的电力。

这些充分说明了该行业为了自动售货机走向信息化并进一步实现合理化所作出的不懈努力。

进入21世纪后,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。

面对当前快速商品社会的环境,人们的时间观念越来越重,如何才能更快地购买到顾客自己所需的商品,这都是顾客和商家共同面临的问题。

随着科技的发展及人们生活水平的显著提高,自动售货机市场的发展越来越呈现出多元化及个性化的需求。

通过自动售货机进行自助购物正逐渐成为市民的一种新的消费时尚。

同时,这种快捷方便的购物方式也满足了人们在当今科技高速发展的现代社会追求高品质生活的需要。

自动售货机在人群几种的区域如城市商业区、风景区、写字楼大厅、车站、码头、繁华街道等公共场所的布设能够美化亮化城市环境,方便群众生活,已经成为城市各角落的一道亮丽风景线。

自动售货机已在国内普及,并成为城市现代文明程度的一种象征性标志。

自动售货机作为自动化商业机械的代表被广泛应用于公共场所,它是我国生产技术机械化、智能化和自动化的体现。

从广义来讲是投入硬币、纸币、信用卡等后便可以销售商品的机械,从狭义来讲就是自动销售商品的机械。

从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。

自动售货机的诞生完善了市政的建设,符合现代化建设的需要,提高了经济活动效率,节约劳动力,把有限的人力物力集中到其他资源上。

1.2国内外现状及发展趋势

在我国国内,自动售货机在所谓的掀起了“第三次零售业革命”后已经成为了一个跻身于超市和百货商店之上的具有非常广阔的前景的新兴行业。

从形式上的更新到内容上的丰富都带来了很大突破。

因为受地域影响小,自动售货机售卖的商品种类可以根据不同的地区来具体供应,包括各种饮料、零食、电子产品、计生用品等都可以作为其销售的对象。

并且,从这种智能自动销售系统中,我们可以很精确的读取货物库存、商品销量、物流详情等信息。

让管理、销售人员更轻松地开展具体工作。

此外,与老式的人为销售相比,自动售货机可以支持多种电子支付模式,比如用信用卡支付就能更方便地进行较大金额的交易支付、结算。

在20世纪初,通过手机、英特网购物的消费方式在国内开始相继出现,因为这种需求的诞生,国内的相关公司已着手研制出此种类型的自动售货机。

这样的新兴自动售货机在方便顾客消费购物的同时也充当着广告传播的新型媒介。

相较于中国,国外的自动售货机行业发展比较成熟和发达。

例如从自动售货机的机型上来说,在日本国内就已经达到了2000多种。

而且所售的商品种类已经高达6000多种。

更是在由于无所不在的自动售货机为人们提供了24小时的服务而特别受欢迎。

而在比较发达的美国,光是提供自动售货机服务的运营商就多达10800家,并且在与各大饮料、食品公司的合作基础上积累了想当多的经验。

在英国,为了更具针对性解决投币的麻烦,一些信用机构和某些银行还量身制定了一种自动售货机卡,在购货的时候,用刷卡代替传统的投币从而能更方便快捷地进行购物。

到2002年,占全国人口的20%以上的英国人都开通了这种自动售货机卡。

自动售货机在国内外的受欢迎程度已经达到一个高度。

自动售货机在城市商业区、写字楼大厅、风景区、车站、码头、繁华街道等公共场所的布设能够美化亮化城市环境,方便群众生活,已经成为城市各角落的一道亮丽风景线。

自动售货机已在国内普及,并成为城市现代文明程度的一种象征性标志。

随着经济发展,传统的固定地点人员售货方式暴露出许多弊端:

人力资源需求大;受所需服务地点,地理条件的限制;而且在服务时间上不能最大限度的服务于消费者。

相信随着社会的发展,人们对于生活高效性的重实也会逐渐提高,自动售货机也会受到更多人的关注和喜爱。

现在,自动售货机产业正走向信息化并进一步实现合理化。

自动售货机的出现解决了这些难题,自动售货机必然朝着操作简单化、监控管理智能化、功耗节能化和性能多样化方面发展。

1.3本课题研究的主要内容

本课题研究的是通过核心单片机80C51控制的自动售货机。

涉及到用keilUvision3来进行C语言程序的编译调试,通过protues7.5电路连接来设计系统电路。

通过80C51与输入模块、输出显示模块、找零模块、显示模块的连接来系统模拟自动售货这一功能。

设计从能根据投入的钱币自动售货的机器。

用4*4矩阵键盘来模拟货物种类以及数量的选择,再通过键盘其他按键来模拟投币功能。

用LCD1602作为输出显示模块,通过液晶显示来明确按键的功能以及自动售货机的购货状态等。

用LED灯来表示货物的种类。

因为货币识别功能是在自动售货机的外部硬件电路方面来加以具体实施的,而本设计是模拟自动售货机的功能,所以不考虑货币识别的模块设计,在这里只作原理介绍。

2自动售货机的系统结构

2.1自动售货机的系统概述

2.1.1自动售货机的系统结构

自动售货机是集光、机、电一体化的自动售货装置,能够独立完成自动售货这一功能。

自动售货机的工作原理是:

在初始化的界面等待顾客按键选择货物的种类和数量顾客投入货币,按下确定购买键后等待售货机自动计算所购商品的总价,然后提示顾客投入货币。

所投的货币经过外部硬件检测传感器检测真假后累加计数。

若顾客确认购买系统则跳转到下一步骤,反之取消购买即退出货币返回到主界面,等待顾客下一步操作。

自动售货机通过货币的总价与和所购商品的总价的差值来进行出货找零。

总体工作原理如图2.1:

图2.1自动售货机的总体工作原理图

2.1.2自动售货机的控制子系统概述

自动售货机的控制子系统由以下几个部分组成,分别是预设自动售货系统、金额累加和找零系统、售完检测系统、售出累计及反馈功能系统。

1 预设自动售货机系统:

自动售货机出售的商品可分为若干个品种,在其售前设定价格时必须预先寄存在控制系统内。

设定的方式原理:

商品的价格设置由按键和存储器组成,通过按键选择被设价商品的种类及价格,并将设定的价格写入存储器中,存储器本身需具有断电保护记忆功能,此为采用软件。

此外,如果在自动售货机中,在出售商品的种类少,价格变化小,使用币种单一的情况下,也可以用比较简单的价格设定方法----硬件设置,即采用拨码开关对应的方式设置。

2 金额累加和找零系统:

控制系统的核心CPU对识币、退币、无货检验及购货信号进行循环检查。

如果顾客投入货币,识币器检测到货币信号后,通过通信系统把识别的货币数值信号送入累计存储器器中进行累加计数。

要是货币数值满足购货需求则通过串行接口提示购货,售货机则通过并行扩展接口驱动电磁阀或者微电机驱动送出货物,同时存储器计数清零跳入到找零系统,自动售货完成。

如果货币数值不满足购货需求则提示顾客继续投币或者取消购货,取消购货后由售货机退出投入的货币返回初始化界面。

3 货物检测系统:

为了货物供应充足,把接触开关和行程开关安装在自动售货机货物存储存道的下方,当存储存道尚有货物时,行程开关保持闭合,CPU控制自动售货机正常售货。

货物供应不足的时候,行程开关自动断开,向CPU发出缺货信号,经过检测后发送到外部电机或者电磁阀来推动外部货物进入存储道达到自动添加货物的目的,以保持货源充足。

4 售出累计及反馈功能系统:

自动售货机的CPU在每次售出一种货物后,由通信系统向出货存储器中累计已经售出的数据,通过自动售货机内部控制的按键可以显示出累计数据以掌握销售情况。

此外,由外部按键操作在按下自测功能键后,出现自测功能信号,可以通过检测结果查看各个模块的功能情况,也可以检测自动售货机的货物存储道驱动功能。

2.2自动售货机的功能简介

2.2.1自动售货机的功能概述

基本原理:

通过矩阵键盘来选择货物的种类与数量过后自动售货机提示投币。

自动售货机的货币识别器对所投货币进行识别,根据金额大小然后将商品选择权通过LCD液晶显示给客户,客户按键选择后,CPU控制芯片发出指令将所选择商品从储备料道中送达取物口。

功能描述:

货物种类一共设有8种,这8种商品通过选择按键进行选择确认,通过数量选择按键确定购买数量,价格规定为1-8元不等;货币识别器能够识别1元硬币、1元纸币、5元纸币、10元纸币、20元纸币50元纸币以及100元纸币。

在规定的时间内,投了几次货币后,货币能够实现自动累加功能,这样设计会把投入的所有货币总额数目数据传递到中央控制元器件进行处理;在超过规定时间后投币口自动关闭,数据处理单元按照投币总数和购买的数量和价格乘积来进行加减运算累,实现购买和找币功能。

当投入的货币总值小于商品总金额时,则不能进行购货,投入的钱将全部退还。

本设计中有一共有16个按键选择,其中有两个是货物选择键,有两个是数量选择键,此外还有6个货币投入键1个确认键和1个取消键。

2.2.2自动售货机的设计思路

1 本设计以这样的工作流程开始自动售货机的自动售货过程:

1)启动系统,开始待机;

2)顾客通过按键选择商品的种类以及数量并确认;

3)售货机检查是否有足够的货物并通过LCD提示等待顾客投币;

4)顾客投入货币,售货机自动检测金额是否足够;

5)金额足够多,售货机将推出顾客选择的相应数量的商品,若金额不足则直接退还货币;

6)推出商品,售货机转入找零系统退出余币;

7)系统自动复位,完成售货;

2 系统采用硬件设计思路如图2.3:

1)采用单片机80C51作CPU;

2)采用P3.5口作为投币的输入端;

3)采用LCD1602液晶为显示模块:

4)采用4*4矩阵键盘连接P1口作为货物选择选择端;

5)采用P0口实现出货、找零功能;

图2.3自动售货机系统原理图

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种,价格为1、2、3、4、5、6、7、8元。

每一个价格代表一种商品且一经售出就由外部电机自动完成补货。

规定每次最多只能购买10个。

货物选择:

P1口的按键值为OX00的时候代表选择货物价格“price+”;

P1口的按键值为OX01的时候代表选择货物价格“price-”;

P1口的按键值为OX02的时候代表选择货物数量“num+”;

P1口的按键值为OX03的时候代表选择货物价格“num-”;

2)输出:

选择商品由P0口控制的相应LED指示灯:

选择商品1用P0.0控制D1LED灯亮;

选择商品2用P0.1控制D2LED灯亮;

选择商品3用P0.2控制D3LED灯亮;

选择商品4用P0.3控制D4LED灯亮;

选择商品5用P0.4控制D5LED灯亮;

选择商品6用P0.5控制D6LED灯亮;

选择商品7用P0.6控制D7LED灯亮;

选择商品8用P0.7控制D8LED灯亮;

3)显示:

本设计的显示端口由P2端口和P3.2(RS)、P3.3(RW)、P3.4(E)控制LCD1602液晶来显示购货状态,用P0口控制LED灯表示货物种类。

通过它可以显示购货的种类、数量、总价以及找零等。

3自动售货机的硬件设计

3.180C51的简介

3.1.180C51的基本概述

由INTEL公司出品的MCS-51系列的80C51其实用性非常高。

由于它是采用CHMOS的工艺技术制造,所以它是一款稳定性很高的高性能8位单片机,是HCMOS中的最基本的产品之一。

在制作工艺的程中不仅继承和扩展了先前单片机的指令系统和体系结构更是把HMOS的高速高密度的技术特点和CHMOS的低功耗特点相结合。

为了满足需求,在80C51内部置入CPU、RAM(128字节)、I/O(32个双向输入输出)、定时器/计数器(16位)、串行通信口、两级中断结构以及片内时钟震荡电路。

此外,它还可以通过选择空闲和掉电的方式用于低功耗模式来进行工作,空闲模式下保持串行口、中断系统、RAM和定时器正常工作而同时冻结CPU来保证其正常运行。

掉电模式下,自动保存RAM数据,时钟震荡停止、芯片的其他功能停止工作。

图3.180C51单片机内部基本结构

3.1.280C51的引脚功能介绍

图3.280C51的引脚图

80C51单片机的40个引脚大致可分为4类:

电源、时钟、控制和I/O引脚。

1 电源:

1)VCC-芯片电源,接+5V;

2)VSS-接地端。

2 时钟:

XTAL1、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、P1、P2、P3口,共32个引脚;P3口还具有第二功能——用于特殊信号输入输出和控制信号(属控制总线)P0口输入时需要接上拉电阻才能置1。

在每次使用单片机之前,我们都要使单片机复位,让CPU以及其他功能部件都处于一个确定的初始状态,以消除上一次用户的操作对本次用户操作的影响。

51的RST引脚是复位信号的输入端。

复位信号是高电平有效,持续时间要有24个时钟周期以上。

例如:

若MCS-51单片机的时钟频率为12MHz,则复位脉冲宽度至少应为2us。

通常,80C51的复位有自动上电复位和人工按纽复位两种

自动上电复位电路的工作原理是:

电容在通电的时候相当于短路情况,导致RST引脚上的电位为高电平,这样电容会因为电阻被充电,然后RST端逐渐降低电压直到变为低电平,从而使单片机开始正常工作。

由于自动售货机的功能需求,本次设计采用自动上电复位电路。

3.2LCD1602字符型液晶简介

3.2.1LCD1602的概述

LCD1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。

它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。

液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各类仪表和低功耗系统中得到广泛的应用。

根据显示内容可以分为字符型液晶,图形液晶。

根据显示容量又可以分为单行16字,2行16字,两行20字等等。

3.2.2LCD1602的硬件结构

图3.3LCD1602的基本结构图

引脚说明:

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脚背光负极。

3.2.3LCD1602的指令说明

1 LCD1602的初始化设置:

1)显示模式设置如表3.1所示:

表3.1显示模式设置

2)显示开/关及光标位置如表3.2所示:

表3.2显示开/关及光标位置

2 数据控制:

控制器内部设有一个数据地址指针,可以根据它来访问内部的全部字节。

1)数据指针设置如表3.3所示:

表3.3数据指针设置

2)读数据:

输入时RW、RS、E均等于H,输出D0-D7=数据

3)写数据:

输入时RW=L、RS=H、D0-D7=数据、E=高脉冲,输出无;

4)其他设置如表3.4所示:

表3.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:

忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙;

3.2.4LCD1602的基本时序操作

LCD1602的基本时序操作以及对应的状态和输入输出如表3.5所示:

表3.5基本时序操作及对应状态的

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

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1