赞
踩
目录
自动售货机的控制子系统由以下几个部分组成,分别是预设自动售货系统、金额累加和找零系统、售完检测系统、售出累计及反馈功能系统。
基本原理:通过矩阵键盘来选择货物的种类与数量过后自动售货机提示投币。自动售货机的货币识别器对所投货币进行识别,根据金额大小然后将商品选择权通过LCD液晶显示给客户,客户按键选择后,CPU控制芯片发出指令将所选择商品从储备料道中送达取物口。
功能描述:货物种类一共设有8种,这8种商品通过选择按键进行选择确认,通过数量选择按键确定购买数量,价格规定为1-8元不等;货币识别器能够识别1元硬币、1元纸币、5元纸币、10元纸币、20元纸币50元纸币以及100元纸币。在规定的时间内,投了几次货币后,货币能够实现自动累加功能,这样设计会把投入的所有货币总额数目数据传递到中央控制元器件进行处理;在超过规定时间后投币口自动关闭,数据处理单元按照投币总数和购买的数量和价格乘积来进行加减运算累,实现购买和找币功能。当投入的货币总值小于商品总金额时,则不能进行购货,投入的钱将全部退还。
本设计中有一共有16个按键选择,其中有两个是货物选择键,有两个是数量选择键,此外还有6个货币投入键1个确认键和1个取消键。
P1口的按键值为0X04的时候代表1元货币的投入;
P1口的按键值为0X05的时候代表5元货币的投入;
P1口的按键值为0X06的时候代表10元货币的投入;
P1口的按键值为0X07的时候代表20元货币的投入;
P1口的按键值为0X08的时候代表50元货币的投入;
P1口的按键值为0X09的时候代表100元货币的投入;
P1口的按键值为0X0f的时候代表购物确定“OK”按钮;
P1口的按键值为0X0e的时候代表购物取消“NO”按钮;
本设计假定自动售货机的商品种类为8种,价格为1、2、3、4、5、6、7、8元。每一个价格代表一种商品且一经售出就由外部电机自动完成补货。规定每次最多只能购买10个。货物选择:
P1口的按键值为OX00的时候代表选择货物价格“price+”;
P1口的按键值为OX01的时候代表选择货物价格“price-”;
P1口的按键值为OX02的时候代表选择货物数量“num+”;
P1口的按键值为OX03的时候代表选择货物价格“num-”;
选择商品1用P0.0控制D1LED灯亮;
选择商品2用P0.1控制D2LED灯亮;
选择商品3用P0.2控制D3LED灯亮;
选择商品4用P0.3控制D4LED灯亮;
选择商品5用P0.4控制D5LED灯亮;
选择商品6用P0.5控制D6LED灯亮;
选择商品7用P0.6控制D7LED灯亮;
选择商品8用P0.7控制D8LED灯亮;
由INTEL公司出品的MCS-51系列的80C51其实用性非常高。由于它是采用CHMOS的工艺技术制造,所以它是一款稳定性很高的高性能8位单片机,是HCMOS中的最基本的产品之一。在制作工艺的程中不仅继承和扩展了先前单片机的指令系统和体系结构更是把HMOS的高速高密度的技术特点和CHMOS的低功耗特点相结合。为了满足需求,在80C51内部置入CPU、RAM(128字节)、I/O(32个双向输入输出)、定时器/计数器(16位)、串行通信口、两级中断结构以及片内时钟震荡电路。此外,它还可以通过选择空闲和掉电的方式用于低功耗模式来进行工作,空闲模式下保持串行口、中断系统、RAM和定时器正常工作而同时冻结CPU来保证其正常运行。掉电模式下,自动保存RAM数据,时钟震荡停止、芯片的其他功能停止工作。
80C51单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
在每次使用单片机之前,我们都要使单片机复位,让CPU以及其他功能部件都处于一个确定的初始状态,以消除上一次用户的操作对本次用户操作的影响。51的RST引脚是复位信号的输入端。复位信号是高电平有效,持续时间要有24个时钟周期以上。例如:若MCS-51单片机的时钟频率为12MHz,则复位脉冲宽度至少应为2us。通常,80C51的复位有自动上电复位和人工按纽复位两种
自动上电复位电路的工作原理是:电容在通电的时候相当于短路情况,导致RST引脚上的电位为高电平,这样电容会因为电阻被充电,然后RST端逐渐降低电压直到变为低电平,从而使单片机开始正常工作。由于自动售货机的功能需求,本次设计采用自动上电复位电路。
LCD1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各类仪表和低功耗系统中得到广泛的应用。根据显示内容可以分为字符型液晶,图形液晶。根据显示容量又可以分为单行16字,2行16字,两行20字等等。
引脚说明:LCD1602一般是16个引脚
第1脚:VSS为接地电源。
第2脚:VDD接5V正电源。
第3脚:VEE为液晶显示器对比度调整端,通过连接电源正负来调节对比度的强弱。当连接电源正端时对比度最弱,反之连接负极则最高。对比度太高时会产生所谓的“鬼影”,在连接时可以通过接一个电位器来调整对比度。
第4脚:RS为数据命令选择端,电平为H时选择数据寄存器、电平为L时选择指令寄存器。
第5脚:RW为读写选择端,电平为H时进行读操作,电平为L时进行写操作。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15~16脚:空脚或背灯电源,15脚背光正极,16脚背光负极。
4*4矩阵键盘又是4*4行列键盘,它是分别用4条I/O线作为行线和列线组成的键盘。每个键的位置设置在每条行线和列线在交叉处上,可以知道4*4矩阵键盘共有4*4=16个按键。这样的设置可以有效地提高单片机I/O口的利用率,与独立式按键相比大大降低了接口占用率。当设计过程中需要按键个数要求比较大时,为了释放出I/O端口来供其他连接需要时往往采用这种矩阵式按键来解决问题。在矩阵键盘中,行列线均通过一个按键加以连接取代了直接交叉相连。这样,在很大的程度上增加了按键数,而直接将端口线连接在键盘上则会减少一倍的按键数量。在需要很多按键的设计中采用矩阵键盘明显地比独立式按键更合理,而且行列线越多效果越明显。
在应用矩阵键盘的设计中要编译程序的时候必定会计算出每个按键的接口地址是多少以方便编译,在矩阵键盘的按键确定上我们可以采用两种方法:
行扫描法是我们常用的一种识别按键的方法,这种方法需要我们逐行逐列进行扫描查询,分为两个步骤:
这种确定矩阵键盘按键的方法也是非常有效的方法,也分为两个步骤:
目前在国内,对于硬币的识别可采用多种方法,比如激光扫描、应变片测重量、光电管检测大小等,然而在自动售货机中采用结构简单、成本低、测量准确及其非接触测量等优点集一身的涡流传感器检测。
电涡流检测原理:以高频的电信号通过一个线圈,在这个过程中产生变化的磁场通过硬币的表面即变化磁通通过硬币的表面,相应地硬币表面上产生电涡流, 并产生反向的变化磁场,以削弱原来线圈产生出来的磁场。然后根据激励磁场线圈幅值的变化,通过变化的给定值即可测出真假硬币。
图3.7中Q2所需要的频率由Q1、L、C4等元件组成的振荡电路所提供,从而在C点产生一正弦波振荡信号;然后再A、B 两点外接一个传感线圈,当有硬币投入通过线圈时会改变C点原有信号的幅值大小,而真假硬币通过线圈时改变的幅值大小是不一样的,通过对比设定给定真币的参照值来判断真假硬币。
但是在实际应用中,由于某些条件的原因会影响到电子线路元器件的判定值,比如温漂的影响,由于材质的差异比较小,从而导致信号值得差距变小,若受到的温漂影响稍微增强一点,那么则很难精确地确检测出假币,为此可以采用电桥的方法来进行改善弥补,从而减小由温漂造成的干扰。图中L3、L4都是激励线圈,L3上方放置一个标准的1元硬币或其它用低碳钢做成的圆片,L4为检测有无硬币通过和是否为真假币的激励线圈,A、B两信号通过通信模块同时送到后续的运算放大器之中进行相减,从而抵消因温漂所造成的影响。
我们知道,在硬件数据采集设备中的电源为发光二极光,所发出光的波长峰值在红外线所在的波段,但又不是单光谱,其中红外光成分达到90%以上,因此,光源辐射光中起主要作用的实际上是红外辐射。实验中对各种纸币的特征的识别也主要是根据纸币的表面特征对红外辐射的敏感。这主要是因为不同的纸币表面特征不同,所以在相同的光辐射照耀下会呈现不同的反映,从而可以从以下几个方面来鉴别纸币:
当货币投入后经过识别,识别出信号后,伪币和异物被排出真币按面值由几组分配电磁阀分配到不同存币腔体内备用。当收到退币找零电信号后,通过退币电磁阀或者退币电机拉杆,将存币腔内下部依电信号程序退出,完成自动售货机的退币找零功能。
货物选择系统主要通过矩阵键盘按键操作来完成。4*4矩阵键盘是自动售货机中的输入装置,价格低廉,结构简单,使用方便,在单片机应用系统中得到广泛地应用。键盘按照接口原理可分为编码键盘与非编码键盘两类,它们的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。
CPU可以采用查询或中断方式了解有无将键输入,并检查是哪一个键按下,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。
一个完整的矩阵键盘控制程序应该具备以下功能:
在本系统中,总共设计了8种饮料,价格分别为1、2、3、4、5、6、7、8元不等,由顾客通过按键选择确定后,投入售货机可识别的货币(货币可以累加计数)。当投入的货币总值不够购买选择的商品总值时,售货机显示金取消交易并退出所投货币,如果所投货币大于等于购买选择的商品总值时,由售货机出货并计算剩余货币。但是在单片机的输出中只有高电平和低电平之分。在自动售货机中只需要安装一个驱动电机,待顾客投入货币后将信号送入系统通过相应电路来驱动电机推出相应商品即可。本设计只模拟实现此功能,负责软件仿真,暂不考虑硬件电机方面,只作介绍。在这里,我们选用光敏三极管来实现这一功能。当单片机输出端为高电平时,则驱动二极管发光,使驱动电机电路导通,这时驱动电机开始工作等待信号。当单片机输出端为低电平时,则二极管熄灭。驱动电机电路断开,即完成推货动作,LED灯闪烁。售货机通过投币时累计的计数和购买商品的总金额进行相减的运算,在LCD液晶上显示出余币的数量,顾客取走货物后自动退还余币。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。