资源预览内容
第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
第9页 / 共29页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
基于单片机的自动售货控制系统设计摘 要本文设计了一个基于AT89C51单片机的自动售货控制系统,文中详细的介绍了设计方案的实施背景,各种元器件的选择,系统模块的划分以及功能的实现。该系统模块划分清晰,采用按键实现人机的友好交互。以C语言为开发语言,可读、易理解性大大提高。开发环境为Keil,Proteus有机结合,keil实现代码的编写、修改、编译,Proteus则对编译好的代码在模拟器件上进行仿真。有效的提高了开发效率。系统最终实现了货物选择、投币显示、退币显示、出货显示等一系列功能。关键词:AT89C51;自动售货机;PROTEUSThe Design of Vending Control Systems Based on SCMPeng xin Yi(College of Physics, Mechanical and Electrical Engineering, JishouUniversity, Jishou, Hunan 416000)AbstractVending system based on AT89C51 is designed in this paper, which contains a detailed description of the implementation of the background of the design, the choice of the various components, division and function of the system module. The modular division of system is clear, using the key to achieve human-machine friendly interaction. C language for the development of language contributes readable, easy to understand greatly improved. Development Environment is Keil and Proteus. The keil is used to implement code of write, modify and compile, at the same time, proteus implements simulation. These effectively improve the development efficiency. System achieves a series of functions such as cargo selection, coin and currency recreation and shipment show.Key words: AT89C51; Vending machine; PROTEUS目 录第一章 绪 论11.1 自动售货机的历史及发展前景11.2 自动售货控制系统设计的意义11.3 本文的主要设计内容2第二章 自动售货控制系统设计分析32.1 系统总体设计分析32.2 元器件选择42.3 开发工具4第三章 自动售货控制系统硬件设计53.1 硬件总体框图53.2 AT89C51单片机模块53.2.1 管脚说明63.2.2 AT89C51单片机的主要特性73.2.3 芯片擦除83.3 单片机驱动系统模块83.4 系统显示模块93.4.1 数码管显示器93.4. 2 显示器的驱动电路93.5 货币识别投入电路模块103.6 货品选择按键模块103.7 出货、退币模块113.8 小结11第四章 自动售货控制系统软件设计124.1 C51语言的优缺点124.2 Keil和Proteus开发步骤124.3 主要模块软件设计134.3.1 按键扫描及键值识别模块134.3.2 数码管显示电路134.3.3 投币电路144.4 小结14第五章 调试与仿真155.1 调试与仿真155.2 不足与改进19总 结20参考文献21附 录2227基于单片机的自动售货系统设计 第一章 绪 论 第一章 绪 论1.1 自动售货机的历史及发展前景据说世界上最早的自动售货机出现在公元前3世纪,那是埃及神殿里的投币式圣水出售机。17世纪,英国的小酒吧里设有了香烟的自动售货机。在自动售货机历史的长河中,日本开发出实用型的自动售货机,那是在进入本世纪后的事。日本第一台自动售货机是1904年问世的“邮票明信片自动出售机”,它是集邮票明信片的出售和邮筒投函为一体的机器。自动售货机的真正普及是在第二次世界大战以后。50年代,“喷水型果汁自动售货机”大受欢迎,果汁被注入在纸杯里出售。后来,由于美国的饮料大公司进入日本市场,1962年,出现了以自动售货机为主体的流通领域的革命。1967年,100日元单位以下的货币全部改为硬币,从而促进了自动售货机产业的发展。现在,自动售货机产业正在走向信息化并进一步实现合理化。例如实行联机方式,通过电话线路将自动售货机内的库存信息及时地传送各营业点的电脑中,从而确保了商品的发送、补充以及商品选定的顺利进行。并且,为防止地球暖化,自动售货机的开发致力于能源的节省,节能型清凉饮料自动售货机成为该行业的主流。在夏季电力消费高峰时,这种机型的自动售货机即使在关掉冷却器的状况下也能保持低温,与以往的自动售货机相比,它能够节约1015%的电力。进入21世纪时,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。1.2 自动售货控制系统设计的意义自动售货机从问世以来就备受关注,因其无需专人守护而可以每天24小时售货,被称为“微型超市”。自动售货机的核心在其控制系统,它能够准确的识别币值以及货品,控制自动售货机接受钱币然后选出顾客所需的物品。如今是一个智能化的社会,越来越多的智能产品将被研发生产出来,简单实用的自动售货机将会逐步成为人们购物的“优秀售货员”。自动售货装置已经成为一个城市的标志,地铁站内、图书馆旁、大型超市门口都能见到它们的踪影。自动售货装置以其特点:无需专人看管,所占空间不大,方便人们购物在当今的社会中占据重要的地位。一个性能优越的自动售货机取决于它的自动控制系统,采用AT89C51单片机为控制核心是由于AT89C51单片机的可靠性高,编程简单,接口方便,同时配以相应的外围电路来驱动单片机以及实现该系统的其他相关的功能。自动售货装置有着广阔的发展前景及市场,优良的自动售货控制系统的设计将会不断的推动其前进。1.3 本文的主要设计内容本文主要设计了一个自动售货控制系统,从自动售货机的历史、自动售货系统总体分析、自动售货系统硬件设计、自动售货系统软件设计、调试与仿真等五个方面进行。总体分析得出系统的框图和顾客购物流程、元器件的选择,硬件设计采用Proteus模拟连接实物图,软件设计采用c语言编写,keil进行调试,调试与仿真则在Proteus中清晰可见。各部分功能明确,相互协调,共同支配着自动售货系统的有序运行。基于单片机的自动售货系统设计 第二章 自动售货控制系统设计分析 第二章 自动售货控制系统设计分析2.1 系统总体设计分析现在我们来简单模拟一下顾客的购物流程:当顾客需要从自动售货机购买货物时,顾客首先通过一些外部控件选择自己需要的货物。此时顾客需要知道自己应该支付多少金额,所以自动售货机显示顾客所选货物的总金额。然后顾客可以向自动售货机的投币口投入钱币,自动售货机显示顾客投入的钱币总金额,当投入的金额大于所需的金额的时候,顾客购买的货物将从出货口送出,同时退币口退还顾客多余的金额。根据顾客的购物流程分析,我设计出合理可行的自动售货控制系统框架图如图2-1。开 始系统初始化选购货物确 认投 币售 货找 零NY图2-1 自动控制系统流程图根据自动控制系统的流程图,能够很清晰的得出系统的设计思路:当顾客选择货物的时候,可以采用三个按键来模拟三种货物(本设计提供三种货物供选择),货物多样性更加接近现实;显示模块采用数码管显示顾客所选择的所有货物的金额,金额的计算由内部逻辑处理;投币部分用两个按键来模拟2种币值(本设计提供两种可识别币值);顾客成功购买后,用一个led灯模拟货物的取出(led灯亮则有货物出来,否则没有货物出来);退币部分用三个led灯模拟(分别为1元,2元,2元),三个led灯便于观察,退币金额由内部逻辑根据顾客的选择计算得出。2.2 元器件选择1)单片机:选用AT89C51作为控制核心,该单片机是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器。2)晶振:本设计选用的晶振是CRYSTAL,作用在于产生原始的时钟频率,这个频率经过频率发生器的倍频或分频后就成了单片机中各种不同的总线频率。3)排阻:排阻RP1是用来并行口的上拉或者下拉电阻用。4)数码管:4位8段共阳数码管,用来显示投币和找零金额。5)一般电阻:设计中需要用到的电阻均是起下拉作用,用来稳定系统。6)电容:本设计中所用到的电容有3个,其中2个是去耦电容,其起作用一方面是本集成电路的蓄能电容,另一方面旁路掉该器件的高频噪声, 起到抗干扰的作用。1个接复位输入端口,与外接电阻构成复位电路。7)按键:选用9个独立按键,5个按键用来代表货物的不同价格,1个用来确认,1个用来取消,还有2个用来模拟货币投入。2.3 开发工具Keil uVision2是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统C语言的语法来开发,与汇编相比,功能上、结构性、可读性、可维护性上有明显的优势,它还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效、快速的特点。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操 作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。在编译方面,它也支持IAR、Keil和MPLAB等多种编译。基于单片机的自动售货系统设计
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号