当前位置:文档之家› 基于单片机的自动售货控制系统设计

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

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

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

摘要

本文设计了一个基于AT89C51单片机的自动售货控制系统,文中详细的介绍了设计方案的实施背景,各种元器件的选择,系统模块的划分以及功能的实现。该系统模块划分清晰,采用按键实现人机的友好交互。以C语言为开发语言,可读、易理解性大大提高。开发环境为Keil,Proteus有机结合,keil实现代码的编写、修改、编译,Proteus则对编译好的代码在模拟器件上进行仿真。有效的提高了开发效率。系统最终实现了货物选择、投币显示、退币显示、出货显示等一系列功能。关键词:AT89C51;自动售货机;PROTEUS

The Design of Vending Control Systems Based on SCM

Peng xin Yi

(College of Physics, Mechanical and Electrical Engineering, JishouUniversity, Jishou, Hunan 416000)

Abstract

Vending 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

目录

第一章绪论 (1)

1.1 自动售货机的历史及发展前景 (1)

1.2 自动售货控制系统设计的意义 (1)

1.3 本文的主要设计内容 (2)

第二章自动售货控制系统设计分析 (3)

2.1 系统总体设计分析 (3)

2.2 元器件选择 (4)

2.3 开发工具 (4)

第三章自动售货控制系统硬件设计 (5)

3.1 硬件总体框图 (5)

3.2 AT89C51单片机模块 (5)

3.2.1 管脚说明 (6)

3.2.2 AT89C51单片机的主要特性 (7)

3.2.3 芯片擦除 (8)

3.3 单片机驱动系统模块 (8)

3.4 系统显示模块 (9)

3.4.1 数码管显示器 (9)

3.4. 2 显示器的驱动电路 (9)

3.5 货币识别投入电路模块 (10)

3.6 货品选择按键模块 (10)

3.7 出货、退币模块 (11)

3.8 小结 (11)

第四章自动售货控制系统软件设计 (12)

4.1 C51语言的优缺点 (12)

4.2 Keil和Proteus开发步骤 (12)

4.3 主要模块软件设计 (13)

4.3.1 按键扫描及键值识别模块 (13)

4.3.2 数码管显示电路 (13)

4.3.3 投币电路 (14)

4.4 小结 (14)

第五章调试与仿真 (15)

5.1 调试与仿真 (15)

5.2 不足与改进 (19)

总结 (21)

参考文献 (21)

附录 (22)

第一章绪论

1.1 自动售货机的历史及发展前景

据说世界上最早的自动售货机出现在公元前3世纪,那是埃及神殿里的投币式圣水出售机。17世纪,英国的小酒吧里设有了香烟的自动售货机。在自动售货机历史的长河中,日本开发出实用型的自动售货机,那是在进入本世纪后的事。日本第一台自动售货机是1904年问世的“邮票明信片自动出售机”,它是集邮票明信片的出售和邮筒投函为一体的机器。自动售货机的真正普及是在第二次世界大战以后。50年代,“喷水型果汁自动售货机”大受欢迎,果汁被注入在纸杯里出售。后来,由于美国的饮料大公司进入日本市场,1962年,出现了以自动售货机为主体的流通领域的革命。1967年,100日元单位以下的货币全部改为硬币,从而促进了自动售货机产业的发展。

现在,自动售货机产业正在走向信息化并进一步实现合理化。例如实行联机方式,通过电话线路将自动售货机内的库存信息及时地传送各营业点的电脑中,从而确保了商品的发送、补充以及商品选定的顺利进行。并且,为防止地球暖化,自动售货机的开发致力于能源的节省,节能型清凉饮料自动售货机成为该行业的主流。在夏季电力消费高峰时,这种机型的自动售货机即使在关掉冷却器的状况下也能保持低温,与以往的自动售货机相比,它能够节约10-15%的电力。进入21世纪时,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。

1.2 自动售货控制系统设计的意义

自动售货机从问世以来就备受关注,因其无需专人守护而可以每天24小时售货,被称为“微型超市”。自动售货机的核心在其控制系统,它能够准确的识别币值以及货品,控制自动售货机接受钱币然后选出顾客所需的物品。如今是一个智能化的社会,越来越多的智能产品将被研发生产出来,简单实用的自动售货机将会逐步成为人们购物的“优秀售货员”。

自动售货装置已经成为一个城市的标志,地铁站内、图书馆旁、大型超市门口都能见到它们的踪影。自动售货装置以其特点:无需专人看管,所占空间不大,方便人们购物在当今的社会中占据重要的地位。一个性能优越的自动售货机取决于它的自动控制系统,采用AT89C51单片机为控制核心是由于AT89C51单片机的可靠性高,编程简单,接口方便,同时配以相应的外围电路来驱动单片机以及实现该系统

的其他相关的功能。自动售货装置有着广阔的发展前景及市场,优良的自动售货控制系统的设计将会不断的推动其前进。

1.3 本文的主要设计内容

本文主要设计了一个自动售货控制系统,从自动售货机的历史、自动售货系统总体分析、自动售货系统硬件设计、自动售货系统软件设计、调试与仿真等五个方面进行。总体分析得出系统的框图和顾客购物流程、元器件的选择,硬件设计采用Proteus模拟连接实物图,软件设计采用c语言编写,keil进行调试,调试与仿真则在Proteus中清晰可见。各部分功能明确,相互协调,共同支配着自动售货系统的有序运行。

第二章 自动售货控制系统设计分析

2.1 系统总体设计分析

现在我们来简单模拟一下顾客的购物流程:当顾客需要从自动售货机购买货物时,顾客首先通过一些外部控件选择自己需要的货物。此时顾客需要知道自己应该支付多少金额,所以自动售货机显示顾客所选货物的总金额。然后顾客可以向自动售货机的投币口投入钱币,自动售货机显示顾客投入的钱币总金额,当投入的金额大于所需的金额的时候,顾客购买的货物将从出货口送出,同时退币口退还顾客多余的金额。根据顾客的购物流程分析,我设计出合理可行的自动售货控制系统框架图如图2-1。

图2-1 自动控制系统流程图

根据自动控制系统的流程图,能够很清晰的得出系统的设计思路:当顾客选择货物的时候,可以采用三个按键来模拟三种货物(本设计提供三种货物供选择),货物多样性更加接近现实;显示模块采用数码管显示顾客所选择的所有货物的金额,金额的计算由内部逻辑处理;投币部分用两个按键来模拟2种币值(本设计提

开 始

系统初始化

选购货物

确 认

投 币

售 货

找 零

N Y

供两种可识别币值);顾客成功购买后,用一个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等多种编译。

第三章自动售货控制系统硬件设计

3.1 硬件总体框图

经过分析自动售货控制系统的设计得出自动售货控制系统的总体框图如3-1。系统由AT89C51单片机为控制核心,外围电路有AT89C51单片机驱动电路,货物选择按键电路,数码管显示电路,取货显示,退币显示以及投币电路。各部分相互协调工作,共同完成自动售货控制系统的运行。

数码管显示电路单片机驱动模块

取货显示

AT89C51单片机

退币显示货物选择按键电路

投币电路

图3-1总体框图

3.2 AT89C51单片机模块

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。外形及引脚排列如图3-2(a)(b)所示:

(a)AT89C51外部结构图(b)AT89C51引脚图

图3-2

3.2.1 管脚说明

(1) VCC:供电电压。

(2) GND:接地。

(3) P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

(4) P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

(5) P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。

(6) EA/VP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器,注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

(7) P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入1后,它们被内部上拉为高电平,并用作输入。作为输

入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为AT89C51的功能口,如表3-1所示。P3口同时为闪烁编程和编程校验接收一些控制信号。

表3-1 P3口功能

P3口口管脚备选功能

P3.0 RXD 串行输入口

P3.1 TXD 串行输出口

P3.2 /INT0 外部中断0

P3.3 /INT1 外部中断1

P3.4 T0 记时器0外部输入

P3.5 T1 记时器1外部输入

P3.6 /WR 外部数据存储器写选通

P3.7 /RD 外部数据存储器读选通

(8)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平。

(9)ALE/P:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

(10) PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

(11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

(12)XTAL2:来自反向振荡器的输出。

3.2.2 AT89C51单片机的主要特性

AT89C51单片机与MCS-51微控制器产品系列兼容;片内有4KB可在线重复编程的快闪擦写存储器;存储数据保存时间为10年;宽工作电压范围VCC可为2.7V 到6V ;全静态工作可从0Hz至16MHz ;程序存储器具有3级加密保护;128*8位内部RAM ;32条可编程I/O线,两个16位定时器/计数器;中断结构具有5个中断源和2个优先级,可编程全双工串行通道,空闲状态维持低功耗和掉电状态保存存储内容。

3.2.3 芯片擦除

整个PEROM阵列和三个锁定位的点擦除可通过正确的控制信号组合,并保持LE 管脚处于低电平10ms来完成。在芯片擦除操作中,代码阵列全被写1且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停在工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.3 单片机驱动系统模块

单片机驱动模块是用来驱动单片机工作的电路,由2个去耦电容与晶振并联接入晶振接口,构成时钟电路,为单片机提供时钟信号;复位电容与一电阻接入复位接口,是为系统提供初始化信号。根据需求可以设计出该驱动模块的实际电路图如图3-3所示:

图3-3 AT89C51单片机的驱动电路

图中C1,C2均为20pf的去耦电容,C3为10u的复位电容,X1为12M的晶振,R1上拉电阻,晶振X1两端分别与C1,C2的一端相连并接入晶振接口XTAL1,XTAL2。C1,C2的另一端接R1的一端并一起接地,R1的另一端与C3一端接入复位接口,C3的另一端接片内存储器,并接入电源接口。C1,C2,X1构成时钟电路,为单片机提供时钟信号。此单片机片内存储器有效,可使用片内存储器,不用外部拓展,R1起下拉作用,稳定系统。

3.4 系统显示模块

系统显示模块采用4位8段共阳数码管显示金额。首先显示所选物品金额,然后显示投入金额,最后显示找还金额。P0口没有内置上拉电阻,要在外部接排阻上拉,数码管段选接P0口,为选经过三极管驱动与P2.0-P2.3相接。

3.4.1 数码管显示器

显示器用以显示所选物品总金额、投入金额、退还金额。LED显示器是由发光二极管显示字段的显示器件,也可称为数码管。系统中通常使用8段LED数码显示器,其外形及引脚如图2-5(a)所示,由图可见8段LED显示器由8个发光二极管组成。其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,通过不同的组合可用来显示各种数字,包括A~F在内的部分英文字母和小数点“.”等字样。

LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称为共阴极LED显示器,我们选择其中一种共阳极.如图2-5(b)所示:

图3-4 8段LED数码显示器

LED显示器有动态显示和静态显示.由于静态显示器硬件要求比较高,而且显示的位数不如动态显示器多,为此我们选择8位的动态LED显示器.动态LED显示器是将所有位显示器并接到I/O接口,用两个锁成器,一个用以选位,另一个用以选段,具体连接总图上有。

3. 4. 2 显示器的驱动电路

下图中RP1为排阻,因为P0口没有内置上接电阻,需要在外部接排阻进行上拉,数码段选接P0口,位选与P2.0-P2.3相连接。位选的接口为低电平是该位被选中,能够显示数据,为高电平时,该位不被选中,则不亮,不能显示任何数据。此显示器驱动电路如图3-5所示:

图3-5 显示器驱动电路图

3.5 货币识别投入电路模块

货币识别电路采用两个按钮开关模拟,第一个按钮开关表示投入1元硬币,第二个按钮开关表示投入5元纸币,该系统只能识别这两种币值。货币识别投入电路如图3-6所示:

图3-6货币识别投入电路图

3.6 货品选择按键模块

键盘为7个独立按键,按键1-5是购物键,分别代表了1元、2元、3元,数量2、数量3不等的货物价格的数量,6按键是确认键,用户在选定所欲购买的货物后必须按确认键,6是取消键,当某个操作错误是可以按取消键返回上一级菜

单。该模块中7个键并联,一端接公共地,一端接单片机的P1.0-P1.6口。按键选择电路如图3-7所示:

图3-7按键选择电路

3.7 出货、退币模块

出货、退币模块才用4个led灯模拟,第一个为货物指示灯,当顾客投币完成后,币值足够是该led灯亮,表示有货物出来。其余3个模拟找零,分别为1元、2元、2元(便于模拟),但某个通道的灯亮了,说明该通道有退币。出货、退币电路图如图3-8所示:

图3-8出货、退币电路

3.8 小结

系统硬件的设计需满足设计要求,各电路要简洁、实用。单片机的选择要满足设计要求,驱动电路要为单片机提供时钟信号及正常工作的功率驱动;按键电路即系统的输入电路,用户利用按键系统输入信号;显示电路由数码管显示用户所投货币的金额和找零金额;货币识别投入电路用按键模拟货币的投入。

第四章自动售货控制系统软件设计

4.1 C51语言的优缺点

现在有四种语言支持8051系列单片机编程,即汇编、PL/M,C和BASIC,在开发中最常用的是汇编语言,但随着程序复杂程度的提高,汇编语言逐渐暴露了它的不足,BASIC适合于初学者或要求编程简单而对编程效率和运行速度不高的场合。PL/hi对8051系列单片机来讲,不支持复杂的算术运算和浮点变量,无丰富的库函数支持。

C语言是一种源于编写UNIX 操作系统的语言,是一种结构化语言,可产生紧凑代码。为了更好地实现对单片机的开发,C51应运而生。每个不同公司开发的C51不尽相同,本系统采用的是Keil Elektronik Gmbh开发的KeiluVision2工具软件来进行系统软件编写和调试的。

在嵌入式系统中,相对于汇编语言,C语言作为一种高级语言主要存在两个不足:一,生成的可执行代码冗长,效率不高。对于这一点,随着处理芯片运算速度的提高、集成ROM的扩大,特别编译系统的不断优化,冗长已经不再是问题。这也是C在嵌入式系统中逐渐成为主流编程语言的主要原因之一。二,C生成的可执行代码在时序上不容易控制,比如本系统中要实现的时序控制。一般的解决方案是在C 程序中嵌入汇编语句,但其实只要充分挖掘C的潜力,在时序要求严格的场合完全可以用C语言实现。具体方法就是阅读开发环境给我们提供的反汇编代码。反汇编代码一目了然的反映了微控器的运行时序,然后根据反汇编代码修改C源程序。

4.2 Keil和Proteus开发步骤

Keil对于单片机开发是十分有用的,开发效率高、操作简单、功能齐全。Keil 开发步骤清晰易懂:启动Keil、新建工程、新建文本、编写源程序、编译。在编译产生.hex文件时需要注意,选中output的create HEX File才能在文件目录生成.hex的文件。

Proteus在硬件构图方面功能强大,但是Proteus的使用难度也比较大。在本设计中,Proteus开发流程为:启动Proteus、新建工程、选取元器件、连接电路图、添加.hex文件、运行查看结果。

Keil和Proteus结合开发能够使得开发更为简单,开发流程图如图4-1所示:

图4-1 Keil 和Proteus 开发流程图

4.3 主要模块软件设计

根据控制系统的设计要求及硬件设计,该系统的软件采用模块化的设计方法,编程语言为C 语言。代码模块包括:主程序模块、按键扫描及键值识别模块、数码管显示及售货模块、货币识别投入及找零处理模块。源程序见附录。 4.3.1 按键扫描及键值识别模块

该模块使用7个独立按键模拟顾客选择货物,程序设计时通过判断对应按键的接口的电平为高/低来确定顾客的选择,如果接口为低电平表示按键被按下。在判断按键是否被按下的过程中,采用软件的办法消除按键抖动,具体的方法为首先判断接口是否为低电平,如果为低电平则进行短暂的延时,然后在判断该接口是否为低电平,如果仍然为低电平,那么表示该按键确实已经被按下,触发对应的处理逻辑。按键1到按键3表示货物的品种,按键4和按键5表示顾客选择货物的数量,按键6表示确定,按键7表示取消。顾客每次选择了后都需要按下按键6来确定,通过显示模块会给顾客良好的提示。 4.3.2 数码管显示电路

数码管接在单片机的P0口,由于P0口没有上拉电阻,所以需要外接上拉电阻。数码管采用动态显示,首先用一个数组table[]保存0-9的对应的数码管显示十六进制。通过逻辑计算得出需要显示的数据后,使用table[i]来取出对应的数据置于P0口。调用显示函数时:首先判断顾客购物处于哪一步,第一步表示顾客选

启动keil

新建工程 新建文本 文本加入工程

编写程序 编译 启动Proteus

新建工程

选取元器件

连接电路图

添加.hex 文件

运行

生成.hex 文件

择货物,第二步表示顾客投入的币值,第三步表示应退还的币值。同时数码管显示对应步骤的数据,在第三步中,如果顾客投入的币值小于应付的币值,那么步骤退一步,同时显示为投入的币值。

4.3.3 投币电路

投币电路采用两个按键模拟,一个表示1元,一个表示5元。当系统处于投币阶段的时候,判断投币按键是否被按下,如果被按下则表示有钱币投入,根据按键按下的次数对投入币值进行累加。投币结束后需要按确认键让系统进入下一个阶段。同时数码管会显示投入总币值。

4.4 小结

系统软件设计主程序以调用其他功能函数为主,每一个模块单独写一个函数,代码可读性、可移植性性、安全性大大提高。主函数只需调用功能函数,主程序简单精简,系统运行效率提高。

第五章调试与仿真

5.1 调试与仿真

为了使设计更加的清晰明了,我采用了Proteus来进行仿真。主要仿真的步骤与结果如下:

第一步:打开Proteus程序,根据硬件总体设计完成元器件的布局和连线如

图5-1所示:

图5-1 硬件结构图

第二步:在keil中编译源程序,如图5-2所示。生成.hex文件,将.hex文件添加到AT89C51。每次修改更新源程序后都应该重新编译产生.hex文件。在keil 界面的下部分消息提示栏观察是否有警告、错误,是否成功生成.hex文件。

图5-2 源程序编译

第三步:点击Proteus的运行按钮,得到初始化的状态图如图5-3所示。此时系统处于第一阶段,只有按键1到按键5有效,其他按键对系统不产生影响。数码管显示为初始0,led灯全部为灭的状态。

图5-3 初始化

第四步:点击选择按钮(此次模拟先按按键1,按后按按键5),然后确定(按键6)。数码管显示所选取物品的总价格如图5-4所示。此时系统处于第二阶段,按键8和按键9投币电路有效,数码管显示所选货物的总金为3元,led全部为灭的状态。

图5-4 选择物品价格

第五步:点击投币按钮(此次模拟先按按键8,按后按按键8),然后确定(按键6)。数码管显示投入币值如图5-5所示。此时系统处于第三阶段,按键8和按键9有效。数码管显示投入总币值为6元,led为全灭状态。

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

基于单片机的自动售货机 摘要 自动售货机是自动化技术在人们生活中的重要应用。随着人们生活质量的不断提高,对自动售货机的性能要求越来越高。自动售货机的主要功能是通过人机对话的形式完成自动售货这一过程。 本文设计了一款以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

自动售货机控制系统的设计(已修)

自动售货机控制系统的设计专业:电子信息工程 班级:10级电信(1)班 学号:12010248815 姓名:李浩

1.1系统描述与控制要求 PLC 控制的自动售货机系统主要有三个可以感受到投币量的传感器,六个按钮开关(分别为启动按钮、停止按钮、退币按钮、汽水选择按钮、花茶选择按钮和咖啡选择按钮)三个指示灯,(分别为汽水指示灯,花茶指示灯和咖啡指示灯),和两个七段数码管。传感器用来接收投币信号,传送投币量的多少;按钮开关分别对系统功能进行控制,当投入的钱币够某一种饮料时,按下这种饮料的选择按钮时才会有饮料送出,有剩余钱币时,还可以通过按下退币按钮来找回剩余钱币;三个指示灯分别用来只是哪种饮料可以选择,只有投币量大于或等于这种饮料的价格时,这种饮料的指示灯才会亮;同时,还有两个七段数码管,用于显示当前剩余的总钱币。具体对自动售货机的控制要求如下: 1.自动售货机有3 个投币孔,分别为1 元、5 元和10 元。 2.售货共有3种饮料供选择,分别为汽水、花茶和咖啡。 3.如投币总额超过销售价格,将可由退币钮找回余额。 4.投币总额或当前值显示在7段数码管上。 5.投币值等于或大于12 元时,汽水指示灯亮,表示只可选择汽水。 6.投币值等于或大于15元时,汽水和花茶指示灯亮,表示可选择汽水和茶。 7.投币值等于或大于20元时,汽水、花茶和咖啡指示灯亮,表示3 种均可选择。 8.按下要饮用的饮料按钮,则相对应的指示灯开始闪烁,3s 后自动停止,表示饮料已经掉出。 9.动作停止后按退币钮,可以退回余额,退回金额如果大于10元,则先退10元再退1 元,如果小于10元则直接退 1 元的。 1.2控制工艺分析 自动售货机的基本功能就是对投入的钱币数进行计算, 然后根据运算结果做出相应的判断,看看哪种商品可以进行购买,哪种商品不能购买,本次课程设计的要求是可识别三种钱币,分别是 1 元,5元,10 元,采用三个按钮进行模拟, 自动售货机共出售3 种货物,其价格分别定为12 元,15元,20元,当投币数大于等于货物价格时,该种货物的指示灯亮,表示可以进行购买,3 种货物分别用3个信号灯进行指示.除此之外,本次设计还涉及了显示,找零等功能的实现, 其中显示部分采用数码管进行显示, PLC的外围接口由两个CD4511 连接两个数码显示管,以显示投币总数和购买后的余额;当按下找零按钮后,数码管显示进行清零。整个系统由三个可以感受到投币量的传感器,六个按钮开关,三个指示灯,和两个七段数码管和两片CD4511组成。

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

课程设计任务书 设计题目:饮料自动售货机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的产生

自动售货机控制系统设计

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

机械与电气工程学院综合课程设计任务书 专业:电气工程及其自动化班级:2013-2 姓名:付少官 自动售货机控制系统设计 (1) 摘要 (1)

Abstrct (1) 1、绪论 (1) 2、自动售货控制系统设计总体方案 (2) 元器件选择 (2) 开发工具 (2) 3、自动售货控制系统硬件设计 (3) 硬件总体框图 (3) AT89C51单片机模块(介绍本次设计所到的功能) (3) (3) (4) 本次所应用的管脚说明 (4) 单片机驱动模块 (5) 选择按键模块 (5) (6) (6) 系统显示模块 (6) 数码管显示器 (6) 显示器的驱动电路 (7) 出货以及退币模块 (8) 4、自动售货控制系统软件设计 (8) 系统流程图 (8) 元器件计算 (9) 5、系统总电路图及调试仿真 (10) 总电路图 (10) 系统调试 (11) 系统仿真 (11) 总结及致谢 (14) 参考文献 (15) 附录 (16) 附录1、元件清单 (16) 附录2、源程序 (16) 附录3、自动售货机控制系统protel99se原理图 (23)

自动售货机控制系统设计 付少官 摘要本文详细介绍了自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。该系统以单片机AT89C51芯片为核心,采用集中控制方式实现了对自动售货机全过程的自动控制。本系统选择独立式键盘按键作为货物选择端,实现了投币总数的显示功能。此外,系统程序采用keil软件进行程序的编写和编译,该软件具有编程简单、查错方便、阅读容易等特点。汇编语言是程序的基本语言,具有容易理解,便于记忆和使用等特点。 关键词:自动售货机,AT89C51,LCD显示 Abstrct T his paper describes a vending machine system design, hardware selection, software planning and preparation, and describes the focus of the work vending machine system theory, system design, software programming principles and techniques. AT89C51in the system as the core chip, the realization of a centralized control of the vending machine's automatic control the entire process. Choice of the system as a stand-alone keyboard keys to choose the goods side, the realization of the coin shows the total number of features. In addition, the system program using keil software to prepare and compile procedures, the software programming is simple, convenient error checking, easy to read and so on. Assembly language is the basic language program with easy to understand, easy to remember and use and so on. Key words:Vending Machines,AT89C51,LED Display 1、绪论 自动售货机是一种全新的商业零售形式,从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。 随着科技的发展及人们生活水平的提高,自动售货机市场越来越呈现出多元化及个性化的需求。人们通过自动售货机自助购物,这种简单、快捷的方式正逐渐成为市民的一种新的消费时尚,并且满足了人们在当今科技高速发展的现代社会追求高品质生活的需要。自动售货机在城市商业区、写字楼大厅、风景区、车站、码头、繁华街道等公共场所的布设能够美化城市环境,方便群众生活,它已经成为城市各角落的一道亮丽风景线。 自动售货机必将在国内普及,并成为城市现代文明程度的一种象征性标志。本文详细介绍了如何控制、要求进行自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。

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

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

目录

第一章微控制器应用系统综合课程设计的目的意义 (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单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。使学生增进对单片机的感性认识,加深对单片机理论方面的理解。使学生掌握单片机的内部功能模块的应用,如定时器/计数器、

自动售货机PLC系统设计

+ 安徽汽车职业技术学院毕业设计(论文) 学生姓名:王家伟 系部:机电系 专业:机电一体化 班级:14-04班 指导老师;李明

自动售货机的PLC控制系统设计 摘要:本文介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。具体说明了可编程序控制器在自动售货机中的作用。程序涉及到了自动售货机工作的绝大部分过程。利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。 关键词自动售货机;可编程序控制器;梯形图 Abstract:This paper describes the basic principle of the vending machine and the working process, and then take a transaction process, the transaction process is divided into several block, then respectively for programming block. The concrete expression of the role of programmable controller in the vending machine. Program involves the vending machine work most of the process. Using PLC control of automatic vending machine to improve the stability of the system, and the vending machine to ensure the long-term stable operation. Keywords:The vending machine; Programmable controller; Ladder diagram

自动售货机控制系统

电子课程设计 ——自动售货机控制系统 学院:电子信息工程学院 专业、班级:通信101501 姓名:黄兆凯 学号:201015030106 指导教师:李东红 2012年12月

目录 一、设计任务与要求 (1) (1)基本要求 (1) (2)提高要求 (1) 二、总体框图 (1) (1)设计思路 (1) (2)系统原理 (1) 三、器件选择 (2) 四、功能模块 (2) (1)功能控制模块 (2) (3)输入信号处理模块 (5) 五、总体设计电路说明 (6) (1)系统仿真 (7) (2)硬件验证(操作) (8) 六、总结 (9)

自动售货机控制系统 一、设计任务与要求 (1)基本设计要求 设计一个模拟自动售货机的逻辑控制电路 1、它有两个投币口分别为一元投币口和五角投币口。 2、每次只能投入一枚一元或五角硬币。 3、投入一元五角硬币后机器自动给出一瓶矿泉水。 投入两元硬币后,在给出一瓶矿泉水的同时找回一枚五角的硬币。 (2)提高要求 1、增加一个五元投币口和出水数量选择按钮,一个一元的找钱端口。 二、总体框图 1、设计思路 根据设计要求可以对售货机的基本功能进行确定。它应该能够区分一元和五角硬币,并且能够对投入的货币进行累加。当所投币值达到商品售价。就自动送出商品。因为题目要求只有一种商品并且其售价为一元五。根据这一特殊点可设计方案如下:用两个开关分别模拟投入一元和五角硬币时产生的信号,高电平有效。用两颗LED分别模拟售出商品和找钱信号,灯灭有效。 2、系统原理 自动售货机的所有信号均由同步时钟信号clk的正边沿触发。由于售货机的硬币接受器一般是一个机械设置装置,投币时产生的信号要比同步信号clk要慢得多,一般可持续好几个周期,必须对投币输入信号进行处理,使每一次投币时在clk脉冲周期内只能产生一个脉冲作为功能控制模块的投币驱动信号。因此可将该系统分为两个模块。 如图一:

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

基于单片机的自动售货机设计 概括介绍了自动售货机的现状,针对电子创新实验室电子元件管理难题提出了一种能够自动管理与售卖电子元件的自动售货机的设计思路!给出了电子 元件自动售货机设计方案。首先研究了电子元件自动售货机的总体设计方案,分析了设计要求,接着设计了售货机的功能模块,最后给出了控制程序的设计方法。经过测试,该程序运行稳定符合设计要求。本文介绍了以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万台,且品种单一,主要以瓶饮料售货机为主,技术质量还未完全过关,生产和运营成本较高,收益也不高。导致此现状的主要原因是中国有关的自动售货机企业未能有效解决成本,质量,运营等诸多问题。但由于随中国经济的快速发展和社会的巨大进步,自动售货机的实际需求已相当大。

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

摘要 本文设计了一种以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)

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

课程设计题目:自动售货机控制系统的设计 目的与任务: (1)进一步掌握MAX+PLUSⅡ软件的使用方法; (2)会使用VHDL语言设计小型数字电路系统; (3)掌握应用MAX+PLUSⅡ软件设计电路的流程; (4)掌握自动售货机的设计方法; (5)会使用GW48实验系统。 内容和要求: 设计一个简易的自动售货机,它能够完成钱数处理、找零、显示、退币等功能。 (1)用3个键表示3种钱,再用3个键表示3种物品。 (2)用2个数码管显示输入的钱数,再用2个数码管显示所找的钱数,以元为单位。 (3)买东西时,先输入钱,用数码管显示钱数,再按物品键,若输入的钱数大于物品的价格,用数码管显示所找的钱数,并用发光二极管表示购买成功。 (4)若输入的钱数少于物品的价格,用数码管显示退出的钱数,并用发光二极管表示购买失败。

设计内容(原理图以及相关说明、调试过程、结果) 一、系统设计方案 根据系统要求,系统的组成框图如图1所示。 图1 系统组成框图 系统按功能可分为分频模块、控制模块和译码输出模块。 (1)分频模块的作用是获得周期较长的时钟信号,便于操作,且不会产生按键抖动的现象。其原理是定义两个中间信号Q、DIV_CLK,Q在外部时钟CLK的控制下循环计数,每当计数到一个设定的值时DIV_CLK的值翻转,最后将DIV_CLK赋给NEW_CLK即可,改变设定值可改变分频的大小。 (a2)控制模块是这个系统的核心模块,它具有判断按键、计算输入钱数总和、计算找零、控制显示四个作用。它的工作原理是每当时钟上升沿到来时,判断哪个按键按下,

若按下的是钱数键,则将钱数保存于中间信号COIN,若下次按下的仍是钱数键,COIN 的值则加上相应的值并显示于数码管;当物品键按下时,则将COIN的值与物品价格进行比较,然后控制找零。 (3)由于钱数可能大于9,所以译码显示模块的作用就是将钱数译码后用两个数码管显示,这样方便观察。 根据各个功能模块的功能并进行整合,可得到一个完整的自动售货机系统的整体组装设计原理图,如图2所示。 图2 设计原理图 二、系统主要VHDL源程序 (1)分频器的源程序(外部时钟选用3MHz,实现3万分频) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY CLKGEN IS PORT(CLK:IN STD_LOGIC; NEWCLK:OUT STD_LOGIC); END CLKGEN;

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

基于单片机的自动售货机逻辑电路设计 发表时间: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)系统设计原理:

饮料自动售货机系统的分析与设计样本

饮料自动售货机系统的分析与设计 1.系统的分析 1.1 需求分析描述 自动售货机像磁卡电话、银行柜员机一样, 以方便、新颖、文明、昼夜服务等特点, 成为便民配套设施。如今的自动售货机能够为顾客提供多种服务。顾客能够根据自己的需要选择商品并投入钱币, 售货机接收钱币, 售出商品。 自动售货机是一种无人售货系统。售货时, 顾客投入硬币, 售货机进行真假币的检查, 若是假币拒绝接收, 若是有效硬币则进行累加。售货机装有若干个含有相同价格货物的货物分配器。顾客能够经过货物分配器选择货物, 如果有被选货物, 而且顾客支付的货币值不小于货物的价格, 货物将被传送给顾客, 同时余额返回到退币口。如果货币值小于货物价格, 则等待投币, 此时如果顾客取消本次活动, 那么之前所投的货币将从退币口中退出, 返回给顾客。 1.2 系统功能结构图

图1 体统功能结构图 1.3 用例图 图2 饮料自动售货系统用例图 1.4 系统类图的建立 系统的类图揭示了系统的整个结构。分析时先产生问题域中的对

象, 再抽象出类。在本系统中, 类有: 自动售货机、顾客、货币、货币累加器、货物、货物分配器、显示屏、取消按钮、选择按钮、事务、更新。 货币顾客 图3 饮料自动售货系统类图 1.5 动态模型的建立 从系统模型的角度, 静态模型定义了系统的结构和组成。任何实际的系统都是活动的, 都经过系统元素间的互动来实现系统。面向对象的许多方法在建立动态模型时首先写各种情况时的交互行为脚本, 经过对脚本的分析描绘动态模型。脚本是用例的一次具体执行过程, 一般包括正常情况脚本和异常情况脚本。系统的卖货物用例中, 顾客投入硬币, 系统检查硬币的有效性, 然后对有效硬币进行累加, 顾客选择货物及其数量, 系统送出货物; 这系列步骤

单片机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

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

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

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

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

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

自动售货机控制系统的 设计 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

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

【摘要】 本文介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。具体说明了可编程序控制器在自动售货机中的作用。程序涉及到了自动售货机工作的绝大部分过程。利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。 关键词:自动售货机;可编程序控制器;梯形图 Abstract:Thispaperintroducesthebasicprinciplesofvending machines,aswellasworkflow,andthentoatransactionprocessasan example,thetransactionprocessisdividedintoseveralblock,and thentheblockwereprogrammed.SpecifythePLCintheroleofvending machines.Proceduresrelatedtotheworkofthevastmajorityofvend ingmachineprocess.PLCcontroloftheuseofvendingmachinesenhan cethestabilityofthesystemtoensurethatvendingmachinescapabl eoflong-termstableoperation. Keywords:Vendingmachines;PLC;LadderDiagram 一.PLC的概述 PLC的产生 20世纪20年代起,人们把各种继电器,定时器,接触器及其触点按一定的逻辑关系连接起来组成控制系统,控制各种生产机械,这就是大家所熟悉的传统继电接触器控制系统。由于它结构简单。容易掌握,价格便宜,在一定范围内能满足控制要求,因而使用面

自动售货机 LC控制系统设计课程设计

河南科技大学 课程设计说明书 课程名称__电器控制_______ 题目_自动售货机PC-PLC控制系统设计 院系__电子信息工程学院____ 班级_________ 学生姓名_________ 指导教师______ 日期______________ 课程设计任务书 (指导教师填写) 课程设计名称电器控制学生姓名专业班级 设计题目自动售货机PC-PLC控制系统设计 一、课程设计目的 通过对自动售货机PC-PLC控制系统的工作原理的分析、系统设计、编程、及上机调试工作的实践,了解电器控制系统的一般设计思路,熟悉和掌握外围电路系统和软件设计的方法,并掌握利用PC对PLC工作状况进行监控的方法。二、设计内容、技术条件和要求 (一)技术要求 1、此售货机可投入1元、2元、或5元硬币。 2、当投入的硬币总值超过12元时,汽水按钮指示灯亮;又当投入的硬币总值超过15元时,汽水及咖啡按钮指示灯都亮。 3、当汽水按钮灯亮时,按汽水按钮,则汽水排出7秒后自动停止,这段时间内,汽水指示灯闪动。

4、当咖啡按钮灯亮时,按咖啡按钮,则咖啡排出7秒后自动停止,这段时间内,咖啡指示灯闪动。 5、若投入硬币总值超过按钮所需的钱数(汽水12元,咖啡15元)时,找钱指示灯亮,表示找钱动作,并退出多余的钱。 6、假设汽水排出、咖啡排出、找钱动作均由电机进行控制。 (二)设计内容 1、设计各电机主电路; 2、设计PLC的I/O分配; 3、设计PLC的外部接线; 4、设计PLC控制程序(梯形图); 5、设计MCGS组态程序,对系统的运行情况进行监控; 6、上机调试(含答辩); 7、撰写设计说明书。 (三)设计说明书要求 设计说明书应包含以下内容: 1、设计目的; 2、控制要求; 3、各电机主电路; 4、PLC的选型; 5、PLC的I/O分配; 6、PLC的外部接线; 7、PLC控制程序梯形图; 8、MCGS组态程序设计说明; 9、调试结果、调试中出现的问题及解决方法; 10、设计心得体会; 11、参考文献。 三、时间进度安排 查阅资料,进行系统设计,设计控制程序; 上机调试;

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

目录 摘要 .......................................................................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)

相关主题
文本预览
相关文档 最新文档