基于单片机的自动售货机定稿版

基于单片机的自动售货机定稿版
基于单片机的自动售货机定稿版

基于单片机的自动售货

HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

摘要

本文设计了一种以AT89C51单片机为核心的自动售货机装置的控制系统。详细介绍了自动售货机系统的方案设计、硬件选择、软件编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。该系统以单片机AT89C51芯片为核心,采用集中控制方式实现了对自动售货机全过程的自动控制。系统程序采用汇编及C语言软件进行程序的编写和编译,该软件具有编程简单、查错方便、阅读容易等特点。汇编语言是程序的基本语言,具有容易理解,便于记忆和使用等特点。

关键词:智能自动售货机,AT89C51单片机,LCD液晶,控制系统

目录

引言 (1)

第1章总体方案设计 (2)

1.1设计要求 (2)

1.2 设计目标 (2)

1.3 课题分析 (3)

第2章硬件设计 (4)

2.1 此次设计的自动售货机的功能简介 (4)

2.2 实现自动售货机的功能的设计 (5)

2.2.1晶体振荡和复位电路 (5)

2.2.2独立键盘按键的识别 (6)

2.2.3投币系统 (6)

2.2.4 LCD显示 (7)

第3章软件设计 (8)

3.1 货物选择系统的程序 (8)

3.1.1选择系统流程图 (8)

3.2 投币系统程序 (9)

3.2.1 投币系统流程图 (9)

3.3 出货系统程序 (11)

3.3.1 出货系统流程图 (11)

3.4 找零系统程序 (12)

3.4.1找零系统流程图 (12)

第4章仿真设计 (13)

4.1 Proteus简介 (13)

4.2仿真设计 (13)

总结 (15)

参考文献 (16)

附录 (17)

引言

随着经济发展,传统的固定地点人员售货方式暴露出许多弊端:人力资源需求大;受所需服务地点,地理条件的限制;而且在服务时间上不能最大限度的服务于消费者。自动售货机的出现解决了这些难题。品种繁多,对生活的覆盖面广,自动售货,效率高,可24小时不间断运营;选址容易,且方便改换场地;适合全职经营,也可兼职(副业)经营;作为广告载体,可赚高额外块。投资风险低,收益高。工作人员唯一所需要做的就是添加商品取走货币。如此多的优点使得自动售货机在世界范围内得到广泛的应用。

智能自动售货机是以单片机为核心的自动化控制装置,它集按键选择技术、单片机技术和显示技术于一体,有功能强大、可靠性高、使用方便、维护简单等特点。因

此,在商业、生活中得到了广泛的应用。有些智能自动售货机不仅能够自动识别1元、5角硬币,而且能够自动识别20元、10元、5元纸币,还会自动找零,人机对话的应用性提高使自动售货机在国内大面积普及成为可能。智能自动售货机越来越人性化的设计将会很快的占领中国市场。

第1章总体方案设计

1.1设计要求

设计一台销售袋装小零食的自动售货机,具有硬币识别、币值累加、自动售货等功能。基本要求:

①可识别5角、1元的硬币。并进行累加。

②有货物选择按键,根据选择自动出售对应货物。

1.2 设计目标

从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出

现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。从广义来讲投入硬币、纸币、信用卡等后便可以销售商品的机械,从狭义来讲就是自动销售商品的机械。从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。

(1)发达国家现状

日本:各种自动售货机保有量超过600万台,平均20人一台,世界普及率第一。1990年通过自动售货机实现的销售额即已达到5兆日元(约3000亿人民

币)。

美国:总的机器保有量大致和日本相当,2000年通过自动售货机实现的销售额达到250亿美元,其中OCS(Office Coffee Service)的销售额排第六位。

韩国:自动售货机的使用历史要远短于其它发达国家,仅有25 年,但据2001 年的统计,总保有量已超过80万台。在2001年韩国生产的自动售货机中OCS占32.7%,排第一位,咖啡自动售货机占 18.1% ,排第三位,仅次于18.6% 的充电自动售货机。瓶罐饮料自动售货机和复合型自动售货机(同机销售瓶罐饮料和热咖啡)都仅占 8.6%,并列第四位。

(2)国内现状

保有量约2万台,且品种单一,主要以瓶饮料售货机为主,技术质量还未完全过关,生产和运营成本较高,收益也不高。导致此现状的主要原因是中国有关的自动售货机企业未能有效解决成本,质量,运营等诸多问题。但由于随中国经济的快速发展和社会的巨大进步,自动售货机的实际需求已相当大。

1.3 课题分析

从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也

不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。广义来讲投入硬币、纸币、信用卡等后便可以销售商品的机械,从狭义来讲就是自动销售商品的机械。从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。

第2章硬件设计

2.1 此次设计的自动售货机的功能简介

基本原理:货币识别器对所投货币进行识别,根据金额将商品选择权提供用户,用户选择后,控制芯片发出指令将所选择商品从储备料道中送达取物口。

其功能描述:

货物种类一共设有3种,这3种物品分别对应着3个不同的按键选择,其中2元,3元,4元价格不等的物品各1种;自动售货机能够投币总数LCD显示功能。

如果累计投入的货币数目超过物品的预设价格,机器能够实现找钱功能;如果投入的货币没有达到所选择物品的预设价格时,投入的钱将全部退还;在投入一次累加货币后选择物品,如果投入的累加货币数目大大超过所选择物品的预设单个价格时,那么能够实现选择同一个物品购买多个,在本设计中设为可以同时购买2个或3个物品。

本设计中有一共有7个按键选择,其中3个是货物选择键,有2个是多选键(一次购买2个或3个货物),还有1个确定键和1个取消键。如果没有按照预先设计的流程顺序进行按键选择,自动售货机将会自动返回操作前的状态,等待再次正确的按键选择。

自动售货机的原理框图如图2-1所示

2.2 实现自动售货机的功能的设计

2.2.1晶体振荡和复位电路

晶体振荡电路和复位电路图,如图2-2所示。

图2-2 晶体振荡电路图

(1)晶体振荡电路功能介绍:此电路能让电路产生振荡频率,直流电经过晶体振荡电路就会产生电路所需的交流电,此电路不需要外信号刺激自身就可以将直流电能转化为交流电能,所以要是电路需要将直流电变成交流电,在这里就需要用一个晶体振荡电路。

(2)参数计算:这是一个晶体振荡电路用到了两个电容和一个晶振,一般12MHZ ~ 30P,6MHZ ~ 20P,2MHZ ~ 10P,我采用的是12MHZ ~ 30P的晶振电路。

(3)复位电路功能介绍:为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。

(4)参数计算:这是一个复位电路,由一个电阻和一个电容组成,一般的复位电路电容都为10uF,电阻都为10K。

2.2.2独立键盘按键的识别

独立式按键的识别很简单,如图2-3所示,当某个键按下时,相应的接口会出现低电平,无键按下时则为高电平,由此就可以判断出哪个键有按下。

如图2-3 独立键盘按键图

将P1.0~P1.6上的按键编码为00H、01H、02H、03H、04H、05H、06H,按键所对应的功能见表2.1.

表2.1 按键功能表

2.2.3投币系统

投币系统是自动售货设计当中比较重要的一块,涉及到货币识别系统,对于识别货币器是如何设计、如何工作的,在这里将不做进一步的研究。本课题设计主要是要实现自动售货机的投币总数显示、货物选择、出货以及找零功能。在本次设计中用

P3.4上的一个按键来代替投币系统的电平输出,如图2-4所示。

如图2-4 投币系统图

在投币系统中可以通过89C51内部的定时器来控制投币时间,在规定的时间范围内完成投币动作,否则投入的货币全部退出。由于本次设计主要是要体现从投币到操作最后到出货的过程,在设计中没有用到定时设置。

本次设计的货币累加是对判断P3.4上的按键上所按下的次数进行累加来实现的,并将累加的次数送到寄存器B,然后系统根据投币的总数和相应的操作来实现输出。

2.2.4 LCD显示

本次设计选用TC1602液晶显示屏,可以直接跟51系列单片接口相连。液晶模块TC1602采用标准的16脚接口,作用是显示主控系统面值,如图2-5所示。

图2-5 TC1602液晶显示屏图

第3章软件设计

3.1 货物选择系统的程序

3.1.1选择系统流程图

选择系统流程图,如图3-1所示。

图3-1 选择系统流程图

3.2 投币系统程序

3.2.1 投币系统流程图

投币装置流程图,如图3-2所示。

如图3-2 投币装置流程图3.3 出货系统程序

3.3.1 出货系统流程图

出货装置流程图,如图3-3所示。

图3-3 出货装置流程图3.4 找零系统程序

3.4.1找零系统流程图

找零装置流程图,如图3-4所示。

图3-4 找零装置流程图

第4章仿真设计

4.1 Proteus简介

Proteus嵌入式系统仿真与开发平台是英国Labcenter公司开发的,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台。它是一种可视化的支持多种型号单片机(如51、PIC、AVR、Motorola hcll等),并且支持与当前流行的单片机开发环境(Keil、MPLAB、IAR)连接调试的软硬件仿真系统。Proteus除了具有和其他EDA工具一样的原理图、PCB自动或人工布线及电路仿真功能外,针对微控制系统与外设的混合电路的电路仿真、软件仿真、系统协同仿真也做到了一体化和互动效果,是目前电子设计爱好者广泛使用的电子线路设计与仿真软件Proteus和Multisim功能的联合和进一步发展。

Proteus软件已有近20年的历史,在全球拥有庞大的企业用户群,是目前唯一能够对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原型时就可对系统进行设计、测试与验证。由于Proteus软件包括逼真的协同仿真功能,得到了包括剑桥大学在内的众多大学用户作为电子学或嵌入式系统的课程教

学、实验和水平考试平台。目前,Proteus在国内单片机开发者及单片机爱好者之中已开始普及,有很多开发者已经开始用此开发环境进行仿真。

4.2仿真设计

假如投入5元钱货币,操作依次为按2元货物选择键、确定键,则在proteus里的仿真图如图4-1所示。

图4-1 自动售货机仿真设计图

总结

本次设计是一次非常难得的理论与实际相结合的机会,通过这次智能自动售货机系统电路的设计,不仅是理论知识的学习,还有实际设计的结合,综合运用所学的专业基础知识,解决实际问题的能力,同时也提高我查阅文献资料、设计规范以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,虽然毕业设计内容多,我的收获却更加丰富。各种系统的适用条件,各种设备的选用标准,都随着设计的不断深入而不断熟悉并学会应用。和老师的沟通交流更使我对设计有了新的认识也对自己提出

了新的要求。通过这次的设计也使我意识到自己知识的狭隘,我们可以在以后的学习

过程中通过丰富的图书馆资源和网络资源来弥补这一不足。在这几个星期里我学到了

很多的知识,这些都是我以前所不曾学到的。Protel是我们以前实训时学的内容,

在这次毕业设计中又好好的复习了一遍,所谓温故而知新,还包括我们的基础课程

《高频电子技术》,《电工电子基础》,《单片机应用基础》等。

提高是有限的,但提高也是全面的,正是这次设计让我积累了无数实际经验,虽

然时间紧迫但我学会了很多,也感到自身知识的贫乏, 也必然会让我在未来的工作学

习中表现出更高的应变能力,更强的沟通力和理解力。顺利如期的完成本次毕业设计

给了我很大的信心,让我了解专业知识的同时也对本专业的发展前景充满信心。

参考文献

[1]杨路明. C语言程序设计教程. 北京: 北京邮电大学出版社, 2005.1

[2]胡汉才. 单片机原理及其接口技术. 北京: 清华大学出版社, 2006.3

[3]王福瑞. 单片微机测控系统设计大全. 北京: 北京航空航天大学出版社,

1999

基于单片机的自动售货机_毕业设计论文

基于单片机的自动售货机 摘要 自动售货机是自动化技术在人们生活中的重要应用。随着人们生活质量的不断提高,对自动售货机的性能要求越来越高。自动售货机的主要功能是通过人机对话的形式完成自动售货这一过程。 本文设计了一款以INTEL公司出品的80C51单片机为核心的自动售货机,并且着重详细地介绍了自动售货机的整体系统设计方案、硬件选择基础、软件使用方法及技巧。以80C51作为CPU处理单元连接各个功能模块;以4*4矩阵键盘作为输入控制模块对货物进行种类和数量的选择以及模拟货币的投入功能;以LCD1602液晶作为显示模块来显示当前的购物状态以及货币状态;以LED的显示来表示当前选择货物以及出货的状态。通过Protues7.5单片机电路原理图进行连接布线连接各个模块;再用Keil uVision3专业编译软件完成源程序编译和调试,最终进行自动售货机的实验电路仿真来模拟自动售货。结合工作原理、系统设计、软件编译和实验仿真来实现自动售货这一相关功能。 关键词自动售货机,80C51单片机,编译仿真

ABSTRACT The automatically vending machine is provided the the the important applications of the automation technology in people's lives. With the continuous improvement of people's quality of life, the increasingly high performance requirements of vending machines. Vending machines The main function of the form of man-machine dialogue vending this process. The designed a produced by Intel 80C51 microcontroller as the core vending machines, and emphasizes the detailed description of the overall system design of the vending machines, hardware options, software and the use of methods and techniques. As 80C51 CPU processing unit connected to the various functional modules; 4 * 4 matrix keyboard as an input control module of goods, the choice of the type and number of input and analog currency; LCD1602 LCD as the display module to display the current state of shopping as well as currency state; LED display indicates the current selection of goods and shipment status. By the Protues7.5 microcontroller circuit diagram connecting wiring each module; complete source code to compile and debug then the Keil uVision3 professional compiler software, eventually vending machine experiment circuit simulation to simulate the automatic vending. Combined with the working principle, system design, software compiler and experimental simulation to achieve automatic vending related functions. Keywords automatic vending machine, 80C51 MCU, compiled simulation

自动售货机控制系统的设计(最终版)

课程设计任务书 设计题目:饮料自动售货机PLC控制系统设计 学院:机械工程学院 专业:机械测控 班级: 姓名: 组员: 指导老师:

【摘要】 本文介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。具体说明了可编程序控制器在自动售货机中的作用。程序涉及到了自动售货机工作的绝大部分过程。利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。 关键词:自动售货机;可编程序控制器;梯形图 Abstract:This paper introduces the basic principles of vending machines, as well as workflow, and then to a transaction process as an example, the transaction process is divided into several blo ck, and then the block were programmed. Specify the PLC in the r ole of vending machines. Procedures related to the work of the va st majority of vending machine process. PLC control of the use of vending machines enhance the stability of the system to ensure t hat vending machines capable of long-term stable operation. Key words:Vending machines; PLC; Ladder Diagram 一.PLC的概述 1.1 PLC的产生

基于plc的自动售货机程序设计

题目:基于plc的自动售货机程序设计 1 PLC的硬件组成 PLC的硬件主要由中央处理器(CPU)、存储器、输入单元、输出单元、通信接口、扩展接口、电源等几部分组成。其中,CPU是PLC的核心;输入单元/输出单元是CPU 与现场输入/输出设备之间的接口电路;通信接口用于连接编程器、上位计算机等外部设备,其硬件构成图如图1-1。 图1-1 PLC硬件结构图 2 PLC控制自动售货机的主要硬件及选型 2.2.2自动售货机I/O点的分配 输入/输出单元通常也称I/O单元或I/O模块,是PLC与工业生产现场之间的连接部件。PLC通过输入接口可以检测被控对象的各种数据,以这些数据作为PLC对被控对象进行控制的依据;同时PLC又通过输出接口将处理的结果送给被控对象,以实现控制目的。本次自动售货机I/O点的分配表如表3-1所示。 输入信号PLC地址输出信号PLC地址 找零按钮x0 找零y0 一元饮料按钮x1 咖啡出口y1 五元饮料按钮x2 汽水出口y2 十元元饮料按钮x3 汽水指示灯y3 咖啡饮料按钮x4 咖啡指示灯y4

2.2.3自动售货机的I/O接口图 此次自动售货机的I/O接口如图3-1所示,SB2-SB7是物品选择按钮,当投入货币物品绿灯亮(Q1.0-Q1.5)。按下SB2-SB7其中一个,对应的KM线圈得电,电机转动出相应的物品(Q0.1-Q0.6);当有物品售完,其行程开关断开,物品绿灯不亮并同时向总部发送物品销售完的信息;当购买物品总值低于投入总值时,可按找零按钮SB1后KM1得电,电机转动找零(Q0.0)。 图3-1自动售货机PLC控制I/O接口图 4.1.2 数学运算指令 在梯形图中,整数、双整数与浮点数的加、减、乘、除指令(见表4-2)分别执行下列运算:IN1+IN2=OUT,IN1-IN2=OUT,IN1*IN2=OUT,IN1/IN2=OUT。 在语句表中,整数、双整数与浮点数的加、减、乘、除指令分别执行下列运算:IN1+OUT=OUT,OUT-IN1=OUT,IN1*OUT=OUT,OUT/IN2=OUT。 表4-2 加减乘除指令

单片机课程设计—自动售货机

中南大学 《微控制器应用系统综合设计》课程设计报告 设计题目 指导老师 设计者 专业班级 设计日期

目录

第一章微控制器应用系统综合课程设计的目的意义 (1) 1.1 设计目的 (1) 1.2课程在教学计划中的地位和作用 (1) 第二章自动售货机设计任务 (3) 2.1 设计内容及要求 (3) 2.2 课程设计的要求 (3) 2.2.1 控制要求 (3) 2.2.2 设计要求 (3) 第三章系统的硬件设计与选型 (4) 3.1 总体设计思想与选型 (4) 3.2 硬件设计方案 (5) 3.3 硬件设计概要 (5) 3.4 硬件设计系统原理图 (6) 3.5 选型芯片及其各自功能说明 (7) 3.5.1 89C51的引脚与功能简介 (7) 3.5.2 8155的引脚与功能简介 (10) 第四章软件设计 (15) 4.1 软件系统的设计方案概要 (15) 4.2 源程序流程图及其说明 (15) 4.2.1 主程序流程图及其说明 (15) 4.2.2 装货子程序流程图及其说明 (17) 4.2.3 投币子程序流程图及其说明 (17) 4.2.4 货物选择子程序流程图及其说明 (18) 4.2.5 显示子程序流程图及其说明 (19) 4.2.6 中断子程序流程图及其说明 (20) 第六章系统调试及使用说明 (22)

5.1 系统使用说明 (22) 5.2 系统调试 (22) 收获、体会 (24) 附录系统源程序 (25) 参考文献 (35)

第一章微控制器应用系统综合课程设计的目的意义 1.1 课程设计目的 《微控制器应用系统综合设计》是为测控专业《微控制器技术》课程而开设的课程设计教学环节,其目的在于培养学生综合运用理论知识来分析和解决实际问题的能力,是通过设计以微控制器为核心的单片机检测系统,加深学生对微控制器技术的了解,进一步掌握其程序设计与硬件接口技术。 本课程的主要任务是运用所学微控制器技术、微机原理等方面的知识,设计出一台以80C32MCU为核心的单片机数据采集、通讯或测控系统,完成信息的采集、处理、输出及人机接口电路等部分的软、硬件设计。 1.2 课程设计在教学计划中的地位和作用 《微控制器原理及应用》是一门技术性、应用性很强的学科,实验课教学是它的一个极为重要的环节。不论是硬件扩展、接口应用还是编程方法、程序调试,都离不开实验课教学。如果不在切实认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节,学习与应用脱节的局面。任随书本上把单片微机技术介绍得多么重要、多么实用、多么好用,同学们仍然会感到那只是空中楼阁,离自己十分遥远,或者会因此而对它失去兴趣,或者会感到它高深莫测无从下手,这些情况都会令课堂教学的效果大打折扣。 《微控制器原理及应用》课程设计的目的就是让同学们在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。使学生增进对单片机的感性认识,加深对单片机理论方面的理解。使学生掌握单片机的内部功能模块的应用,如定时器/计数器、

基于自动售货机的软件工程

面向对象分析实践大作业(40%) 下面是自动售货机系统的需求陈述,请 你: 1.编写分析和设计报告; 2.报告分需求分析、系统设计和对象设计三部分编撰,各部分应按相应的格式编写,并包含用例图、顺序图、类图、业务流程图、系统结构图等; 3.大作业的结构为: A项目需求说明 B需求分析报告 C系统设计报告 D对象设计报告 E分析设计过程说明:这部分介绍分析

和设计过程中使用了什么技术 需求陈述: 自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。有效的硬币是一元币、五角币、五分币、二分币、一分币。其他货币被认为是假币。机器拒绝接受假币,并将其从退币孔退出。当机器接受了有效的硬币之后,就把硬币送入硬币储藏器中。顾客支付的货币根据硬币的面值 进行累加。 自动售货机装有货物分配器。每个货物分配器中包含零个或多个价格相同的货物。顾客通过选择货物分配器来选择货物。如果货物分配器中有货物,而且顾客支付的货币值不小于该货物的价格,货物将被分配到货物传送孔送给顾客,并将适当的零钱返还到退币孔。如果分

配器是空的,则和顾客支付的货币值相等的硬币将被送回到退币孔。如果顾客支付的货币值少于所选择的分配器中货物的价格,机器将等待顾客投进更多的货币。如果顾客决定不买所选择的货物,他投放进的货币将从退币孔中退出。 参考资料:《软件工程》张海藩清华大学出版社 2009年第一版 下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模 型: 自动售货机系统是一种无人售货系统。售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。有效的硬币是一元币、五角币、五分币、二分币、一分币。其他货币被认为是假币。机器拒绝接受假币,并将其从退币孔退出。当机器接受了有效的硬币之后,就把硬币送入硬币储藏

基于单片机的自动售货机设计

基于单片机的自动售货机设计 概括介绍了自动售货机的现状,针对电子创新实验室电子元件管理难题提出了一种能够自动管理与售卖电子元件的自动售货机的设计思路!给出了电子 元件自动售货机设计方案。首先研究了电子元件自动售货机的总体设计方案,分析了设计要求,接着设计了售货机的功能模块,最后给出了控制程序的设计方法。经过测试,该程序运行稳定符合设计要求。本文介绍了以AT89C51 单片机为核心的自动售货机的设备控制系统的设计。详细介绍了自动售货机系统的方案设计,硬件选型,软件的工作原理,并着重介绍了原理和技巧,自动售货机的系统设计,软件编程。该系统以AT89C51单片机为核心,采用集中控制方式实现自动售货机的全过程自动控制。使用汇编语言编写系统程序和C语言软件编程和编译,该软件具有编程简单的特点,方便检查错误,易于阅读,所以。汇编语言是一种基本的语言程序,简单易懂,便于记忆和使用等。 关键词:自动售货机;单片机;控制器;显示屏;AT89C51

1 绪论 1.1研究背景 随着经济的发展,传统的固定地点人员销售模式暴露了许多缺点:人力资源需求;所需的服务位置,地理条件;而不是服务时间的最大服务给消费者。自动售货机解决了问题。各种生活、覆盖面广的自动售货,效率高,可以24小时不间断运行,容易和方便的位置,改变网站;全职运作,也可以是兼职(副业业务;)作为广告载体,可以使高外块。投资风险低,高收入。把钱商品添加员工只需要做。如此多的优势,自动售货机在世界上被广泛使用。 智能自动售货机自动控制装置通过单片机为核心,它设置键选择技术,单片机技术和显示技术于一体,具有强大的特点功能,可靠性高,使用方便,维护简单等。因此,已广泛应用于商业和生活中。一些智能自动售货机不仅可以自动识别1元,5毛钱,还可以自动识别20元,10元,5元指出,将自动变化,应用人机对话来提高自动售货机在国内大面积推广成为可能。智能自动售货机越来越多的人性化设计将很快占领中国市场 1.2国内外研究现状 (1)发达国家现状 日本:各种自动售货机保有量超过600万台,平均20人一台,世界普及率第一。1990年通过自动售货机实现的销售额即已达到5兆日元(约3000亿人民币)。 美国:总的机器保有量大致和日本相当,2000年通过自动售货机实现的销售额达到250亿美元,其中OCS(Office Coffee Service)的销售额排第六位。 韩国:自动售货机的使用历史要远短于其它发达国家,仅有25 年,但据2001 年的统计,总保有量已超过80万台。在2001年韩国生产的自动售货机中OCS占32.7%,排第一位,咖啡自动售货机占18.1% ,排第三位,仅次于18.6% 的充电自动售货机。瓶罐饮料自动售货机和复合型自动售货机(同机销售瓶罐饮料和热咖啡)都仅占8.6%,并列第四位。 (2)国内现状 保有量约2万台,且品种单一,主要以瓶饮料售货机为主,技术质量还未完全过关,生产和运营成本较高,收益也不高。导致此现状的主要原因是中国有关的自动售货机企业未能有效解决成本,质量,运营等诸多问题。但由于随中国经济的快速发展和社会的巨大进步,自动售货机的实际需求已相当大。

自动售货机程序

重庆科技学院 《C语言程序设计》 课程设计报告 学院:_电气与信息工程学院_ 专业班级:测控1302 学生姓名:张宇学号: 2013441294 设计地点(单位)_____重庆科技学院___ ________ __ 设计题目:_____________自动售货机系统________________ 完成日期: 2014 年 07月 04 日 指导教师评语: ______________________ _________________ __________________________________________________________________________________ __________________________________________________________________________________ 成绩(五级记分制):______ __________ 指导教师(签字):________ ________

重庆科技学院 课程设计任务书设计题目:自动售货机系统

2014年6月02日

摘要 有史以来,人类发明了无数的信息技术来扩展自身的信息交流、处理和记忆能力。然而,以1946年世界第一台电子计算机的出现为开端,信息技术开始走向一个全新的数字时代。50年多年来,计算机技术飞速发展,日新月异。人们发现起初为解决计算问题而发明的计算机用途越来越广,几乎渗透到涉及信息活动的一切领域。计算机软件的开发更是帮助到各个领域对计算机的使用,更加优化了计算机的功能。 根据本次课程设计内容及要求,完成自动售货机系统的设计。这种无人值守自动售货机贩卖价值为A、B、C的三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3种商品之一,自动售货机吐出商品,并且找给用户零钱。如果商品已经卖完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。 在自动售货机系统中,数据的固化采用.out文件格式进行储存。 关键词:计算机自动售货机储存

自动售货机管理程序

1引言 21世纪,我们已经进入了信息时代,计算机的使用大大方便了我们的日常生活,超市和网上购物已经不能满足我们对便利生活的要求,不能随时随地购物的缺点不能克服的。在此情况下,就需要一个程序化的自动售货机来满足人们日常生活的需求。在C语言的平台下实现,用户可以方便的进行各项购物操作。 C语言是一种程序设计语言,早在20世纪90年代,C语言表现出了强劲的生命力,C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体,既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此可以广泛地移植到了各类型计算机上,从而形成了多种版本的C语言。 采用输入函数和输出函数方式,可以完成对待售物品的名称、数量、价格的输出、顾客所选物品的输入、以及其它购物信息显示。

在对自动售货机管理程序进行需求分析的过程中,需要确定系统的主要功能,对程序开发的主要目的、程序的使用领域和有关该程序开发的软硬件环境进行详细的分析。下面从系统概述、功能模块描述两个方面进行需求分析。 2.1程序概述 自动售货机管理程序是运行于Windows系统下的应用软件,主要用于对待售商品的品名、价钱、数量、生产日期、保质期、编号进行输出等操作。 2.2功能需求 自动售货机管理程序为路边的行人提供了一个随时随地进行购物的平台,给消费者提供了一个简单友好的购物窗口,功能需求如下: (1)输出模块 程序在消费者购物前将所售商品的品牌输出以供消费者选择品牌,然后将消费者选择的品牌下的商品信息输出让消费者选择所需的商品,最后输出“请你付款班级”提示消费者完成购物。 (2)输入模块 让将消费者选定的商品的编码输入程序中然后进行价格的输出,以上述的方式让消费者把购物数量输入进程序中,最后将消费者付款金额输入,进而完成找钱。 (3)返回模块 如果消费者所输入的商品编码自动售货机上没有,则程序自动跳转到商品品牌的选择,提示消费者输入正确的商品编码。并且如果消费者输入的购买数量大于库存数量,程序将自动返回到商品的数量选择界面下,还有如果消费者的付款金额小于消费金额时,程序将自动返回到付款界面。 (4)找钱模块 将消费者付款金额进行判断后,进行一定运算后按50元、20元、10元、1元的分类分别找对。 程序由上述几个模块组成,能帮助消费者以自助的方式完成所需商品的购买并且有效地减少购物时间。另外还能节省售货者的管理时间,大大的提高管理的效率。

基于单片机的自动售货机的系统设计

摘要 本文设计了一种以STC89C52单片机为核心,采用集中控制方式实现了对自动售货机全过程的自动控制。本系统选择3×3矩阵式键盘作为控制按键,实现货物的掉出、退币以及货币数的LCD显示等功能。 关键词:STC89C52,自动售货机,键盘控制,LCD显示

Design of automatic system of vending machine based on Microcontroller 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, the coin and currency number LCD display and other functions. Keywords:STC89C52, vending machine, keyboard control,LCD display

目录 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 货币识别系统 (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)

基于单片机的自动售货机逻辑电路设计

基于单片机的自动售货机逻辑电路设计 发表时间:2019-07-05T14:59:32.447Z 来源:《教育学文摘》2019年8月总第308期作者:赵丹[导读] 自动售货机这种新颖的无人零售方式已逐渐被人们所接受和信赖。日照市技师学院山东日照276800 摘要:本文简述了单片机控制的自动售货机系统的设计,本文阐述了系统硬件电路设计、软件程序设计流程图,硬件电路是由键盘电路和显示电路组成,其中键盘电路采用了4*4的矩阵式的键盘与89S51单片机的接口相连构成,通过键盘电路来选择你要购买的物品;显示电路采用了74LS164 和数码管构成的串行口显示电路构成,通过显示电路显示。 关键词:自动售货机键盘显示自动售货机这种新颖的无人零售方式已逐渐被人们所接受和信赖。自动售货机的普及在某种程度上能反映一个国家的经济发展水平,是一个国家繁荣程度的象征。 一、系统设计 1.硬件设计。系统框图包括:控制器键盘电路、复位电路、保护电路、Money键盘输入电路、显示电路(如图1)。 图2:电源电路(2)键盘电路的设计。键盘是按键或开关的有序组合。按照工作原理的不同,键盘可分为编码键盘和非编码键盘。编码键盘是由硬件完成的,非编码键盘是由软件完成的。非编码键盘有独立式键盘和矩阵式(行列式)键盘两种。键盘电路的主要工作步骤如下:①判别键盘上是否有按键按下。②如果有键按下,则应对其进行扫描,判别是哪一个键按下。③去抖动常采用延时程序。④读取闭合按键的特征值(行和列的位置编码)。⑤对特征值进行译码,获得按键的相应顺序号,而后再按各键的实际定义去执行相应的服务程序。⑥应采用双键锁定或N键轮回解决双键同时按下的问题。根据对键盘的了解,本设计所采用的是4*4的矩阵式键盘与89S51的P1口相连,通过扫描键盘来选择自己要购买的物品。(3)显示电路的设计。在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。本设计采用3片74LS164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了第一片74LS164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在第一、二、三片74LS164中。 2.软件设计。 (1)系统设计原理:

简单自动售货机VerilogHDL程序

自动售货机VerilogHDL程序 一个简单的自动售卖饮料机的程序。该机器具有投币,显示余额,购买六种饮料,退钱等功能,为了更具实用性,增添了饮料选择允许提示和投币允许提示的功能。具体形容,可投入一元、五元、十元和二十元面值的钱币,显示出当前的余额,并根据当前的余额提示能购买哪些饮料,选择某种饮料,则输出选定的饮料,同时余额减去相应的金钱。若选择退钱,机器就退出所有的钱,余额清零。 下图为功能示意图: 程序的状态表:

程序中包含了一个状态机,定义了一个任务(task)和函数(function),用该任务调用了该函数,使用若干分支语句,详见附后源程序和测试程序。 附上程序编译仿真图:

源程序如下: `define one 3'b001 `define five 3'b010 `define ten 3'b011 `define twenty 3'b100 module automart(money,state,moneyout,coinable,adrkable,bdrkable, cdrkable,drkout1,drkout2,drkout3,drkout4,drkout5, drkout6,coin,clk,reset,moneyback,choice1,choice2, choice3,choice4,choice5,choice6); input[2:0] coin;//投币输入,分为1、5、10、20元四种输入 input clk,reset,moneyback,choice1,choice2,choice3,choice4, choice5,choice6;//moneyback为退钱输入,choice1~6是饮料选择output moneyout,coinable,adrkable,bdrkable,cdrkable,drkout1, drkout2,drkout3,drkout4,drkout5,drkout6; //依次为退钱输出,投币许可提示,饮料选择许可,6种饮料输出output[2:0] state;//状态记录 output[7:0] money;//余额显示 reg[7:0] money; reg[2:0] state; reg moneyout,coinable,backable,adrkable,bdrkable,cdrkable; parameter A=3'b000, B=3'b001, C=3'b010,D=3'b011, E=4'b100; assign drkout1=choice1&adrkable;

单片机80c51的自动售货机

摘要: 本文介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。具体说明了可编程序控制器在自动售货机中的作用。程序涉及到了自动售货机工作的绝大部分过程。利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。 关键词自动售货机;可编程序控制器;梯形图 Abstract: This article introduced vending machine's basic principle as well as the work flow, then take a transaction process as examples, divides into several blocks the transaction process, then carries on the programming separately to the block. Explained the programmable controller's in vending machine function specifically. The procedure involved the vending machine work major part process. Enhanced system's stability using the PLC control's vending machine, the guarantee vending machine has been able the long-term stability movement. key word vending machine; Programmable controller; Trapezoidal chart

自动售货机控制系统设计

综合课程设计报告书 自动售货机控制系统设计 题目: 学院:机械与电气工程学院 专业:电气工程及其自动化 班级:13级2班 姓名:付少官 学号:1314216222 指导教师:崔茂齐 教师职称:讲师 2016年6月29日

机械与电气工程学院综合课程设计任务书 专业:电气工程及其自动化班级:2013-2 姓名:付少官学号:1314216222

机械与电气工程学院综合课程设计 目录 自动售货机控制系统设计 (1) 摘要 (1) Abstrct (1) 1、绪论 (1) 2、自动售货控制系统设计总体方案 (2) 2.1元器件选择 (2) 2.2 开发工具 (2) 3、自动售货控制系统硬件设计 (3) 3.1 硬件总体框图 (3) 3.2 AT89C51单片机模块(介绍本次设计所到的功能) (3) 3.2.1.特点 (3) 3.2.2.管脚说明 (3) 3.3.3 本次所应用的管脚说明 (4) 3.3 单片机驱动模块 (5) 3.4 选择按键模块 (5) 3.4.1商品选择 (6) 3.4.2投币 (6) 3.5系统显示模块 (6) 3.5.1 数码管显示器 (6) 3.5.2 显示器的驱动电路 (7) 3.6出货以及退币模块 (7) 4、自动售货控制系统软件设计 (8) 4.1系统流程图 (8) 4.2元器件计算 (8) 5、系统总电路图及调试仿真 (9) 5.1总电路图 (9) 5.2系统调试 (10) 5.3系统仿真 (10) 总结及致谢 (13) 参考文献 (14) 附录 (15) 附录1、元件清单 (15) 附录2、源程序 (15) 附录3、自动售货机控制系统protel99se原理图 (22)

自动售货机控制系统的设计最终版

精品文档 课程设计任务书 PLC控制系统设计设计题目:饮料自动售货机 学院:机械工程学院 机械测控专业: 班级: 姓名: 组员: 指导老师:

精品文档 摘要】【本文介绍了自动售货机的基本原理以及工作流程,然后以一 次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。具体说明了可编程序控制器在自动售货机中的作用。程序涉及到了自动售货机工作的绝大部分过程。利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。 关键词:自动售货机;可编程序控制器;梯形图 Abstract:This paper introduces the basic principles of vending machines, as well as workflow, and then to a transaction process as an example, the transaction process is divided into several block, and then the block were programmed. Specify the PLC in the role of vending machines. Procedures related to the work of the vast majority of vending machine process. PLC control of the use of vending machines enhance the stability of the system to ensure that vending machines capable of long-term stable operation.

基于单片机控制的自动售货机系统设计

目录 摘要 .......................................................................I Abstract ...................................................................II 绪论 (1) 第一章自动售货机的系统结构 (5) 1.1 自动售货机的系统概述 (3) 1.1.1 自动售货过程的控制子系统简述 ...................................... (4) 1.1.2 自动售货过程的通讯子系统简述 (5) 1.2自动售货机的功能简介 ............................................. .. (6) 1.2.1 此次设计的自动售货机的功能简介 .................................. ..6 1.2.2实现自动售货机的功能的设计思路 (7) 1.2.3论文的内容及拟解决的问题 .................................... (7) 第二章.自动售货机的系统硬件电路设计... . (10) 2.1 自动售货机中央控制元件 8751 的介绍 (8) 2.2 货币识别系统 (9) 2.3 货物选择系统 (11) 2.4 出货及显示花钱数系统 ................................................. (11) 2.5 找钱及显示找钱数系统 ................................................. ..13 2.6 出错报警系统简述 .. (14) 第三章.自动售货机的系统软件程序设计 (15) 3.1自动售货机货币识别系统程序流程图 .................................. . (15) 3.2自动售货机货物选择系统的程序流程图 ................................ (15) 3.3自动售货机出货,显示花钱数系统流程图 ........................... .. (19) 3.4 自动售货机找钱,显示找钱数系统流程图 (20) 3.5 出错报警系统流程图 (21) 第四章.系统软、硬件设计实现 (21) 4.1 驱动程序 (23) 4.1.1 实现有效投币定时 30 秒以及累加计数程序: ........................ .. (23) 4.1.2 货物选择系统的驱动程序 (24) 4.1.3 报警系统的驱动程序 ............................................... . (30) 结论 (27) 参考文献 (28) 致谢 (29) 附录 (30)

基于单片机的自动售货机定稿版

基于单片机的自动售货 机 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

摘要 本文设计了一种以AT89C51单片机为核心的自动售货机装置的控制系统。详细介绍了自动售货机系统的方案设计、硬件选择、软件编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。该系统以单片机AT89C51芯片为核心,采用集中控制方式实现了对自动售货机全过程的自动控制。系统程序采用汇编及C语言软件进行程序的编写和编译,该软件具有编程简单、查错方便、阅读容易等特点。汇编语言是程序的基本语言,具有容易理解,便于记忆和使用等特点。 关键词:智能自动售货机,AT89C51单片机,LCD液晶,控制系统

目录 引言 (1) 第1章总体方案设计 (2) 1.1设计要求 (2) 1.2 设计目标 (2) 1.3 课题分析 (3) 第2章硬件设计 (4) 2.1 此次设计的自动售货机的功能简介 (4) 2.2 实现自动售货机的功能的设计 (5) 2.2.1晶体振荡和复位电路 (5) 2.2.2独立键盘按键的识别 (6) 2.2.3投币系统 (6)

2.2.4 LCD显示 (7) 第3章软件设计 (8) 3.1 货物选择系统的程序 (8) 3.1.1选择系统流程图 (8) 3.2 投币系统程序 (9) 3.2.1 投币系统流程图 (9) 3.3 出货系统程序 (11) 3.3.1 出货系统流程图 (11) 3.4 找零系统程序 (12) 3.4.1找零系统流程图 (12) 第4章仿真设计 (13) 4.1 Proteus简介 (13)

c语言自动售货机实验报告

课程设计 课程名称C语言高级程序设计学院xxx 小组成员1 XXX 小组成员2 XXX 小组成员3 XXX 任课教师XXX 2016——2017学年第1学期

一.所选题目与要求 自动售货机 问题情景: 分析学校教学楼自动售货机的功能,设计一个自动售货系统。 功能要求: 1.系统能提供所售商品的清单(编号,名称,单价,数量) 2.客户输入商品编号及购买数量,系统显示应付的金额,输入客户实付的钱数,系统计算应找的钱数系统如果没有足够的库存或零钱时,现实应返还客户已付的金额。(不考虑用支付宝付款的情况) 3.可增加商品种类,增加商品库存,查询商品库存,查询商品销售量及销售额。 成果要求: 通过网络教学平台中的“研究型教学”建立分组,每组2-3人,通过小组讨论,确定每人的分工,并确定系统设计方案。 各小组成员在网络教学平台上进行讨论、并完成最终的报告,整个过程作为小组及个人工作评价的重要依据。 各小组成员根据系统设计方案分模块进行编程,在系统各模块编码完成后集成调试,并最终完成整个系统的测试。 根据下面的报告模板完成综合实验总结报告,并打印成纸质报告,作为大作业课程结束时上交。 附:综合实验总结报告应包含的内容: 1. 系统功能说明 2. 程序结构 程序结构说明 重要数据说明 函数清单 /* 每个函数的书写格式 */ 函数名:所在文件名 函数功能

参数说明 算法描述或程序代码 3. 系统运行结果 4. 系统设计难点及其解决方法 5. 不足之处 6. 人员分工说明 二.问题分析及算法设计 主函数 void main() //主函数模块 { do{ system("pause"); show(); //显示屏幕函数,商品清单 loop1:printf("现在你有%.1f元\n你可以选择商品序号开始选购或按0 退出\n",M); input(); //输入函数 if(M-goods[n-1].price>v) {t=0;printf("对不起,售货机没有足够的零钱了\n谢谢光临!退还%.1f元\n",M);break;} //判断售货机是否有足够的零钱,0表无if(n==0){ //确认用户是选择离开还是买东西开始购买 t=1; change(M);} //找零函数 else { loop2:sell(n,M,1,1); //购买函数 if(A==0)//货没有了怎么办 input(); //输入函数………………………………………………………………………..

自动售货机系统源代码

#include #include #include #include "goods.h" bool GetCharge(int Sum,int Money); void Getsmalcharge(int Money,int *ChargeNum); int KouLing(); char ChooseJieMian(); char SaleCenter(); void loadGoodsFromFile(Goods* gs); char ManageCenter(); void KunCun(); void Sale(); void ShangJia(); void TongJiFun(); Goods goods[3]; TongJi tj[3]; void init(){ for(int i = 0; i < 3; ++i){ tj[i].jrxl = 0; tj[i].jrzje = 0; } } void main() { //初始化 init(); int op = 0; //读取商品信息 loadGoodsFromFile(goods); char c = ChooseJieMian(); while(true) { system("cls"); if( c == '1'){ c = SaleCenter(); }else if(c == '2'){ op = KouLing(); if(op == 1){ //进入管理界面 c = ManageCenter();

//system("pause"); } else if(op == 0){ //进去销售界面 c = SaleCenter(); } } } } //---------------------------------------------------- /** * @return 1销售界面2管理界面 */ char SaleCenter() { char state='N'; int Sum=0; char Pro = 'd'; // printf("\n********************************\n"); while(true) { state='N'; Sum=0; while(!(Pro == 'c' || Pro == 'a' || Pro == 'b' || Pro == 'q')) { system("cls"); printf("\n\t*******************************************"); printf("\n\t*********顾客您好,请选择商品**************\n"); printf("\n\t·a·商品%s ·b·商品%s ·c·商品%s ·q·管理\n",goods[0].name,goods[1].name,goods[2].name); printf("\n\t -%d- -%d- -%d- (单位:件)",goods[0].totalCount,goods[1].totalCount,goods[2].totalCount); printf("\n\t*******************************************\n\t\t"); Pro = getchar(); } if(Pro == 'q') break; switch(Pro) {

相关文档
最新文档