STC89C52单片机自动售货机设计
自动售货机是一种计算机控制的专用商品销售设备,随着物联网等现代信息技术的发展,经常出现在机场、车站和各类商场等公共场所,为我们的生活提供了许多便利。
本设计采用STC89C52单片机为主控CPU,采用集中控制的方式设计了一个自动售货机的仿真系统,这个自动售货机系统具有商品种类和商品数量选择、投币处理、价格计算、出货找零、异常退币等主要功能。本系统采用4×4矩阵键盘作为商品选择端,并用LCD1602液晶显示器实时显示顾客的操作状态。单片机控制程序采用C语言编写,程序通过Keil软件提供的调试环境来编写和编译。
论文以一次交易过程为例,给出了C语言源程序,并在PROTEUS软件平台上进行仿真和实现。
关键词:自动售货机 STC89C52 Keil PROTEUS C语言 M000261
This design uses STC89C52 as the core, adopting the centralized control method to design the vending machine. This system uses the 4 * 4 keyboard to select the product , and uses LCD1602 to display the real-time operating status of the customer. In addition, the design of the program adopts C language to write, because C language is easy to read, and uses Keil software to compile the program, because it makes program easier and check work more convenient.
My paper firstly introduces the history and current situation of the vending machine, and then introduces it’s working principle, design ideas, hardware selection and software design. I take a transaction process as an example, and give the C language source code, and use PROTEUS to simulate the system..my vending machine has many functions ,such as items and quantity choice, coin handling, deliver change, abnormal work and so on.
Key words:vending machine; STC89C52; Keil; PROTEUS; C language
2 自动售货机模拟仿真系统总体设计
2.1 功能描述
此次的自动售货机共销售8种商品,这8种商品的价格为1元到8元不等。当给自动售货机系统上电后,机器进行各方面的初始化,并且不断进行对按键的扫描。
顾客选择商品种类和商品的数量时,LCD液晶显示器显示顾客所选商品的价格和数量,并且该种商品的指示灯也会被点亮。选择好后,点击确认键,自动售货机能够自动快速地计算所需钱币数,点击确认按钮,则机器等待顾客投币,在接收的钱币超过所需钱币数时,自动售货机自动完成出货并计算是否有余币,如果有余币,则完成找钱功能,这个模块是用液晶显示屏模拟的。如果顾客所投钱币小于所需钱币,则按取消按键,机器自动退出投币系统进入初始状态。如果顾客在选择好商品种类和商品数量之后不想购买了,也可按取消按钮,自动售货机直接退出当前操作,进入初始状态,继续扫面按键,等待下一次交易。其中,机器会实时监测内部是否有商品,如果货物供应不足,机器会有自动添加货物的目的,保证商品充足。
2.2 此次模拟仿真系统的设计思路
3.1硬件设计概述
硬件是自动售货机的物理基础,因此硬件设计是整个自动售货机设计的基础。因此,各个元器件的选择在这次设计中至关重要,因此是否合理地选择元器件直接影响所设计的自动售货机系统的性能,所以我们在单片机系统设计中要始终遵循着“经济适用、稳定可靠”的原则。
3.2控制系统的硬件电路设计
自动售货机系统应包括以下模块:选择模块,液晶显示模块、投币模块、指示模块和出货找零模块等。但此次设计,我是用键盘模拟货币识别器的作用,按不同的键表示货币识别器识别不同的钱币,用液晶显示器模拟出货及找零模块,用LED灯模拟指示模块。此次设计的自动售货机示意图如图3.1。
图3.1 自动售货机模拟仿真系统示意图
3.2 .1微控制器
查看完整请+Q:* 351916072
微控制器本质上就是一个微型计算机,因为它将微型计算机的主要部分都集成在了一
个小芯片上。20世纪70年代中期,微控制器开始出现在人们的视野中。经过40多年的发展,其价格越来越便宜,性能越来越强大,而且体积也越来越小,这些特点使得微控制器的应用非常普及。
微控制器主要有单片机、DSP、ARM这几类。DSP集控制单元、运算单元、寄存器、存储器于一体,并采用哈佛设计,因此它的工作速度非常的快,所以在那些比较繁复的应用中占得一席之地。ARM有很多特点,比如性能高、速度快、效率高,而且成本还比较低,所以目前在手持设备的应用中很普遍。单片机是一种低端的控制类芯片,因此它价格便宜,适合做一些小的系统。
结合实际情况来看,我觉得采用单片机STC89C52最合理。
STC89C52单片机的介绍:
?引脚介绍:
目录
1. 绪 论 1
1.1自动售货机的发展历史 1
1.2 自动售货机的研究目的和意义 2
1.3 论文的主要内容及章节安排 2
2 自动售货机模拟仿真系统总体设计 3
2.1 功能描述 3
2.2 此次模拟仿真系统的设计思路 3
2.2.1 总体设计概述 3
2.2.2 此次模拟仿真系统的硬件端口分配 1
3此次模拟仿真系统的硬件设计 3
3.1硬件设计概述 3
3.2控制系统的硬件电路设计 3
3.2 .1微控制器 3
3.2.2货币识别器 6
3.2.3 LCD液晶显示器 7
3.2.4 4*4矩阵键盘 16
4自动售货机的软件设计 21
4.1 Keil软件介绍 21
4.2 软件设计概述 21
4.2.1主程序 21
4.2.2装货系统 22
4.2.3投币系统 23
4.2.4显示系统 24
4.2.5货物选择系统 25
4.2.6购买及找零系统 25
5系统软件仿真 26
5.1 PROTEUS的介绍 26
5.2 仿真结果分析 26
5.2.1 Keil软件仿真结果 26
5.2.2 PROTEUS软件仿真结果 26
结束语 30
参考文献 31
附录1:总程序 32
附录2:总原理图 46 查看完整请+Q:*3519.1607.2
本设计采用STC89C52单片机为主控CPU,采用集中控制的方式设计了一个自动售货机的仿真系统,这个自动售货机系统具有商品种类和商品数量选择、投币处理、价格计算、出货找零、异常退币等主要功能。本系统采用4×4矩阵键盘作为商品选择端,并用LCD1602液晶显示器实时显示顾客的操作状态。单片机控制程序采用C语言编写,程序通过Keil软件提供的调试环境来编写和编译。
论文以一次交易过程为例,给出了C语言源程序,并在PROTEUS软件平台上进行仿真和实现。
关键词:自动售货机 STC89C52 Keil PROTEUS C语言 M000261
This design uses STC89C52 as the core, adopting the centralized control method to design the vending machine. This system uses the 4 * 4 keyboard to select the product , and uses LCD1602 to display the real-time operating status of the customer. In addition, the design of the program adopts C language to write, because C language is easy to read, and uses Keil software to compile the program, because it makes program easier and check work more convenient.
My paper firstly introduces the history and current situation of the vending machine, and then introduces it’s working principle, design ideas, hardware selection and software design. I take a transaction process as an example, and give the C language source code, and use PROTEUS to simulate the system..my vending machine has many functions ,such as items and quantity choice, coin handling, deliver change, abnormal work and so on.
Key words:vending machine; STC89C52; Keil; PROTEUS; C language
2 自动售货机模拟仿真系统总体设计
2.1 功能描述
此次的自动售货机共销售8种商品,这8种商品的价格为1元到8元不等。当给自动售货机系统上电后,机器进行各方面的初始化,并且不断进行对按键的扫描。
顾客选择商品种类和商品的数量时,LCD液晶显示器显示顾客所选商品的价格和数量,并且该种商品的指示灯也会被点亮。选择好后,点击确认键,自动售货机能够自动快速地计算所需钱币数,点击确认按钮,则机器等待顾客投币,在接收的钱币超过所需钱币数时,自动售货机自动完成出货并计算是否有余币,如果有余币,则完成找钱功能,这个模块是用液晶显示屏模拟的。如果顾客所投钱币小于所需钱币,则按取消按键,机器自动退出投币系统进入初始状态。如果顾客在选择好商品种类和商品数量之后不想购买了,也可按取消按钮,自动售货机直接退出当前操作,进入初始状态,继续扫面按键,等待下一次交易。其中,机器会实时监测内部是否有商品,如果货物供应不足,机器会有自动添加货物的目的,保证商品充足。
2.2 此次模拟仿真系统的设计思路
3.1硬件设计概述
硬件是自动售货机的物理基础,因此硬件设计是整个自动售货机设计的基础。因此,各个元器件的选择在这次设计中至关重要,因此是否合理地选择元器件直接影响所设计的自动售货机系统的性能,所以我们在单片机系统设计中要始终遵循着“经济适用、稳定可靠”的原则。
3.2控制系统的硬件电路设计
自动售货机系统应包括以下模块:选择模块,液晶显示模块、投币模块、指示模块和出货找零模块等。但此次设计,我是用键盘模拟货币识别器的作用,按不同的键表示货币识别器识别不同的钱币,用液晶显示器模拟出货及找零模块,用LED灯模拟指示模块。此次设计的自动售货机示意图如图3.1。
图3.1 自动售货机模拟仿真系统示意图
3.2 .1微控制器
查看完整请+Q:* 351916072
微控制器本质上就是一个微型计算机,因为它将微型计算机的主要部分都集成在了一
个小芯片上。20世纪70年代中期,微控制器开始出现在人们的视野中。经过40多年的发展,其价格越来越便宜,性能越来越强大,而且体积也越来越小,这些特点使得微控制器的应用非常普及。
微控制器主要有单片机、DSP、ARM这几类。DSP集控制单元、运算单元、寄存器、存储器于一体,并采用哈佛设计,因此它的工作速度非常的快,所以在那些比较繁复的应用中占得一席之地。ARM有很多特点,比如性能高、速度快、效率高,而且成本还比较低,所以目前在手持设备的应用中很普遍。单片机是一种低端的控制类芯片,因此它价格便宜,适合做一些小的系统。
结合实际情况来看,我觉得采用单片机STC89C52最合理。
STC89C52单片机的介绍:
?引脚介绍:
目录
1. 绪 论 1
1.1自动售货机的发展历史 1
1.2 自动售货机的研究目的和意义 2
1.3 论文的主要内容及章节安排 2
2 自动售货机模拟仿真系统总体设计 3
2.1 功能描述 3
2.2 此次模拟仿真系统的设计思路 3
2.2.1 总体设计概述 3
2.2.2 此次模拟仿真系统的硬件端口分配 1
3此次模拟仿真系统的硬件设计 3
3.1硬件设计概述 3
3.2控制系统的硬件电路设计 3
3.2 .1微控制器 3
3.2.2货币识别器 6
3.2.3 LCD液晶显示器 7
3.2.4 4*4矩阵键盘 16
4自动售货机的软件设计 21
4.1 Keil软件介绍 21
4.2 软件设计概述 21
4.2.1主程序 21
4.2.2装货系统 22
4.2.3投币系统 23
4.2.4显示系统 24
4.2.5货物选择系统 25
4.2.6购买及找零系统 25
5系统软件仿真 26
5.1 PROTEUS的介绍 26
5.2 仿真结果分析 26
5.2.1 Keil软件仿真结果 26
5.2.2 PROTEUS软件仿真结果 26
结束语 30
参考文献 31
附录1:总程序 32
附录2:总原理图 46 查看完整请+Q:*3519.1607.2
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2407.html