自动售货机的设计 毕业论文设计.docx

上传人:b****5 文档编号:3614564 上传时间:2022-11-24 格式:DOCX 页数:23 大小:790.58KB
下载 相关 举报
自动售货机的设计 毕业论文设计.docx_第1页
第1页 / 共23页
自动售货机的设计 毕业论文设计.docx_第2页
第2页 / 共23页
自动售货机的设计 毕业论文设计.docx_第3页
第3页 / 共23页
自动售货机的设计 毕业论文设计.docx_第4页
第4页 / 共23页
自动售货机的设计 毕业论文设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

自动售货机的设计 毕业论文设计.docx

《自动售货机的设计 毕业论文设计.docx》由会员分享,可在线阅读,更多相关《自动售货机的设计 毕业论文设计.docx(23页珍藏版)》请在冰豆网上搜索。

自动售货机的设计 毕业论文设计.docx

自动售货机的设计毕业论文设计

目录

一、设计概述-3-

二、设计背景-3-

三、设计要求-3-

四、设计意义-4-

五、报警器的工作原理-4-

六、LM324芯片-6-

七、电路组成及框图-7-

六、软件设计-10-

(一)开发工具-10-

(二)红外线传感器-10-

(三)系统的软件调试-11-

七、仿真调试-12-

(一)Proteus软件-12-

(二)Proteus设计与仿真-12-

(三)系统仿真调试-13-

(四)仿真结果分析-14-

谢辞-20-

参考文献-21-

附录-22-

 

毕业论文

 

题目自动售货机的设计

 

姓名

所在系别电子信息工程系

专业名称应用电子技术

班级名称08应电2班

学号

指导教师

日期2011年06月05日

自动售货机的设计

摘要:

随着科学技术的发展,很多设备向智能化、自动化方向发展,使得人们的生活更加便利。

自动饮料售货机就是一种可完成无人自动售饮料的商业自动化设备,它不受任何场地限制,方便快捷,可以每天24小时售饮料,在我国也越来越普及。

本文以单片机AT89S51芯片为核心,设计了一种自动饮料售货机,具有饮料选择、接受两种硬币等功能。

当1元、1.5元或2元饮料后,系统根据所投入的1元或0.5元硬币计算投币总额,看是否不足、正好或超出,并发出售出饮料信号和找零信号。

除了出售过程中的复位键外,系统还能自动复位,当售出饮料5秒后,系统自动复位,可以进行下一次交易。

此外,系统程序采用keil软件进行程序的编写和编译,该软件具有编程简单、查错方便、,阅读容易等特点。

汇编语言是程序的基本语言,句有容易理解,便于记忆和使用等特点。

而Proteus不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具,是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,

关键词:

自动饮料售货机;AT89S51;Proteus

 

DesignofVendingMachine

Abstract:

Withthedevelopmentofscienceandtechnology,manyequipmenttointelligent,automaticdirection,hasmadethelivesofthepeoplemoreconvenient.Automaticdrinksvendingmachineisacompleteabsenceofsoftdrinksvendingbusinessautomationequipment,itisnotsubjecttoanysiteconstraints,fastandconvenient,24hoursaday,drinksarebecomingmoreandmorepopularinmycountryaswell.Thisarticle89inasinglechipats51chipasthecore,hasdesignedawaytoautomaticallydrinksvendingmachine,haveabeveragechoices,accepttwocoins,andotherfunctions.Whenyouchoose$1.5or$2drinks,thesysteminaccordancewiththeinputof$1billionor0.5totalcoinsandseewhetherornotcalculatethecoinshortageorexcess,precisely,concurrentsellingbeveragessignalsandfindazerosignal.Inadditiontosellingtheresetbuttonintheprocess,thesystemisalsocapableofautomaticallyresetwhensolddrinksafter5seconds,thesystemautomaticallyreset,youcanperformthenexttransaction.Inaddition,thesystemproceduresusedtoconducttheproceedingsoftheKeilsoftware,prepareandcompilethesoftwarehasaprogrammablesimple,Error-checkingconveniencefeatures,andeasytoread.anemulatoristhebasiclanguage,sentenceproceduresareeasytounderstand,andeasytorememberanduse,andotherfeatures.NotonlyhavearatherProteusotherEDAtoolsoftwaresimulationfunction,butalsocanbesimulatedMicrocontrollerandperipheraldevices.Itiscurrentlythebestsimulationmicrocontroller,thetoolsandtheperipheraldevicesistheworld-famousEDAtools(simulationsoftware)fortheschematiclayout,codedebuggingtotheMicrocontrollerwithexternalcircuitsimulation,togetherwithaswitchtoPCBdesign,tothegenuineproductsfromconcepttoacompletedesign.Istheworld'ssolewillcircuitsimulationsoftware,PCBdesignsoftwareandvirtualmodelsimulationsoftware3kgofadesignplatform.

Keywords:

VendingMachine,AT89S51,Proteus

 

 

一、引言

现在自动饮料售货机产业正向信息化和合理化方向发展。

例如实现联机方式,通过电话线路将自动饮料售货机内的库存信息及时地传送各营业点的电脑中,从而确保了商品的发送、补充以及商品选定的顺利进行。

目前,为防止地球暖化,自动售货机的开发致力于能源的节省,节能型清凉饮料自动售货机成为该行业的主流。

在夏季电力消费高峰时,这种机型的自动售货机即使在关掉冷却器的状况下也能保持低温,与以往的自动售货机相比,它能够节约10-15%的电力。

进入21世纪时,自动售货机也将进一步向节省资源和能源以及高功

能化的方向发展。

本文设计了一种自动饮料售货机,它由AT89S51单片机、按键控制电路,LED显示电路,蜂鸣器电路、七段数码管显示电路组成,运用简单方便,还可根据顾客的需求扩展功能。

此系统能够实现两种饮料的选择,当顾客按下选择键,投入相应的硬币,售出一瓶顾客所选的饮料,同时还有蜂鸣器来提醒顾客,以免顾客多投入钱币。

本文用C语言进行软件设计,并用Proteus软件进行仿真,实践证明本文所设计电路达到预期要求。

二、自动饮料售货机的工作原理

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

主要有以下功能:

①用户将货币投入投币口,货币识别器对所投货币进行识别;

②控制器根据金额将商品可售卖信息通过选货按键指示灯提供给用户,由用户自主选择欲购买的商品;

③按下用户选择商品所对应的按键,控制器接收到按键所传递过来的信息,驱动相应部件,售出用户选择的商品到达取物口;

④如果还有足够的余额,则可继续购买。

在15秒之内,自动售货机将自动找出零币或用户旋转退币旋钮,退出零币。

⑤从退币口取出零币完成此次交易。

三、自动饮料售货机的方案选择

方案一:

利用数字电子技术中的门电路和D触发器进行自动饮料售货机的设计。

此方案实现简单,不涉及软件设计,但存在严重的竞争冒险现象,按钮按下时间不能太短,否则触发器不能及时翻转;也不能太长,否则输出容易出错。

________________________________________________________________________________________________________________________________,部功能原理框图和(即脉冲产生电路),其内___________________________________________________________________________________________________________方案二:

以单片机AT89S51芯片为核心进行自动饮料售货机的设计。

一般由AT89S51单片机、按键控制电路,LED显示电路,蜂鸣器电路、七段码显示电路组成(如图1所示)。

方案一中存在竞争冒险,按钮按下时间不能太长也不能太短,而方案二最大的好处是可靠性强,可以进行功能扩展,所以根据课题要求为了得到更好的

功能齐全的,所以本文采用方案二进行设计。

七段数码管显示

图1基于单片机的自动饮料售货机原理框图

四、系统硬件部分设计

(一)单片机的最小系统

单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成。

最小系统原理图如图2所示。

图2最小系统原理图

1、系统电源模块

如图3所示

U

图3系统电源模块

系统设计了一个外接电源供电电路,考虑到电压过大会烧坏单片机,这个电源电路采用小型直流稳压电源供电,输出的9V交流电源加入到电源电路中,通过LM7805稳压芯片的降压作用,提供工作所需的5V电源,最后经过三端稳压器LM7805稳压后再进行滤波,如此就能得到稳定的5V电压输出104pF陶瓷电容滤波是主要滤掉高频杂波而电解电容滤波主要滤掉的是低频杂波。

2、晶振电路

 

图4AT89S51晶振电路原理图

晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振提供的时钟频率越高,那单片机的运行速度也就越快。

它使单片机在唯一的时钟信号控制下,严格地按一定的节拍进行工作,或者说按一定的时序进行工作。

振荡器可由单片机内震荡电路外接振荡元件(如晶振)实现,构成内部时钟方式。

振荡器也可以是外振荡源,将其信号接单片机XTAL1脚,XTAL2脚悬空,则构成外部时钟方式,如图4所示。

3、复位电路

图5AT89S51复位电路原理图

单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。

复位操作有上电自动复位、按键复位等方式。

上电复位电路如图5所示,是通过外部复位电容充电来实现复位的。

上电瞬间,RST引脚的电位与Vcc相同,随着充电电流的减小,此引脚电位将逐渐下降。

RST引脚的高电平持续时间取决于电容的充电时间,应大于两个机器周期。

其中电阻的作用是对电路进行限流,电容可以对电路进行滤噪和去耦,减少电源电压波动的干扰和电路本身产生的噪声对电路其它部分的影响。

图中的电阻值,电容值为12MHz晶振时的常用值,分别是10K和10uF。

(二)按键控制电路

按键的功能:

饮料选择按键:

K2--雪碧(2元/瓶)、K5--矿泉水(1.5元/瓶)、K6--冰红茶罐(1元/罐)。

代替硬币按键:

K3--投入1元、K4--投入0.5元。

售出过程中复位键:

K1—复位(退币)。

按键与单片机连接如图6所示。

图6按键控制电路

(三)LED显示电路

各个灯亮代表的功能:

D5亮表示找回0.5元;

D6亮表示投入1元;

D7亮表示投入0.5元;

D8亮表示售出一瓶饮料。

显示灯与单片机连接如图7所示。

图7显示灯电路

(四)蜂鸣器电路

蜂鸣器是一种一体化结构的电子讯响器,它主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。

本系统采用的是电磁式蜂鸣器。

电磁式蜂鸣器有振荡器、电磁线圈、磁铁、振动膜片以及外壳等组成。

接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。

如图8所示,通过单片机I/O口周期性的取反,使三极管周期性的导通从而使蜂鸣器振动发声。

当售出一瓶饮料时,蜂鸣器振动发声,提醒顾客不需要再投入钱了。

 

图8蜂鸣器与单片机连接电路

(五)七段数码管显示电路

数码管是一种半导体发光器件,其基本单元式发光二极管数码管按段数分为七段数码管和八段数码管。

数码管是一类显示屏。

通过对其不同的引脚输入相对的电流使其发亮从而显示数字。

可以显示时间、日期、温度等可以用数字代替的参数。

显示部分采用七段数码管,数据口连接单片机AT89S51的P2口,控制部分连接单片机AT89S51的P1.1—P1.4口。

如图9所示。

图9显示电路

五、自动饮料售货机整体电路的设计

本设计主控模块用AT89S51,输入模块用按键表示,输出模块用LED灯、数码管、蜂鸣器表示。

如图10所示。

图10总电路图

六、软件设计

(一)开发工具

系统的软件设计是在KeiluVision3环境中开发的。

KeiluVision3是美国Keil软件公司、KeilElektronikGmbH开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。

尤其嵌入的KeilC51编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。

(二)系统软件流程图

本设计的自动饮料售货机只销售矿泉水和雪碧两种饮料,价格分别为1.5元和2元。

它的投币口每次只能投入1元或0.5元。

顾客可以由两种不同投币孔分别投入1元和0.5元硬币。

购买饮料时先选择饮料价格再投币。

一次交易只能买一罐,且自动找零。

本设计的硬件电路,用2个按键代替2个投币口,再用另外2个按键代表饮料选择,以LED点亮代表是否投入硬币,和是否售出饮料还是找回钱,用八段数码管显示投入的钱的金额。

售出饮料后电路自动复位。

流程图如图11所示。

图11流程图

(三)系统的软件调试

通过Keil软件进行编程,首先建立工程,然后创建自动饮料售货机.C文件,在进行编程。

程序设计如图12。

程序见附录

图12Keil软件编程

程序设计完成后进行编译,程序编译成功。

编译通过,输出窗口出现如图13所示的结果。

图13编译后输出窗口内容

程序经过多次编译和单步调试,证明程序可靠性。

编译通过后将输出一个自动饮料售货机.Hex文件,将该文件烧录到单片机中。

七、仿真调试

(一)Proteus软件

Proteus是由英国Labcenterelectrionics公司开发的EDA工具软件。

Proteus不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,更是目前世界上最先进、最完整的多种型号微控制器(简称单片机)系统的设计与仿真平台。

它真正实现了在计算机上完成从原理图设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的电子设计、研发过程。

Proteus软件的应用范围十分广泛,设计PCB制版、spice电路仿真、单片机仿真。

作为一款EDA仿真软件,Proteus与同类软件有着很多的相似之处。

相比之下,其主要特点有两个:

一是对动态元件的实时仿真,增强了系统的真实性;二是虚拟工具箱的功能,它能与仿真同时进行,测量方便而准确。

(二)Proteus设计与仿真

Proteus强大的单片机系统设计与仿真功能,使它可成为单片机系统应用开发和改进手段之一。

全部过程都是在计算机上通过Proteus来完成的。

其过程一般可分为以下3步。

(1)在ISIS平台上进行单片机系统电路设计、选择元件、接插件、连接电路和电气检测等。

简称Proteus电路设计。

(2)在Keil平台上进行单片机系统程序设计、编程、汇编编译、代码级调试,最后生成目标代码文件(*.hex)。

简称proteus源程序设计和生成目标代码文件。

(3)在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。

它在相当程度上反应了实际单片机系统的运行情况。

简称Proteus仿真。

单片机系统的Proteus设计与仿真流程如图4-1所示,而其中的Proteus电路设计的流程如图14所示。

 

图14-1设计与仿真流程图14-2电路设计流程

(三)系统仿真调试

1、仿真及步骤

第一步在proteus中画好电路图

在proteus中新建空白文件保存,从元件库中选取并放置元器件和电源、地终端,按原理图连好线。

第二步电气检测

电路设计完成后,单击工具栏中电气检查按钮“

”,会跳出检查结果窗口,如图15所示。

窗口前面是一些文本信息,完成接着是电气检查结果列表。

若有错,会有详细说明。

当规则检查出现:

NETLISTGENERATEDOKNOERCERRORDFOUND,表示通过检查。

图15电气检测窗口

第三步加载目标代码文件和设置时钟频率

将两种方法得到的目标代码文件自动饮料售货机.HEX加载到单片机中。

在ISIS编辑区中双击单片机,则弹出如图16所示的加载目标代码文件和设置时钟频率的窗口。

单击在ProgramFile栏右则“

”的按钮,弹出文件列表,将自动饮料售货机.HEX文件加载到AT89S51芯片中。

 

图16加载目标代码文件和设置时钟频率

第四步仿真

点击仿真按钮中的运行按钮

,启动系统仿真。

(四)仿真结果分析

开始仿真,电路初始状态如图17所示,LED灯全灭,数码管无显示。

图17初始状态

按下饮料选择键

当按下K2时,代表选择雪碧(2元/瓶)

情况一:

按下K3,代表投入1元,数码管显示1.0,LED灯绿D6亮;再按下K4,代表投入0.5元,数码管显示1.5,LED绿灯D7亮;再按下K4,代表再投入0.5元,系统自己计算,数码管显示2,然后LED红灯D8亮,表示售出一瓶雪碧,如图18所示。

5秒钟过后系统自动复位,LED灯灭,数码管清零,如图19所示,然后进行下一次选择、投币。

图18仿真显示一

图19复位后电路

当按下K5时,代表选择矿泉水(1.5元/瓶)

情况一:

按下K3,代表投入1元,数码管显示1.0,LED绿灯D6亮;再按下K4,代表投入0.5元,数码管显示1.5,LED绿灯D7亮;系统计算此时已投入1.5元,然后LED红灯D8亮,表示售出一瓶矿泉水,结果如图20所示。

5秒钟过后系统自动复位。

然后进行下一次选择、投币。

图20仿真显示二

情况二:

按下K3,代表投入1元,数码管显示1.0,LED绿灯D6亮;再按下K3,代表投入又1元;系统计算此时已投入2元,数码管显示2.0.,然后LED红灯D8、蓝灯D5亮,如图21所示。

表示售出一瓶雪碧并且找回0.5元;5秒钟过后系统自动复位。

然后进行下一次选择、投币。

图21仿真显示三

当按下K6时,代表选择冰红茶(1元/罐)

情况一:

按下K3,代表投入1元,数码管显示1.0,LED绿灯D6亮;系统计算此时已投入1元,满足所选饮料价格,故LED红灯D8亮,售出一罐冰红茶饮料。

结果如图22所示。

5秒钟过后系统自动复位。

然后进行下一次选择、投币。

图22仿真显示四

情况二:

按下K4,代表投入0.5元,数码管显示0.5,LED绿灯D7亮;再按下K4,代表投入又0.5元;系统计算此时已投入1元,数码管显示1.0,满足所选饮料价格,故LED红灯D8亮,售出一罐冰红茶饮料。

结果如图23所示。

5秒钟过后系统自动复位。

然后进行下一次选择、投币。

图23仿真显示五

 

参考文献

[1]张靖武,周灵彬,《单片机原理应用与Proteus仿真》,电子工业出版社2008年

[2]王庆利,刘奎,袁建敏,《单片机设计标准教程》,北京邮电大学出版社2008年

[3]陈志旺,陈志如,阎巍山,《51系列单片机系统设计与实践》,电子工业出版社2010年

[4]周坚,《单片机C语言轻松入门》,北京航空航天大学出版社,2006年

[5]李全利,《单片机原理及应用技术》,高等教育出版社,2009年

[6]李萍,《AT89S51单片机原理开发与应用实例》,中国电力出版社2008年

[7]谭浩强,《C语言程序设计》,清华大学出版社2005年

附录

程序:

#include//包含单片机寄存器的头文件

sbitLED1=P0^0;

sbitLED2=P0^1;

sbitLED3=P0^2;

sbitLED4=P0^3;

sbitK1=P1^0;

sbitK2=P1^1;

sbitK3=P1^2;

sbitK4=P1^3;

sbitK5=P1^4;

sbitBEEP=P2^7;

intDisplay[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

 

/*****************************

函数功能:

延时一段时间

*****************************/

voidDelayMS(unsignedintx)

{

unsignedchari;

while(x--)

for(i=0;i<120;i++);

}

voidBeep()

{

unsignedchari;

for(i=0;i<100;i++)

{

DelayMS

(1);

BEEP=~BEEP;

}

BEEP=0;

}

/*****************************

函数功能:

主函数

*****************************/

voidmain()

{

unsignedin

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

当前位置:首页 > 党团工作 > 党团建设

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

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