1、 本科毕业论文(设计) 基于单片机的自动售货机的系统设计 姓 名 : 学 号 : 专 业 : 院 系: 指导老师 : 职称学历: 完成时间: 教务处制安徽新华学院 2013 届本科毕业论文(设计) I 安徽新华学院本科毕业论文(设计)独创承诺书 本人按照毕业论文(设计)进度计划积极开展实 验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计) 是我个人在导师指导下进行的研究工作及取得的研究成果 。据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的工作已在论文中作了
2、明确说明并表示谢意。 毕业论文(设计)作者签名: 日期 : 安徽新华学院 2013 届本科毕业论文(设计) II 基于 单片机的自动售货机的系统设计 摘 要 本文设计了一种以 STC89C52 单片机为核心,采用集中控制方式实现了对自动售货机全过程的自动控制。本系统选择 3 3 矩阵式键盘作为控制按键,实现货物的掉出、退币以及货币数的 LCD 显示等功能。 关键词: STC89C52,自动售货机,键盘控制, LCD显示 安徽新华学院 2013 届本科毕业论文(设计) III Design of automatic system of vending machine based on Micro
3、controller Abstract This paper introduces a design of STC89C52 microcontroller as the core, adopts the centralized control method to realize the automatic control of the whole process of automatic vending machine. In this system, 3 * 3 matrix keyboard as the control button, realize the goods out of,
4、 the coin and currency number LCD display and other functions. Keywords: STC89C52, vending machine, keyboard control, LCD display 安徽新华学院 2013 届本科毕业论文(设计) IV 目 录 1 绪 论 . 1 2 自动售货机系统总体设计方案 . 2 2.1 工作原理 . 2 2.2 项目要求 . 3 2.2.1 硬件设计要求 . 3 2.2.2 软件设计要求 . 4 3 控制系统的硬件电路设计 . 5 3.1 硬件设计概述 . 5 3.2 微控制器 . 5 3.3
5、 货币识别系统 . 6 3.3 LCD 显示系统模块 . 8 3.4 提示程序模块 . 9 4 控制系统的软件设计 . 10 4.1 软件设计概述 . 10 4.2 主程序 . 10 4.3 键盘程序设计 . 12 4.4 字符型液晶显示模块程序设计 . 13 4.5 提示模块程序设计 . 16 5 结 论 . 18 致 谢 . 19 参考文献 . 20 附 录 1 主函数程序 . 21 附 录 2 TC1602AL显示程序 . 24 附 录 3 提示程序 . 27 附 录 4 总原理图 . 28 安徽新华学院 2013 届本科毕业论文(设计) 1 1 绪 论 自动售货机是一种全新的商业零售形
6、式, 20 世纪 70 年代自日本和欧美发展起来。它又被称为 24 小时营业的微型超市 。从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作 为一种必须的机器便应运而生了。 从广义来讲投入硬币、纸币、信用卡等后便可以销售商品的机械,从狭义来讲就是自动销售商品的机械。从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化, 2
7、4 小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。 此次自动售货机的设计是以单片机为核心的自动化控制装置,它集按键选择技术、单片机技术和显示技术于一体。因此,在商业、生活中得到了广泛的应用。有些自动售货机不仅能够自动 识别 1 元、 5角硬币,而且能够自动识别 20 元、 10 元、 5 元纸币,还会自动找零,人机对话的应用性提高使自动售货机在国内外大面积普及成为可能。 随着科技的发展及人们生活水平的提高,自动售货机市场越来越呈现出多元化及个性化的需求。人们通过自动售货机自助购物,这种简单、快捷的方式正逐渐
8、成为市民的一种新的消费时尚,并且满足了人们在当今科技高速发展的现代社会追求高品质生活的需要。自动售货机在城市商业区、写字楼大厅、风景区、车站、码头、繁华街道等公共场所的布设能够美化城市环境,方便群众生活,它已经成为城市各角落的一道亮丽风 景线。 自动售货机必将在国内普及,并成为城市现代文明程度的一种象征性标志。 本文详细介绍了如何控制、要求进行自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。 安徽新华学院 2013 届本科毕业论文(设计) 2 2 自动售货机系统总体设计方案 该章节 对自动售货机 的 控制系统进行完整的功
9、能需求分析, 并 确定总体设计方案, 这 是完成 系统 设计的前提。这不仅有助于时间的合理 计划 和安排, 还可以避免因盲目进行设计而达不到要求的情况。 2.1 工作原理 自动售货机是 集机、电的独立 智能化售货设备,只 需顾客进行 投币、选货、退币等 简单的操作选择,就能够方便快捷地购买到想要的商品 。 其工作程序如下图 2.1 图 2.1 自动售货机的工作时序图 自动售货机的工作时序是: 顾客从投币口投入货币,然后通过货币识别器采集数据、识别判断货币的真伪并判别面值,并把信息数据传给主控系统通信,启动售货机的货物选择键和退币按钮,并等待顾客按键选择货物。顾客选择货物后,自动顾客投入钱币 顾
10、客选取货物 机器记录金额 机器送出货物 顾客取出货物 机器计算余额 顾客取出余币 安徽新华学院 2013 届本科毕业论文(设计) 3 售货机把货物准确送出 领货口,顾客再取走货物。如果售货机内还有顾客未用完的货币,顾客可以选择按下退币按钮进行取零或者继续买商品;如果款额不够但还有余额,顾客依然可以按下退币按钮取零;如果没有余额,售货机将自动调成售货结束。最后系统复零,完成售货。 2.2 项目要求 此次自动售货机设计将满足一下几点要求 : 主控制系统对 货币识别器 识别的金额进行记录 ,根据金额 数通过 LCD显示器跟踪显示,同时售货机 将货物 选择权提供用户,用户选择 货物 后, 单片机 发出
11、指令将 所选 商品从 储货仓 送 到 取物口。 其功能描述:货物种类一共设有 8种,这 8种物品分别对应着 8个不 同的按键选择,其中价格不等的物品各 3种, 1元的有 3个可选按键 , 2元的有 3个可选按键 , 3元的有 2个可选按键 ;自动售货机将顾客投的货币进行金额累加。投了几次货币后,这样机器就会把投入的货币总额数目大小输入中央控制元器件,进行处理。如果累计投入的货币数目多于物品的设定价格,机器能够实现找钱功能,或者顾客可以继续选择货物;如果投入的货币没有达到所选择物品的预设价格时,投入的钱将全部退还。 2.2.1 硬件设计要求 控制系统要完成图 2-1 中的各个环节,应具备中央处理
12、模块 (微控制器) ,键盘输入模块, 报警 提示模块, 数额显 示模块、 货币识别模块 和电机驱动模块 等 ,电机驱动模块是自动售货设计当中比较重要的一块,涉及到送出货物的功能。对于驱动电机是如何设计 、 如何工作的,在这里将不做进一步的研究。本课题设计主要是要实现自动售货机的投币总数显示 、 货物选择 、 出货(用发光二极管替代)以及找零功能。在本次设计中用 P2.0P2.7 作为送出货物输出接口,以发光二极管作为出货状态 。这就需要控制系统提供如表 2.1 中所列的外设器件。 安徽新华学院 2013 届本科毕业论文(设计) 4 表 2.1 硬件电路接口列表 外 设 名 称 数 量 用 途
13、备 注 MDB 货币识别器 1 货币识别、找零 硬币器要符合国际标准 MDB 接口 键盘输入 1 输入设备 采用 33 键盘, 和 1 个退币按键 报警提示 1 语音提示 采用语音 提示功能 显示模块 1 显示货币金额 采用 TC1602 的 LCD 显示器 这些 外设 元器件的总体原理框架如图 2.2 所示 图 2.2 硬件系统总体框架图 2.2.2 软件设计要求 控制系统的软件应包括 主程序、启动退币系统程序、货币数额显示程序以及提示程序四 个部分 。参照 国内外自动售货机的 系统 设计实例,结合自身硬件特点,系统 要编写的程序 需 满足以下特点和要求: 1、 友好 的人机交互界面,简易的
14、操作步骤和可靠的销售流程 ; 2、 键盘模块能够激活自动售货机的售货系统,同时完成对商品的选择操作 以及对货币识别器的退币系统的启动 ; 3、 语音提示模块要实现选取货物时金额不足的提示功能 。 本文第四章将重点讲述软件程序的设计。 MCU STC89C52 语音模块 货币识 别模块 显示器 提示模块键盘模块 安徽新华学院 2013 届本科毕业论文(设计) 5 3 控制系统的硬件 电路 设计 3.1 硬件设计概述 硬件是控制系统的物理载体,硬件设计是整个设计的基础环节。根据对第2.2.1 节的硬件 设计要求 可知, 此次 控制系统的构成模块应包括:中央处理模块 (微控制器) ,键盘输入模块,
15、语音 提示模块, LCD 显示模块和 MDB 货币识别模块。各元器 件的选用 质量在此次设计中很重要, 是否合理直接影响控制系统的设计质量,要以经济适用、稳定可靠为原则进行设计。 3.2 微控制器 微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。微控制器诞生于 20 世纪 70 年代中期,经过 30 多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器 /扫描器、消费类电子、游戏设备、电话、 HVAC、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等。 微控制器主要分为单片机、 DSP、 ARM 等等
16、 , 其中单片机体积小、使用灵活方便、价格便宜,主要应用于工业控制和智能仪表等领域; DSP 芯片具高速运算能力,常用来处理大量数据或数字信号; ARM 凭借低功耗、高性能的特点,广泛应用在移动通信和手持设备领域。 综合考虑技术指标、接口需求和经济性等因素,本设计采单片机 STC89C52最合理。 STC89C52 是一种带 8K 字节闪烁可编程可檫除只读存储器( FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能 COMOS8的微处理器,该器件采用 ATMEL搞密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。 该单片机 具有以下标准功能: 8k 字节 Flash, 512 字节 RAM, 32 位 I/O 口线, 看门狗定时器 ,内置 4KB EEPROM, MAX810 复位电路, 3 个 16 位 定时器/计数器, 4 个外部中断,一个 7 向量 4 级中断结构(兼容传统 51 的 5 向量 2 级