毕业设计自动销售机论文.docx
《毕业设计自动销售机论文.docx》由会员分享,可在线阅读,更多相关《毕业设计自动销售机论文.docx(68页珍藏版)》请在冰豆网上搜索。
毕业设计自动销售机论文
编号:
毕业设计说明书
题目:
基于单片机的自动售
货机控制程序设计
学院:
机电工程学院
专业:
机械设计制造及其自动化
学生姓名:
卢泉
学号:
0801120830
指导教师:
张保忠
职称:
高级工程师
✓√√√√√√
题目类型:
理论研究实验研究√工程设计工程技术研究软件开发
年月日
摘要
自动售货机是劳动密集型的产业结构向技术密集型社会转变的产物。
其诞生和发展,充分地体现了当代科学技术正在向着高度智能化、网络化的方向发展。
作为整个自动售货机系统的核心,主控制系统主要负责协调各种外部设备的工作,以实现各个外设的功能最大化,完成销售过程。
自动售货机作为自助服务领域中的一员,早已被国内外该领域的厂商所研究,并且得到了广泛的应用。
为了适应市场的发展和客户的需求,需要开发一套功能更加完善、更加人性化及扩展性能更强的自动售货机控制系统。
本文设计的是一种以MCS系列单片机中的89C52作为中央控制器的自动售货机系统控制装置。
主要介绍了自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。
本系统以89C52单片机芯片作为核心,采用集中控制方式以实现对自动售货机全过程的自动控制。
本系统以6个独立按键作为购物选择端,采用7个LED作为出货提示和退币提示,采用LCD1602作为投币显示端,用光电传感器模拟货币识别和检测投币数,采用H桥电路作为电机驱动电路,实现了货物掉出、投币显示以及出货退币提示等功能。
另外,本系统程序将采用KEIL软件进行编写和编译,该软件具有编程简单、查错方便、阅读容易等特点。
C语言是最常用的单片机编程语言,具有容易理解,便于记忆和使用等特点。
关键词:
自动售货机;控制系统;89C52单片机;LCD1602;H桥电路
Abstract
Thevendingmachineislabor-intensiveindustrialstructure,productoftransitiontotechnology-intensivesociety.Becauseofthedevelopmentinscienceandtechnology,thevendingmachineisbecomingmoreintelligentandhumanizedgradually.Asamulti-functionalmachine,vendingmachineismadeupofagreatmanyofmodules.Inordertorealizethesaleprocedure,thecontrollermustworksasacommanderinreasonableandoptimizedprocessestomakesureallthosemodulesfunctionharmoniously,whichmakesthecontrollerthemostimportantpartofthewholeintelligentmachine.Thevendingmachineasamemberofself-serviceareas,themanufacturersofthefieldathomeandabroadtostudy,andhasbeenwidelyused.Inordertoadapttomarketdevelopmentsandcustomerneeds,itisnecessarytodevelopamorecomplete,morehumaneandexpandthevendingmachinecontrolsystemformoreperformance.Designedinthispaperisan89C52microcontrollerofMCSasthecentralcontrollerofthevendingmachineunitcontrolsystem.Thevendingmachinesystemdesign,hardwareselection,softwareplanningandpreparation,andfocuseddescriptionofthevendingmachinesystemworks,systemdesign,softwareprogrammingprinciplesandtechniques.Thesystemtothe89C52chipasthecore,theuseofcentralizedcontrolinordertoachieveautomaticcontrolofthewholeprocessofthevendingmachine.Choicesideofthesystemtosixindependentkeysasshopping,usingsevenLEDsastheshiptipsandcointips,usingtheLCD1602displaysideasacoin,currencyrecognitionusingphotoelectricsensorsimulationandtestingcoinnumber,usingtheH-bridgecircuitasmotordrivecircuit,andthegoodsfallout,coinshowsandcointips.Inaddition,thesystemprogramusingKEILsoftwaretowriteandcompilethesoftwarehasasimpleprogramming,troubleshooting,easytoread.TheClanguageisthemostcommonlyusedmicrocontrollerprogramminglanguage,easytounderstand,easytorememberandusecharacteristics.
Keywords:
Vendingmachines;controlsystem;89C52microcontroller;LCD1602;Hbridgecircuit
引言
自动售货机就是能够根据顾客投入的钱币来自动付货的机器。
自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。
它是一种全新的商业零售形式,又被称为24小时营业的微型超市。
自动售货机大概可以分为三大类:
饮料自动售货机、食品自动售货机、综合自动售货机。
据记载,希腊人希罗在公元1世纪就制造出了出售圣水的自动装置,据称是世界上最早的自动售货机。
1925年美国研制出了出售香烟的自动售货机,此后又陆续出现了出售邮票、车票等的各种自动售货机。
现代自动售货机的种类、结构和功能依出售的物品而异,主要分为食品、香烟、邮票、车票、日用品等自动售货机。
一般的自动售货机由钱币装置、指示装置、贮藏售货装置等组成。
钱币装置是售货机的核心,其主要功能是确认投入钱币的真伪,分辨钱币的种类,计算金额。
如果投入的金额达到购买物品的数值即发出售货信号,并找出余钱。
指示装置用以指示顾客所选商品的种类。
贮藏售货装置用来保存商品,接收出售指示信号,把顾客选择的商品送至付货口。
一般售货机的钱币装置由投币口、选别装置、确认钱币真伪的检查装置、计算金额的计算装置和找钱装置等组成。
20世纪70年代以来,出现了采用微型计算机控制的各种新型自动售货机和利用信用卡代替钱币并与计算机连接的更大规模的无人售货系统,如无人自选商场、车站的自动售票和检票系统、银行的现金自动支付机等。
自动售货机是一种全新的商业零售形式,上个世纪70年代开始在日本和欧美发展起来。
它又被称为24小时营业的微型超市。
在日本,70%的罐装饮料是通过自动售货机售出的。
据统计,在日本全国各地,共设有550万台自动售货机,年销售额达6兆8969亿4887万日元,为世界第一。
消费者只要在售货机的控制面板上进行操作,输入商品号码和购买数量,并投入钱币后,商品就会从取货口出来,甚至在食品自动售货机上还能买到热呼呼的面条和米饭团。
虽然日本的自动售货机总台数远低于美国(689万台),但是人均占有数却是全世界最高的,美国平均35人占有一台,而日本为23人占有一台。
尽管早在17世纪,英国的小酒吧里就出现了香烟自动售货机,然而首先开发出实用型自动售货机的国家却是日本。
日本第一台自动售货机是在1904年问世的“邮票明信片自动出售机”,它是集邮票明信片的出售和邮筒投函为一体的机器。
自动售货机的真正普及是在第二次世界大战之后。
50年代,“喷水型果汁自动售货机”大受欢迎,果汁被注入到纸杯里出售。
后来,由于美国的饮料大公司进入日本市场,1962年,出现了以自动售货机为主体的流通领域的革命。
1967年,100日元单位以下的货币全部改为硬币,进一步促进了自动售货机产业的发展。
现在,自动售货机产业正在走向信息化并进一步实现合理化。
例如实行联机方式,通过电话线路将自动售货机内的库存信息及时地传送到各营业点的电脑中,从而确保了商品的发送、补充以及商品选定的顺利进行。
并且,为了保护环境,减少温室气体的排放,自动售货机的开发将致力于能源的节省,节能型清凉饮料自动售货机已成为该行业的主流。
在夏季用电高峰时,这种新型的自动售货机即使在关掉冷却器的状况下也能保持低温,与以往的自动售货机相比,它能够节约10-15%的电力。
进入到21世纪,自动售货机进一步向节省资源和能源以及多功能化,高性价比的方向发展。
从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。
大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必然的机器便应运而生了。
自动售货机从广义上来讲就是投入硬币、纸币或使用信用卡后便可以出售商品的机器,从狭义上来讲就是自动销售商品的机器。
从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,更有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等优点。
以单片机为核心的自动售货机,集按键选择技术、单片机技术和显示技术于一体,具有功能强大、可靠性高、使用方便、维护简单,性价比高等特点。
因此,在商业、生活中得到了广泛的应用。
有些自动售货机不仅能够自动识别1元、5角的硬币,而且能够自动识别20元、10元、5元纸币,还会自动找零,而人机对话的应用性提高将会使自动售货机在国内大面积普及成为可能。
随着科技的发展及人们生活水平的提高,自动售货机市场的发展越来越呈现出多元化及个性化的需求。
通过自动售货机进行自助购物正逐渐成为市民的一种新的消费时尚,快捷方便的购物方式满足了人们在当今科技高速发展的社会追求高品质生活的需要。
自动售货机在城市商业区、写字楼大厅、风景区、车站、码头、繁华街道等公共场所的布设不仅能够美化亮化城市环境,而且还方便了公众生活,成为城市各角落的一道亮丽风景线。
随着技术的不断革新和市场的发展,自动售货机必将在国内得到广泛的普及,并将成为城市现代文明程度的一种象征性标志。
本文详细介绍了基于单片机控制的自动售货机系统的方案设计、硬件选择、电子电路的设计和制作、软件规划和编写、系统仿真和模型制作,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。
本文共分为五章。
系统介绍了自动售货机系统从控制方案,操作逻辑到系统软件等各个环节的设计及系统调试的方法和原则。
第一章简单介绍了自动售货机系统的结构,第二章介绍了自动售货机控制系统的硬件电路设计,第三章介绍了自动售货机系统的软件程序设计及说明,第四章介绍了自动售货机控制系统的设计仿真,第五章是概括、总结。
1自动售货机系统的结构
1.1自动售货机的系统概述
自动售货机是集光、机、电一体化的独立机构,它只需要顾客投币并按购物键选择即可自动出售货物及退还零钱,其工作流程如下图1.1所示
顾客投入货币
机器自动计数
顾客按动按钮
机器送出选定商品
顾客取出商品
机器将零钱送出
顾客取出零钱
图1.1自动售货机工作流程图
自动售货机的工作原理:
(1)当投币口有货币投入时,传感器采集数据,识别器判断货币的真伪并判断面值。
(2)识别器把信息数据传给通信模块。
(3)通信模块与售货机的主控系统通信,主控系统显示面值,启动售货机的面板键,显示出哪个商品有货,哪个商品已经售完,并等待顾客按键选择商品。
(4)顾客选择商品后,售货机自动把商品送出,等待顾客取走。
(5)显示余额,如果金额足够多,顾客可以继续购买商品或选择退币;如果
金额不够,售货机经过延时后予以退币。
退币分为两种情况:
一种是由货币识别器完成退纸币,另一种是由硬币的通信模块完成退硬币。
(6)完成售货,系统复位。
自动售货机的硬件结构示意图如下图1.2所示
无货检测
货币识别器
按钮
购货状态显示
金额显示
继电器&电磁铁
串行输出接口扩展
并行输出接口扩展
CPU&ROM&RAM
自动复位线路
并行输入接口扩展
图1.2自动售货机硬件结构图
综上所述,自动售货机系统可以分为四部分,即自动售货机的控制子系统、通信子系统、硬币识别器子系统以及纸币识别器子系统。
其中控制子系统是本设计的研究重点。
以上内容将会在下文中作进一步的介绍。
1.1.1自动售货机的控制子系统简介
控制子系统主要由五部分组成,分别是自动售货机预设系统,金额累计、可售指示和退币系统,售完检测系统,出货控制系统,售出累计及自测功能系统。
(1)自动售货机预设系统。
自动售货机可以出售多种商品,有同类的,也有非同类的,其售前需预先设定单价并寄存在控制系统内。
售货机的价格设置由按键和存储器组成。
通过按键可以选择需要预设价格的商品种类及价格,并将价格写入存储器中,该存储器本身应具有掉电保护功能,以上属于软件设置方式。
此外,在简单的自动售货机中,由于出售商品的种类少,价格变化不大,使用币种单一,因此也可以使用硬件实现价格设置,采用拨码开关设置的方式,不仅结构简单,而且操作方便。
(2)金额累计、可售指示和退币系统。
控制系统的核心CPU对货币识别、退币、无货检验及购货等信号进行循环检测,当检测到投币信号后,将金额数值送入存储器中进行累计,并通过串行接口控制可售指示灯亮,提示可购物。
此时顾客可以按下购物选择键,当CPU检测到购物信号后,若存储器的金额数值与预设价格相等,则通过并行扩展接口驱动电磁阀或微型电机送出商品,并将金额数值存储器清零,完成一次售货过程;若累计金额大于预设价格,则送出商品后,想减后的差额由退币信号驱动退币机构,实现退币找零功能;若累计金额小于预设价格,则发出报警信号或者直接退币。
(3)售完检测系统。
在自动售货机的商品存储通道下方安装有接触行程开关,当存储通道有商品时,压下行程开关,自动售货机正常工作;当商品售完后,行程开关被释放,向CPU发出无货信号,经过检测通过串行扩展接口向相应的售完指示灯发出信号,点亮机身上的售完指示灯,此种商品将会自动停售,即使投币金额达到该商品的预设价格数值,可售按钮仍然无法启动信号,金额累计存储器也不会清零。
(4)出货控制系统。
当检测到CPU发出的可送出商品的信号时,出货控制系统将通过继电器或电磁铁启动电机以送出商品,并且可以根据接收到的不同信号,送出顾客所需要的商品数量,一件、两件或多件。
送出商品后系统将自动复位,等待下一次出货信号。
(5)自动售货机售出累计及自测功能系统。
CPU在每次售出商品后,都会向售出累加存储器发送信号以累计售出数量,而且通过自动售货机内部的按键可在金额显示窗口中读取累计结果。
另外,当按下自测功能键时,将发出自测功能信号,通过外部按键操作,可检测各种商品的存储通道中商品的数量,并输出到显示窗口中。
1.1.2自动售货机的通讯子系统简介
自动售货机系统的外围设备越来越复杂,导致对主控制器的要求也越来越高。
因此,为了简化设计,采用简单、稳定的内部通讯总线协议是非常必要的。
目前,有些公司采用的是欧洲售货机制造协会(EVMMA)制定的MDB/ICP总线协议。
该协议简洁明了,功能强大,可扩展性强并且对外挂设备数目没有限制,是理想的自动售货机系统内部总线协议。
MDB/ICP协议是欧洲售货机制造协会为了协调自动售货机的主控制器(MMC)与多个外部设备之间的通讯而制定的。
MDB接口实际上是工作于波特率9600的主从型串行总线接口,因此外围设备(如硬币识别器、纸币识别器等)均为主控制器(传统上称为售货机控制器--VMC)的从机。
所有外围设备与主控制器之间的通讯方式都是一致的。
MDB协议的串行位格式为:
1个起始位,8个数据位,1个方式选择位以及1个停止位,总共11位。
其中,方式选择位可根据传递方式的不同置0或1。
在MDB总线上,VMC通过广播方式向外发送命令。
第一字节为地址字节(实际上只有高5位是寻址信息,低3位是对外设的命令),该字节被所有的外设读取,但只有符号地址字节所指定的外设才处理其后的数据字节,并做出反应。
在VMC到外设的数据中,地址字节的方式选择位被置1,数据字节的方式选择位被置0,外设通过检验接收到的方式选择位确定是地址指令还是数据指令。
当数据从外设发送到主机时,最后送出的字节方式选择位被置1,标志着数据发送完毕。
VMC向外部设备发送的指令由一个字节、一些可选的数据字节和一个校验字节构成。
发送指令后,外设应答VMC的通信块可以由一个数据块和一个字节(应答字节或者无应答字节)组成。
如果没有外设应答数据块,VMC将通过一个应答字节、无应答字节或重发字节应答外设传回的数据。
1.2自动售货机的功能简介
1.2.1本课题设计的自动售货机的功能简介
基本原理:
货币识别器对顾客所投货币进行识别,然后根据金额数值将购物选择权交给顾客,顾客选择后,中央控制器发出指令,控制出货系统将所选的商品从存储通道中送到出货口,并且点亮相应的出货和找零指示灯。
其功能简述:
商品种类一共设有2种,单价分别为0.1元、1元,分别对应2个不同的选择按键。
投币数值及货币累加通过LCD1602输出。
如果顾客累计投入的货币数超过其购物所需的金额总数,那么系统将自动找零(通过点亮相应的LED指示灯来模拟);如果顾客投入的货币数没有达到其购物所需的金额数,那么其投入的钱将全部退还(相应的模拟指示灯将被点亮)。
另外,顾客还可以选择一次购买多件商品,在本设计中设置了可以同时购买2件或3件的选择按键。
本课题设计的自动售货机系统共有6个购物选择按键,其中2个是商品选择键,有2个是多选键(一次购买2件或3件商品),还有1个确定键和1个取消键。
如果顾客的按键选择操作不符合系统预先设计好的流程顺序,那么自动售货机系统将会自动复位,等待下一次正确的按键选择操作,并且将投入的货币退出。
自动售货机控制系统的原理框图如下图1.3所示
MCU
出货提示
货币识别系统
P3.3-P3.4P0.0-P0.1
退币提示
P0.3-P0.6
LCD显示
购物选择键
P1.0-P1.5P2
P2
电机驱动
PP3.6-P3.7
图1.3自动售货机系统的原理框图
1.2.2实现自动售货机功能的设计思路
使用89C52芯片作为中央控制元件,定义P3.3-P3.4口为货币识别输入端,P1.0-P1.5口为购物选择输入端(采用独立式按键作为选择按键),P0.0-P0.6口作为出货提示和退币提示输出端,P2口控制LCD输出显示投币数,P3.6-P3.7为电机控制电路的输入端,驱动电机将商品送到出货口。
2自动售货机控制系统的硬件电路设计
2.1自动售货机中央控制元件
经过查阅相关的电子元器件知识和市场调查,本文设计的自动售货机将采用MCS-51系列单片机中的89C52作为中央控制元件,其内部结构如下图2.1所示:
外时钟源外部事件计数
2x16位定时器/计数器
数据存储器
256BRAM/SFR
程序存储器
8KBROM
振荡器和时序
OSC
89C52
CPU
可编程全双工串行口
可编程I/O
64KB总线
扩展控制线
内中断
外中断控制并行口串行通信
图2.189C52内部结构图
2.1.1中央控制元件89C52的简介
89C52是INTEL公司MCS-51系列单片机中的基本产品,它是采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。
它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。
89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)、4组共32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
另外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU,由RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。
本文设计的自动售货机系统使用的是40Pin封装的双列直插型。
2.1.2中央控制元件89C52的引脚说明
89C52的引脚分布如下图2.2所示
图2.289C52引脚图
VCC:
接+5V供电电压。
VSS:
接地。
P0口:
P0口是一个8位漏级开路的双向I/O口,每个管脚可吸收8TTL门电流。
当P0口的管脚第一次写“1”时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
当FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收或输出4个TTL门电流。
P1口管脚写入“1”后,其管脚被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口是一个内部提供上拉电阻的8位双向I/O口,P2口缓冲器可接收或输出4个TTL门电流。
当P2口被写“1”时,其管脚被内部上拉电阻拉高,可作为输入。
P2口管脚被外部拉低时,将输出电流,这是由于内部上拉的缘故。