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

上传人:文库蛋蛋多 文档编号:3991853 上传时间:2023-03-30 格式:DOC 页数:26 大小:750KB
返回 下载 相关 举报
自动售货机的设计 毕业论文设计.doc_第1页
第1页 / 共26页
自动售货机的设计 毕业论文设计.doc_第2页
第2页 / 共26页
自动售货机的设计 毕业论文设计.doc_第3页
第3页 / 共26页
自动售货机的设计 毕业论文设计.doc_第4页
第4页 / 共26页
自动售货机的设计 毕业论文设计.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《自动售货机的设计 毕业论文设计.doc》由会员分享,可在线阅读,更多相关《自动售货机的设计 毕业论文设计.doc(26页珍藏版)》请在三一办公上搜索。

1、目录一、设计概述- 3 -二、 设计背景 - 3 -三、设计要求- 3 -四、设计意义- 4 -五、报警器的工作原理- 4 -六、LM324芯片- 6-七、电路组成及框图- 7 -六、 软件设计- 10 -(一)开发工具- 10 -(二)红外线传感器- 10 -(三)系统的软件调试- 11 -七、仿真调试- 12 -(一)Proteus软件-12 -(二)Proteus设计与仿真- 12 -(三)系统仿真调试- 13 -(四)仿真结果分析- 14 -谢辞- 20 -参考文献- 21 -附录- 22 - 毕 业 论 文题 目 自动售货机的设计 姓 名 所在系别 电子信息工程系 专业名称 应用电子

2、技术 班级名称 08应电2班 学 号 指导教师 日 期 2011年 06 月 05 日 自动售货机的设计摘要:随着科学技术的发展,很多设备向智能化、自动化方向发展,使得人们的生活更加便利。自动饮料售货机就是一种可完成无人自动售饮料的商业自动化设备,它不受任何场地限制,方便快捷,可以每天24小时售饮料,在我国也越来越普及。本文以单片机AT89S51芯片为核心,设计了一种自动饮料售货机,具有饮料选择、接受两种硬币等功能。当1元、1.5元或2元饮料后,系统根据所投入的1元或0.5元硬币计算投币总额,看是否不足、正好或超出,并发出售出饮料信号和找零信号。除了出售过程中的复位键外,系统还能自动复位,当售

3、出饮料5秒后,系统自动复位,可以进行下一次交易。此外,系统程序采用keil软件进行程序的编写和编译,该软件具有编程简单、查错方便、,阅读容易等特点。汇编语言是程序的基本语言,句有容易理解,便于记忆和使用等特点。而Proteus不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具,是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,关键词:自动饮料售货机;AT89S51;P

4、roteusDesign of Vending MachineAbstract: With the development of science and technology, many equipment to intelligent, automatic direction, has made the lives of the people more convenient. Automatic drinks vending machine is a complete absence of soft drinks vending business automation equipment,

5、it is not subject to any site constraints, fast and convenient, 24 hours a day, drinks are becoming more and more popular in my country as well.This article 89 in a single chip at s 51 chip as the core, has designed a way to automatically drinks vending machine, have a beverage choices, accept two c

6、oins, and other functions. When you choose $1.5 or $2 drinks, the system in accordance with the input of $1 billion or 0.5 total coins and see whether or not calculate the coin shortage or excess, precisely, concurrent selling beverages signals and find a zero signal.In addition to selling the reset

7、 button in the process, the system is also capable of automatically reset when sold drinks after 5 seconds, the system automatically reset, you can perform the next transaction. In addition, the system procedures used to conduct the proceedings of the Keil software, prepare and compile the software

8、has a programmable simple, Error-checking convenience features, and easy to read. an emulator is the basic language, sentence procedures are easy to understand, and easy to remember and use, and other features. Not only have a rather Proteus other EDA tool software simulation function, but also can

9、be simulated Microcontroller and peripheral devices. It is currently the best simulation microcontroller, the tools and the peripheral devices is the world-famous EDA tools (simulation software) for the schematic layout, code debugging to the Microcontroller with external circuit simulation, togethe

10、r with a switch to PCB design, to the genuine products from concept to a complete design. Is the worlds sole will circuit simulation software, PCB design software and virtual model simulation software 3 kg of a design platform.Keywords: Vending Machine ,AT89S51,Proteus一、引言现在自动饮料售货机产业正向信息化和合理化方向发展。例如

11、实现联机方式,通过电话线路将自动饮料售货机内的库存信息及时地传送各营业点的电脑中,从而确保了商品的发送、补充以及商品选定的顺利进行。目前,为防止地球暖化,自动售货机的开发致力于能源的节省,节能型清凉饮料自动售货机成为该行业的主流。在夏季电力消费高峰时,这种机型的自动售货机即使在关掉冷却器的状况下也能保持低温,与以往的自动售货机相比,它能够节约1015的电力。进入21世纪时,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。本文设计了一种自动饮料售货机,它由AT89S51单片机、按键控制电路,LED显示电路,蜂鸣器电路、七段数码管显示电路组成,运用简单方便,还可根据顾客的需求扩展功能。

12、此系统能够实现两种饮料的选择,当顾客按下选择键,投入相应的硬币,售出一瓶顾客所选的饮料,同时还有蜂鸣器来提醒顾客,以免顾客多投入钱币。本文用C语言进行软件设计,并用Proteus软件进行仿真,实践证明本文所设计电路达到预期要求。二、自动饮料售货机的工作原理自动饮料售货机是台机电一体化的自动化装置,在接受到货币已输入的前提下,靠触摸控制按扭输入信号使控制器启动相关位置的机械装置完成规定动作,将货物输出。 主要有以下功能:用户将货币投入投币口,货币识别器对所投货币进行识别; 控制器根据金额将商品可售卖信息通过选货按键指示灯提供给用户,由用户自主选择欲购买的商品; 按下用户选择商品所对应的按键,控制

13、器接收到按键所传递过来的信息,驱动相应部件,售出用户选择的商品到达取物口; 如果还有足够的余额,则可继续购买。在15秒之内,自动售货机将自动找出零币或用户旋转退币旋钮,退出零币。 从退币口取出零币完成此次交易。三、自动饮料售货机的方案选择方案一:利用数字电子技术中的门电路和D触发器进行自动饮料售货机的设计。此方案实现简单,不涉及软件设计,但存在严重的竞争冒险现象,按钮按下时间不能太短,否则触发器不能及时翻转;也不能太长,否则输出容易出错。方案二:以单片机AT89S51芯片为核心进行自动饮料售货机的设计。一般由AT89S51单片机、按键控制电路,LED显示电路,蜂鸣器电路、七段码显示电路组成(如

14、图1所示)。方案一中存在竞争冒险,按钮按下时间不能太长也不能太短,而方案二最大的好处是可靠性强,可以进行功能扩展,所以根据课题要求为了得到更好的功能齐全的,所以本文采用方案二进行设计。七段数码管显示八段数码管显示LED灯显示蜂鸣器提醒按 键电 源AT89S51基本系统图1 基于单片机的自动饮料售货机原理框图四、系统硬件部分设计(一)单片机的最小系统 单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成。最小系统原理图如图2所示。图2 最小系统原理图1、系统电源模块如图3所示U图3 系统电源模块系统设计了一个外接电源供电电路,考虑到电压过大会烧坏单片机,这个电源电路采用小型直流稳压电源

15、供电,输出的9V交流电源加入到电源电路中,通过LM7805稳压芯片的降压作用,提供工作所需的5V电源,最后经过三端稳压器LM7805稳压后再进行滤波,如此就能得到稳定的5V电压输出104pF陶瓷电容滤波是主要滤掉高频杂波而电解电容滤波主要滤掉的是低频杂波。 2、晶振电路19(X1)单片机AT89S5118(X2)C6C7图4 AT89S51晶振电路原理图晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振提供的时钟频率越高

16、,那单片机的运行速度也就越快。它使单片机在唯一的时钟信号控制下,严格地按一定的节拍进行工作,或者说按一定的时序进行工作。振荡器可由单片机内震荡电路外接振荡元件(如晶振)实现,构成内部时钟方式。振荡器也可以是外振荡源,将其信号接单片机XTAL1脚,XTAL2脚悬空,则构成外部时钟方式,如图4所示。3、复位电路9 RST单片机AT89S51R1+5VC3图5 AT89S51复位电路原理图单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。复位操作有上电自动复位、按键复位等方式。上电复位电路如图5所示,是通过外部复位电容

17、充电来实现复位的。上电瞬间,RST引脚的电位与Vcc相同,随着充电电流的减小,此引脚电位将逐渐下降。RST引脚的高电平持续时间取决于电容的充电时间,应大于两个机器周期。其中电阻的作用是对电路进行限流,电容可以对电路进行滤噪和去耦,减少电源电压波动的干扰和电路本身产生的噪声对电路其它部分的影响。图中的电阻值,电容值为12MHz晶振时的常用值,分别是10K和10uF。(二)按键控制电路按键的功能:饮料选择按键:K2-雪碧(2元/瓶)、K5-矿泉水(1.5元/瓶)、K6-冰红茶罐(1元/罐)。代替硬币按键:K3-投入1元、K4-投入0.5元。售出过程中复位键:K1复位(退币)。按键与单片机连接如图6

18、所示。图6按键控制电路(三) LED显示电路各个灯亮代表的功能:D5 亮表示找回0.5元;D6 亮表示投入1元;D7 亮表示投入0.5元;D8亮表示售出一瓶饮料。显示灯与单片机连接如图7所示。图7显示灯电路(四)蜂鸣器电路蜂鸣器是一种一体化结构的电子讯响器,它主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。本系统采用的是电磁式蜂鸣器。电磁式蜂鸣器有振荡器、电磁线圈、磁铁、振动膜片以及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。如图8所示,通过单片机I/O口周期性的取反,使三极管周期性的导通从而使蜂鸣器振动

19、发声。当售出一瓶饮料时,蜂鸣器振动发声,提醒顾客不需要再投入钱了。图8蜂鸣器与单片机连接电路 (五)七段数码管显示电路数码管是一种半导体发光器件,其基本单元式发光二极管数码管按段数分为七段数码管和八段数码管。数码管是一类显示屏。通过对其不同的引脚输入相对的电流使其发亮从而显示数字。可以显示时间、日期、温度等可以用数字代替的参数。显示部分采用七段数码管,数据口连接单片机AT89S51的P2口,控制部分连接单片机AT89S51的P1.1P1.4口。如图9所示。图9 显示电路五、自动饮料售货机整体电路的设计本设计主控模块用AT89S51,输入模块用按键表示,输出模块用LED灯、数码管、蜂鸣器表示。如

20、图10所示。图10 总电路图六、 软件设计(一)开发工具系统的软件设计是在Keil uVision3环境中开发的。Keil uVision3是美国Keil软件公司、Keil Elektronik GmbH开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。尤其嵌入的Keil C51编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。(二)系统软件流程图本设计的自动饮料售货机只销售矿泉水和雪碧两种饮料,价格分别为1.5元

21、和2元。它的投币口每次只能投入1元或0.5元。顾客可以由两种不同投币孔分别投入1元和0.5元硬币。购买饮料时先选择饮料价格再投币。一次交易只能买一罐,且自动找零。本设计的硬件电路,用2个按键代替2个投币口,再用另外2个按键代表饮料选择,以LED点亮代表是否投入硬币,和是否售出饮料还是找回钱,用八段数码管显示投入的钱的金额。售出饮料后电路自动复位。流程图如图11所示。开始判断饮料种类投币看金额是否满足给出金额提示售出饮料结束是否有键按下是否是图11流程图(三)系统的软件调试通过Keil软件进行编程,首先建立工程,然后创建自动饮料售货机.C文件,在进行编程。程序设计如图12。程序见附录图12 Ke

22、il软件编程程序设计完成后进行编译,程序编译成功。编译通过,输出窗口出现如图13所示的结果。图13编译后输出窗口内容程序经过多次编译和单步调试,证明程序可靠性。编译通过后将输出一个自动饮料售货机.Hex文件,将该文件烧录到单片机中。七、仿真调试 (一)Proteus软件Proteus是由英国Labcenter electrionics 公司开发的EDA工具软件。Proteus不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,更是目前世界上最先进、最完整的多种型号微控制器(简称单片机)系统的设计与仿真平台。它真正实现了在计算机上完成从原理图设计、电路分析与仿真、单片机代码级调试与仿真、系

23、统测试与功能验证到形成PCB的完整的电子设计、研发过程。Proteus软件的应用范围十分广泛,设计PCB制版、spice电路仿真、单片机仿真。作为一款EDA仿真软件,Proteus与同类软件有着很多的相似之处。相比之下,其主要特点有两个:一是对动态元件的实时仿真,增强了系统的真实性;二是虚拟工具箱的功能,它能与仿真同时进行,测量方便而准确。(二)Proteus设计与仿真Proteus强大的单片机系统设计与仿真功能,使它可成为单片机系统应用开发和改进手段之一。全部过程都是在计算机上通过Proteus来完成的。其过程一般可分为以下3步。(1) 在ISIS平台上进行单片机系统电路设计、选择元件、接插

24、件、连接电路和电气检测等。简称Proteus电路设计。(2) 在Keil平台上进行单片机系统程序设计、编程、汇编编译、代码级调试,最后生成目标代码文件(*.hex)。简称proteus源程序设计和生成目标代码文件。(3) 在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。它在相当程度上反应了实际单片机系统的运行情况。简称Proteus仿真。单片机系统的Proteus设计与仿真流程如图4-1所示,而其中的Proteus电路设计的流程如图14所示。Proteus电路设计源程序编辑生成目标代码文件加载目标代码设置时钟频率Proteus仿真图4.1 Proteus

25、设计与仿真流程新建设计文件选取元器件放置元件、电源和地电路布线元件属性设置电气检测图4.2 Proteus电路设计流程图14-1设计与仿真流程 图14-2电路设计流程(三)系统仿真调试1、仿真及步骤第一步 在proteus中画好电路图在proteus中新建空白文件保存,从元件库中选取并放置元器件和电源、地终端,按原理图连好线。第二步 电气检测电路设计完成后,单击工具栏中电气检查按钮“”,会跳出检查结果窗口,如图15所示。窗口前面是一些文本信息,完成接着是电气检查结果列表。若有错,会有详细说明。当规则检查出现:NETLIST GENERATED OK NO ERC ERRORD FOUND ,表

26、示通过检查。图15 电气检测窗口第三步 加载目标代码文件和设置时钟频率将两种方法得到的目标代码文件自动饮料售货机.HEX加载到单片机中。在ISIS编辑区中双击单片机,则弹出如图16所示的加载目标代码文件和设置时钟频率的窗口。单击在Program File栏右则“”的按钮,弹出文件列表,将自动饮料售货机.HEX文件加载到AT89S51芯片中。图16加载目标代码文件和设置时钟频率第四步 仿真点击仿真按钮中的运行按钮,启动系统仿真。(四)仿真结果分析开始仿真,电路初始状态如图17所示,LED灯全灭,数码管无显示。图17初始状态按下饮料选择键当按下K2时,代表选择雪碧(2元/瓶)情况一:按下K3,代表

27、投入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亮,表示售出一瓶矿泉水,结

28、果如图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秒钟过后系统自动复位。

29、然后进行下一次选择、投币。图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语言轻松入

30、门,北京航空航天大学出版社,2006年5李全利,单片机原理及应用技术,高等教育出版社,2009年6李萍,AT89S51单片机原理开发与应用实例,中国电力出版社2008年7谭浩强,C语言程序设计,清华大学出版社2005年附录程序:#include /包含单片机寄存器的头文件sbit LED1=P00; sbit LED2=P01; sbit LED3=P02; sbit LED4=P03; sbit K1=P10;sbit K2=P11; sbit K3=P12; sbit K4=P13; sbit K5=P14;sbit BEEP=P27;int Display=0xc0,0xf9,0xa4,

31、0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/*函数功能:延时一段时间*/void DelayMS(unsigned int x) unsigned char i; while(x-) for(i=0;i120;i+); void Beep() unsigned char i; for(i=0;i100;i+) DelayMS(1); BEEP=BEEP; BEEP=0;/*函数功能:主函数*/void main() unsigned int a,b,fw,money,yy,ly; a=0; b=0; fw=0;/复位键未按下 yy=0; ly=0; money=0;

32、 P1=0xFF; P0=0xFF; while(1) if(K1=0) while(K1=0);fw=1; /if(fw=1) / /a=0;b=0;money=0;LED1=1;LED2=1;LED3=1;LED4=1;ly=0;P2=Display0;P2=Display0;/ fw=0; / if(K2=0) while(K3=0); ly=1; if(ly=1) money=a*10+b*5;/ P2=Displaymoney/10;/ P3=Displaymoney%10; if(K1=0) /如果K1键按下 while(K1=0);fw=1; if(K3=0) /如果K3键按下

33、a=a+1; while(K3=0); if(K4=0) /如果K4键按下 b=b+1;while(K4=0); if (money=5) LED1=1;LED2=1;LED3=1;LED4=0;P2=Displaymoney/10;P3=Displaymoney%10; if (money=10) LED1=1;LED2=1;LED3=0;LED4=1;P2=Displaymoney/10;P3=Displaymoney%10; if (money=20) LED1=1;LED2=0;LED3=0;LED4=1;P2=Displaymoney/10;P3=Displaymoney%10;Be

34、ep(); DelayMS(5000); a=0;b=0;money=0;LED1=1;LED2=1;LED3=1;LED4=1;ly=0;P2=Display0;P2=Display0; if (money=15) LED1=1;LED2=1;LED3=0;LED4=0;P2=Displaymoney/10;P3=Displaymoney%10; if(fw=1) a=0;b=0;money=0;LED1=1;LED2=1;LED3=1;LED4=1;ly=0;P2=Display0;P3=Display0; fw=0; if(K5=0) while(K5=0); yy=1; if(yy=1

35、) money=a*10+b*5;/ P2=Displaymoney/10;/ P3=Displaymoney%10; if(K1=0) /如果K1键按下 while(K1=0);fw=1; if(K3=0) /如果K3键按下 a=a+1;while(K3=0); if(K4=0) /如果K4键按下 b=b+1;while(K4=0); if(money=10) LED1=1;LED2=1;LED3=0;LED4=1;P2=Displaymoney/10;P3=Displaymoney%10; if(money=20) LED1=0;LED2=0;LED3=0;LED4=1;P2=Displa

36、ymoney/10;P3=Displaymoney%10;Beep(); DelayMS(5000); a=0;b=0;money=0;LED1=1;LED2=1;LED3=1;LED4=1;yy=0;P2=Display0;P3=Display0; if (money=5) LED1=1;LED2=1;LED3=1;LED4=0;P2=Displaymoney/10;P3=Displaymoney%10; if (money=15) LED1=1;LED2=0;LED3=0;LED4=0;P2=Displaymoney/10;P3=Displaymoney%10;Beep(); DelayMS(5000); a=0;b=0;money=0;LED1=1;LED2=1;LED3=1;LED4=1;yy=0;P2=Display0;P3=Display0; if(fw=1) a=0;b=0;money=0;LED1=1;LED2=1;LED3=1;LED4=1;ly=0;P2=Display0;P3=Display0; fw=0;

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号