2023年12月22日发(作者:)
自动送料机控制系统设计毕业论文
目录
摘 要 ............................................................... ⅰ
Abstract ............................................................... ⅱ
第1章 绪 论 ........................................................... 2
1.1 设计背景和研究意义 ............................................ 2
1.2 自动送料机控制系统的工作原理及技术要求 ........................ 3
1.3 系统的主要技术参数 ............................................ 3
1.4 系统设计方案的选择 ............................................ 3
第2章 系统总体设计 .................................................... 8
2.1 单片机的选择 .................................................. 8
2.2 物位传感器的选择 .............................................. 9
2.3 存储器扩展电路的选择 ......................................... 11
2.4 LED显示电路选择 .............................................. 14
2.5 键盘输入电路 ................................................. 15
2.5 小结 ......................................................... 15
第3章 自动送料机主电路设计 ............................ 错误!未定义书签。
3.1 系统结构原理图 ................................ 错误!未定义书签。
3.2 主机电路核心器件介绍 ......................................... 17
3.3 显示电路 ..................................................... 26
3.4 继电器控制电路 ............................................... 30
3.5 键盘及显示电路 ............................................... 31
3.6 外部存储器扩展电路 ........................................... 36
3.7 看门狗MAX813L电路 ........................................... 40
3.8 料位开关 ..................................................... 42
3.9 硬件连接 ..................................................... 44
3.10 小结 ......................................................... 45
第4章 系统软件设计 ................................................... 48
4.1 系统的抗干扰及可靠性 ......................................... 48
4.2 软件设计 ..................................................... 48
4.3 小结 ......................................................... 53
第5章 结 论 .......................................................... 54
参 考 文 献 ........................................................... 55
程 序 清 单 ............................................................ 56
致 谢 .................................................................. 76
外文科技资料翻译 ...................................................... 77
英文原文 ........................................................... 77
中文译文 ........................................................... 81
.专业.专注.
第1章 绪 论
1.1 设计背景和研究意义
制造业是现代文明的支柱之一,其既占有基础地位,有处于前沿关键;它是工业发展光的主体又是国民经济持续发展的基础。而在我国的乡镇企业、私营企业,由于受资金管理等方面的限制,一般送料绝大多数是采用人工手动送料,且缺乏保护装置,这造成“效率低,劳动强度大,事故发生率大”等特点。
随着信息科技迅猛、市场经济的发展,国、国际市场竞争日益激烈,产品更新更为迅速,尤其是随着高新科技日新月异,产品的类型、工艺外形越来越复杂,精度要求越来越高,再加上企业经营与发展必会面对劳工的短缺 、 人工成本上要省力化、合理化与自动化的发展趋向!传统的手工送料已经不能满足要求,这时自动送料机就应运而生。在今天现代科学技术的许多领域中,什么是送料机呢?顾名思义,送料机就是专门用于粒料,粉料,片状料,带状等材料的自动化,数控化,精确化的输送机器,是无论是轻工行业还是重工业都不可缺少的设备。传统观念,送料机是借助于机器运动的作用力加力于材料,对材料进行运动运输的机器。近代的送料料机发生了一些变化,开始将高压空气、超声波等先进技术用于送料技术中。
近年来,由于单片机控制技术、检测技术及电力电子技术的发展,作为辅助装置的送料机构自动化水平也需越来越高。提高自动化的水平不仅可以提高效率、产品的质量同时也能保证工人的人身安全。而单片机就是实现自动控制重要的一环,它是单片微型计算机的简称;是把微型计算机的各个功能部件(中央处理CPU、随机存取存储器RAM、只读存储器ROM、I/O接口、定时器、计算器以及串行通信接口)集成在一块芯片上,构成一个完整的计算机。单片机具有集成度高,体积小,成本低,控制能力强等诸多优点,
综上所述,在本着节约资金、降低成本,提高生产效率,保障人身安全的科学人性化管理的方针下对送料机构进行自动化设计。此设计中自动加料机控制系统就是采用以单片机为核心的自动控制技术来实现功能的,这样就可以在不购买新设备的基础上对旧设备进行自动化改良,这不仅大大提高了工作的效第 2 页 共 89 页
率,使整个过程又快又稳又节约资金。
1.2 自动送料机控制系统的工作原理及技术要求
本设计的由单片机控制的自动加料系统是与料斗式干燥机配套的加料系统。根据加料工艺要求,其工作原理是:单片机控制的自动加料系统是与料斗式干燥机配套的加料系统。根据加料工艺要求,其工作原理是:先将真空管关闭,启动电机,用低真空气流将塑料树脂粒子送入真空管,电机停转,再将粒子排入料斗,如此循环。本控制系统根据送料工艺的需要,设置两条生产线的输送、排料、满料、空料等参数值,通过单片机控制继电器,继电器控制交流接触器,又由接触器控制电机等执行机构的运动。控制系统的控制器由单片机89C51和扩展电路组成,单片机控制继电器,继电器控制交流接触器,又由接触器控制电机等执行机构的运动。本控制系统可以根据送料工艺的需要,设置两条生产线的输送、排料、满料、空料等参数值,也可装载系统前次工艺参数值。
1.3 系统的主要技术参数:
(1) 用一台电机控制两条生产线
(2) 要能检测到满料状态,并显示出输送、排料、满料时间
(3) 时间误差:0.1秒
(4) 具有抗干扰能力
1.4 系统设计方案的选择
1.4.1 方案一分析
采用一台电动机控制一条生产线,以方向阀的换向来调换生产线的工状态。具体做法是:是以单片机AT89C51为基础,利用外扩存储器来存储系统的初始数据,这主要是为了给系统设置一个合适的初态,当出现系统程序错乱,能回到的初态;利用扩展并行接口来外接控制按键,以此来接收操作命令,同时为了让工作者能了解到各按键的状态,再给系统接入发光二极管来显示相应按键的状态;采用LED静态显示来显示工作时间量变化情况,为了使LED位信息与AT89C51输出的信息相对应,在两者之间接了译码器;为了能及时确定生产线 .专业.专注.
的满料状态,给系统设计了一个满料中断电路,同时为抗干扰,将满料信号进行光耦隔离;为了让系统能稳定工作,防止程序乱飞,给系统设计了一个看门狗电路;为解决各外设与单片机AT89C51速度不等的情况,给两者之间接了锁存器;最后给系统接了一个部时钟振荡器。具体硬件接图如下:
图1.1 方案一系统硬件接图
这种设计方案的优点在于:两条生产线既可单独运行,也可同时运行。当生产线满料时,电机不停转而方向阀换向还切换生产状态,充分发挥控制系统和电机的效率,但这种方案需要的单片机输出控制端口较多,且不满足设计要求——一台电机控制两条生产线。所以此次设计不予采用。
1.4.2 方案二分析
将料装在小车里,利用行程开关与继电器状态的变化来实现对送料的状态的控制。具体做法是:开机之后,先给系统输入参数。根据启动哪条生产线点击相应自动键,系统自动运行。系统首先检查回零行程开关状态,若送的物料不在零位,则启动电机带动送料器回零位。接着检测装在送料器里的压力继电器状态,若是在空载状态,就启动送料器,使之运行到位,当到相应位置时,撞到相应行程开关时,送料器停止运行。当要使系统进行排料时,就按下状态第 4 页 共 89 页
切换按钮进行排料。接着检测装在送料器里的压力继电器状态,若是在空载状态下,则停止卸料,送料机向反向移动,直至回到零位,如此循环。系统采用单片机8051来控制,外接8279键盘来进行控制命令输入,系统工作状态检测输入开关I/O,外控输出电机驱动,显示时间电路等。具体硬件接图如下:
图1.2 方案二系统硬件接图
这种设计方案的优点在于:系统是顺序控制系统,属于分时控制,集成度高、加工精度高、自动化水平高、操作方便。但此系统所需输入接口多,电机也多,所以在经济上占下风。还有就是实时性不高。所以此次设计不予采用。
1.4.3 方案三分析
采用一台电动机控制两条生产线,采用两个方向阀,一个是用来切换生产线的生产状态,一个是用来实现生产线的切换。实现具体的做法是以AT89C51为基础,用2864A做外扩存储器来存储系统的初始数据,这主要是为了给系统设置一个合适的初态,当出现系统程序错乱,能回到的初态;利用扩展并行接口来外接控制按键,以此来接收操作命令,同时为了让工作者能了解到各按键的状态,再给系统接入发光二极管来显示相应按键的状态;采用LED静态显示来显示工作时间量变化情况,为了使LED位信息与AT89C51输出的信息相对应, .专业.专注.
在两者之间接了译码器MC14511B;为了能及时确定生产线的满料状态,给系统设计了一个满料中断电路,同时为抗干扰,将满料信号进行光耦隔离;为了让系统能稳定工作,防止程序乱飞,给系统设计了一个看门狗电路;为解决各外设与单片机AT89C51速度不等的情况,给两者之间接了锁存器;最后给系统接了一个部时钟振荡器。具体硬件接图如下:
第 6 页 共 89 页
图1.3 方案三系统硬件接图
这种设计方案的优点在于:满足设计要求,自动化水平高,经济性良好。故此次设计选则方案三为最终方案。
.专业.专注.
2.1 单片机的选择
2章 系统总体设计
第 8 页 共 89 页
第
20世纪80年代以来,单片机的发展非常迅速,就通用单片机而言,世界上一些著名的计算机厂家已投放市场的产品就有50多个系列,数百个品种。目前世界上较为著名的8位单片机的生产厂家和主要机型如下:
美国Intel公司:MCS—51系列及其增强型系列
美国Motorola公司:6801系列和6805系列
美国Atmel公司:89C51等单片机
美国Fairchild公司:F8系列和3870系列
美国Rockwell公司:6500/1系列
NS(美国国家半导体)公司:NS8070系列等等。
尽管单片机的品种很多,但是在我国使用最多的还是Intel公司的MCS—51系列单片机和美国Atmel公司的89C51单片机。CS—51系列单片机包括三个基本型8031、8051、8751。8031部包括一个8位CPU、128个字节RAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口、2个16位定时器/计数器,但片无程序存储器,需外扩EPROM芯片。比较麻烦,不予采用;
8051是在8031的基础上,片集成有4K ROM,作为程序存储器,是一个程序不超过4K字节的小系统。ROM的程序是公司制作芯片时,代为用户烧制的,出厂的8051都是含有特殊用途的单片机。所以8051适合与应用在程序已定,且批量大的单片机产品中。也不予采用;
8751是在8031基础上,增加了4K字节的EPROM,它构成了一个程序小于4KB的小系统。用户可以将程序固化在EPROM中,可以反复修改程序。但其价格相对8031较贵。8031外扩一片4KB EPROM的就相当与8751,它的最大优点是价格低。随着大规模集成电路技术的不断发展,能装入片的外围接口电路也可以是大规模的。也不予采用;
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片含4K bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器(CPU)和Flash存储单元。功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。此设计就采用AT89C51。
.专业.专注.
2.2 物位传感器的选择
物位是指贮存容器或工业生产设备里的液体、粉粒状固体、气体之间的分界面位置,也可以是互不相溶的两种液体间由于密度不等而形成的界面位置。根据具体用途分为液位、料位、界位传感器或变送器。物位不仅是物料耗量或产量、计量的参数,也是保证连续生产和设备安全的重要参数。特别是在现代工业中,生产规模大,速度高,且常有高温、高压、强腐蚀性或易燃易爆物料,对于物位的监视和自动控制更是至关重要。
物位测量可用于计算物料储量。对于粉粒体,必须考虑到颗粒间有空隙,应区分密度和容重。密度是指不含空隙的物料每单位体积的质量,即通常的质量密度 ,如果乘以重力加速度g,就成为重力密度r,简称为重度。容重是包含空隙在的每单位体积的重量v,也就是视在重度或宏观重度,它总要比颗粒物质本身的重度小,其差额决定于空隙率。而空隙率又取决与许多因素。例如颗粒形状、尺寸的一致程度、是否受外力压实、是否经受过振动、有无黏结性等,所以粉粒体物料的体积储量和质量储量之间不易精确换算,这是需要注意的 [1]。
2.2.1 电容式物位传感器
利用物料介电常数恒定时极间电容正比与物位的原理,可构成电容式物位传感器。
根据电机的结构可将容式物位传感器分为三种:(1)适用于导电容器中的绝缘性物料,且容器为立式圆筒形,器壁为一极,沿轴线插入金属棒为另一极,其间构成的电容C与物位成比例。也可悬挂带重锤的软导线作为电机。(2)适用于非金属容器,或虽为金属容器但非立式圆筒形,物料为绝缘性的。这时在棒状电极周围用绝缘支架套装金属筒,筒上下开口,或整体上均匀分布多个孔,使外物位相同。中央圆棒和与之同轴的套筒构成两个电极,其间电容和容器形状无关,只取决于物位。所以这种电极只用于液位,粉粒体容易滞留在极间。(3)用于导电性物料,起外形和(1)一样,但中央圆棒电极上包有绝缘材料,电容是由绝缘材料的介电常数和物位决定的,与物料的介电常数无关,导电物料使筒壁与中央电极间的距离缩短为绝缘层的厚度,物位升降相当于电极面积改变。
第 10 页 共 89 页
电容式物位传感器无可动部件,与物料密度无关,但应注意物料中含水分时将对测量结果影响很大,并且要求物料的介电常数与空气介电常数差别大,需用高频电路。所以不予采用。
2.2.2 阻力式料位传感器
阻力式料位传感器是指物料对机械运动所呈现的阻挡力。粉末颗粒状物料比液态物质流动性差,对运动物体有明显的阻力,利用这一特点可构成各种料位传感器:
(1)重锤探索法:在容器顶部安装由脉冲分配器控制的步进电机,此电机正转时缓缓释放悬有重锤的钢索。重锤下降到与料面接触后,钢索受到的合力突然减小,促使力传感器发出脉冲。此脉冲改变门电路的状态,使步进电机改变转向重锤提升,同时开始脉冲计数。待重锤升至顶部触及行程开关,步进电机停止转动,同时计数器也停止计数并显示料位(料位值即容器全高减去重锤行程之差)。显示值一直保持到下次探索后刷新为另一值。开始探索的触发信号可由定时电路周期性地供给,也可以人为地启动。不进行探索时,重锤保持在容器顶部,以免物料将重锤淹埋。万一重锤被物位埋没,排放物料时产生的强大拉力就可能拉断钢索报警措施及出料过滤栅。
但这种方法运用了逻辑电路和数字技术,可连续测量料位值并输出数字量,是数字传感器,但其采样是周期性的,对时间而言不连续,此设计不予采用;
(2)旋桨或推板法:这是一种位式传感器,或称料位开关。在容器壁的某一高度处装小功率电动机,其轴伸入容器,末端带有桨状叶片。叶片不接触物料时,自由旋转的空载状态下电动机的电流很小,一旦料位上升到与叶片接触,转动阻力增加,甚至成堵转状态,电流显著加大。根据电流的大小使继电器的接点动作,发出料位报警或位式控制信号。如电机轴经过曲柄连杆机构变为往复运动,则可带动活塞或平板在容器中做推拉动作,即成推板法。旋桨法或推板法不一定都是靠电机电流的大小时继电器接点动作,也可以利用离合器或连杆上的传动机构,在叶片或推板负载增大时改变电接点的通断状态。所用电动机应能在长时间堵转状态下,或离合器打滑状态下,不致过热而损坏。
这类原理构成的料位开关,只能安装在容器壁上,安装高度取决于动作所对应的料位值。应用不那么广泛,所以此设计也不予采用。
.专业.专注.
(3)音叉法:根据物料对振动中的音叉有无阻力探知料位是否到达或超过某高度,并发出通断信号,这种原理不需要大幅度的机械运动,驱动功率小,机械结构简单、灵敏而可靠。音叉由弹性良好的金属制成,本身具有确定的固有频率,如外加交变力的频率与其固有频率一致,则叉体处于共振状态。由于周围空气对振动的阻尼微弱,金属部的能量损耗又很少,所以只需微小的驱动功率就能维持较强的振动。当粉粒体物料触及叉体之后,能量消耗在物料颗粒间的摩擦上,迫使振幅急剧衰减,音叉停振。
为了给音叉提供交变的驱动力,利用放大电路对压电元件施加交变电场,靠逆压电效应产生机械力作用在叉体上。用另外一组压电元件的正压电效应检测振动,它把振动力变为微弱的交变电信号。再由电子放大器和移相电路,把检振元件的信号放大。经过移相,施加到驱动元件上去,构成闭环振荡器。在这个闭环中,既有机械能也有电能,叉体是其中的一个环节,倘若受到物料阻尼难以振动,正反馈的幅值和相位都将明显的改变,破坏了振荡条件,就会停振。只要在放大电路的输出端接以适当的器件,不难得到开关信号。
为了保护压电元件免受物料损坏和粉尘污染,将驱动和检振元件装在叉体部,经过金属膜片传递振动。如果在容器的上下方都装叉体,可以实现自动进料或自动出料的逻辑控制,或者把料位越限信号远传到控制室。在控制室里的控制电路判断料位是否越限,并按要求使被控的进出料设备启停。并且叉体的制造和装配良好时,音叉也可用于液体测量和控制。在测量时不需要大幅度的机械运动,驱动功率小,机械结构简单、灵敏而可靠。综上所述,此设计选择音叉法阻力式料位传感器。
2.3 存储器扩展电路的选择
2.3.1 24C01扩展:
串行总线上的各单片机或集成电路模块,通过一条数据线(SDA)和一条时钟线(SCL),按照通信规则进行寻址和信息传输。每个集成电路模块都有唯—伪地址,既可以是主控机(能控制总线,并能完成一次传输过程的初始化和产生时钟信号及传输终止信号的器件)或被控机(被主控器寻址的器件),可以是发送器(在总线1:发送信息的器件)或接收器(从总线上接收信息的器件) I²C总线上的器件,根据它的不同工作状态,可分为主控发送器、主控接收器、被控发第 12 页 共 89 页
送器、被控接收器。当多个主控器同时企图控制总线而不丢失信息,这叫多主竞争。这时就要进行仲裁,仲裁就是针对这种情况进行裁决的过程。只允许其中一个主控器继续占用总线,其它退出封藏器状态。仲裁过程中还要保证总线的信息不丢失。多主竞争时必须对所有参与竞争的主控器的时钟信号进行同步处理。信息传输时,SCL为高电平期间,SDA上的信息必须保持稳定不变,只有SCL为低电平期间,SDA上的信息才允许变化。同时SDA上信息每一位部和SCL的时钟脉冲相对应。SCL没有时钟信号,SDA信息将停止传输处于等待状态。这因为线“与”逻辑,使SCL在低电平时钳住总线。实现线“与”逻辑功能各I²C总线接口的输出端必须是漏极开路或集电极开路结构。SCL保持高电平期间,SDA由高电平向低电平变化这种状态定义为起始信号。SCL保持高电平期间,SDA由低电平向高电平变化,这种状态定义为终止信号。SDA传输的每个字节必须8位(最高有效位首先传送),每个传送字节必须跟随一位应答位。与应答信号相应的时钟信号由主控器产生,发送器在这个时钟信号释放SDA,使它处于高电平状态,以便接收由接收器在这位发出的应答信号。这时接收器还必须SCL在这位高电平期间,在SDA上输出一个恒定低电平信气以完成应答信号的输出。整个传输过程中,传输的字节数目是没有限制的。数据传输一段时间后,接收器无法继续接收更多的数据,主控器同样可以终止数据的传送[2]。
24C01是一种128字节串行CMOS EEPROM,它具有如下特点:1、存储容量为128字节。2、串行接口可使用普通两根I/O接口。3、具有页写模式:每页4字节。4、同步周期小于10ms 。它只使用一条数据线和一条时钟线,采用ATMEL公司的24C01串口存储器,应用简单方便,但是其编程较为复杂。
2.3.2 2864A芯片扩展:
2864A是一种并行EEPROM,它的特点同上,但每页有16字节,2864A与8051单片机的接口电路如下图所示,2864A的片选端CE与高地址线P2.7连接,P2.7=0才能选中2864A,这种线选法决定了2864A对应多组地址空间,即0000H~1FFFH,2000H~3FFFH,4000H~5FFFH,6000H~7FFFH,这8K字节存储器可作为数据存储器使用,且掉电后数据不丢失 。
.专业.专注.
图 2.1 2864扩展电路
2864A的四种工作方式:
(1)维持方式:当CE为高电平时,2864A进入低功耗维持状态。此时,输出线呈高阻状态,芯片的电流从140mA下降至维持电流60mA。
(2)读方式:当CE 和OE均为低电平而不为高电平时,部的数据缓冲器被打开,数据送上总线,此时,可进行读操作。
(3)写方式:2864A提供了两种数据写入方式:页写入和字节写入。
页写入:为了提高写入速度,2864A片设置了16字节的“页缓冲器”,并将整个存储器阵列划分成512页,每页16个字节。页的区分可由地址的高9位(A4~A12)来确定,地址线的低四位(A0~A3)用以选择页缓冲器中的16个地址单元之一。对2864A的写操作可分为两步来实现:第一步,在软件控制下把数据写入页缓冲器,这部称为页装载,与一般的静态RAM写操作是一样的。第二步,在最后一个字节(即第16个字节)写入到页缓冲器后20ns自动开始,把页缓冲器的容写到EEPROM阵列中对应的地址单元中,这一步成为页存储。
写方式时,CE为低电平,在WE下降沿,地址码A0-A12被片锁存器锁存,在上升沿时数据被锁存片还有一个字节装载限时定时器,只要时间未到,数据可以随机地写入页缓冲器。在连续向页缓冲器写入数据的过程中,不用担心限第 14 页 共 89 页
时定时器会溢出,因为每当WE下降沿时,限时定时器自动被复位并重新启动计时。限时定时器要求写入一个字节数据的操作时间TBLW须满足;3μS 字节写入:字节写入的过程与页写入的过程类似,不同之处在于仅写入一个字节,限时定时器就溢出。 (4)数据查询方式:数据查询是指用软件来检测写操作中的页存储周期是否完成。在页存储期间,如对2864A执行读操作,那么读出的是最后写入的字节,若芯片的转储工作未完成,则读出数据的最高位是原来写入字节最高位的反码。据此,CPU可判断芯片的编程是否结束。如果读出的数据与写入的数据相同,表示芯片已完成编程,CPU可继续向2864A装载下一页数据。并且编程起来比较简单,所以此设计采用此方案[3]。 2.4 LED显示电路选择 LED显示器是由N个LED显示块拼接成N位LED显示器。N个LED显示块有N跟位选线,根据显示方式的不同,位选线和段选线的连接方法也各不相同,段选线控制显示字符的字型,而位选线为各个LED显示块的公共端,它控制该LED显示位的亮、暗。LED显示器有静态显示和动态显示两种显示方式。 2.4.1 LED静态显示方式 LED显示器工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地(或+5V);每位的段选线(a~dp)分别与一个8位的锁存器输出相连。所以称为静态显示。各个LED的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。也正因此如此,静态显示器的亮度都较高。这种显示方式接口编程容易。付出的代价是占用口线较多,若用I/O接口,则要占用4个8位I/O口,若用锁存器接口,则要用4片74LS373芯片。如果显示器位数增多,则静态显示方式更是无法适应,因此在显示位数较多的情况下,一般都采用动态显示方式。 2.4.2 LED动态显示方式 .专业.专注. 在多位LED显示时,为了简化硬件电路,通常将所有位的段选线相应的并联在一起,有一个8位I/O口控制,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的I/O线控制,实现各位的分时选通。其中段选线占用一个8位I/O口,而位选线占用一个4位I/O口。由于各位的段选线并联,段码的输出对各位来说都是相同的,因此,同一时刻,如果各位位选线都处于选通状态的话,4位LED将显示相同的字符。若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字节的段码。在确定LED不同位显示的时间间隔,不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光太弱人眼无法看清。但也不能太长,因为毕竟要受限于临界闪烁频率,如果此时间越长,占用CPU时间也越多,另外,显示位增多,也将占用大量的CPU时间,因此动态显示实质是一牺牲CPU时间来换取元件的减少。 所以,由于本系统只涉及到2位显示输出,就采用了和2片8位移位寄存器串级使用的LED静态显示方式。 2.5 键盘输入电路 2.5.1 矩阵式键盘接口: 矩阵式键盘(也称行列式键盘)适用于按键数目较多的场合,它由行线和列线组成,按键位于行列的交点上。一个3×3的行列结构可以构成一个有9个按键的键盘。同理,一个4×4的行列结构可以构成一个16键的键盘,很明显,在按键数量较多的场合,矩阵式键盘与独立式键盘相比,要节省很多的I/O口线。按键设置在行列线交点上,行列线分别接到按键开关两端。行线通过上拉电阻接到+5V上。平时无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由于此行线相连的列线电平决定。列线电平如果为低电平,则行线电平为低电平,列线电平如果为高电平,则行线电平为高电平。这是识别矩阵键盘按键是否按下的关键所在。由于矩阵键盘中行列线为多键公用,各按键均影响该键所在行列的电平。因此各按键彼此将相互发生影响,所以必须将行列信号配合起来比做适当的处理,才能确定闭合键的位置。 2.5.2 独立式按键接口: 第 16 页 共 89 页 独立式按键就是各按键相互独立,每个按键各接入一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键按下了。独立式按键电路配置灵活,软件简单。但每个按键需要占用一个输入口线,在按键数量较多时,需要较多的输入口线且电路结构复杂,故此种键盘适用于按键较少或操作速度较高的场合。 由于此系统中共有启动两条生产线的“启动1”键和“启动2”键,分秒选择键,时间设置加,时间设置减,生产线状态的切换键,时间设置键,时间切换键。只有这8个键,比较简单。所以就采用独立式按键接口电路。 2.6 小结 本章主要讨论了单片机、传感器、存储器、LED显示电路、键盘输入电路这五个部分。重点论述各个部分里可选择方案在使用上的利弊端,最后介绍并论证了本设计在各个部分里所选的方案可行性。 第3章 自动送料机主电路设计 主电路采用AT89C51,由于AT89C51含4KB容量,因此在设计中不需要外扩ROM。硬件电路主要有LED显示电路、键盘接收电路、继电器控制电路、EEPROM外部存储器扩展电路,以及看门狗MAX813L等组成。 3.1 系统结构原理图 主电路采用AT89C51,由于AT89C51含4KB容量。硬件电路主要有LED显 .专业.专注. 示电路、键盘接受电路、继电器控制电路、EEPROM外部存储器扩展电路,以及看门狗MAX813L等组成。电路原理框图如下: 图3.1 自动加料机控制系统硬件框图 3.2 主机电路核心器件介绍 AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片含4K bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(ROM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器(CPU)和Flash存储单元。功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。 3.2.1 AT89C51主要性能参数 .与MCS-51产品指令系统完全兼容 .4K字节可重擦写Flash闪速存储器 .1000次擦写周期 .全静态操作:0Hz---24MHz .三级加密程序存储器 .128×8字节部RAM .32个可编程I/O 口线 .2个16位定时/计数器 .6个中断源 .可编程串行UART通道 .低功率空闲和掉电模式 第 18 页 共 89 页 3.2.2 AT89C51 功能特性概述 AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节部RAM,32个I/0 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片振荡器及时钟电路。同时,AT89C51可将至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。 3.2.3 AT89C51 引脚功能说明 图3.2 AT89C51的引脚图 .VCC:电源电压 .GND:接地 .P0口:P0口是一组8位漏极开路型双向I/O,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活部上拉电阻。 在Flash编程时,P0接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 .P1口:P1口是一个带部上拉电阻的8位双向I/O口,P1的输出缓冲级可 .专业.专注. 驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过部的上拉电阻把端口拉倒高电平,此时可作输入口。作输入口使用时,因为部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,P1接收低8位地址。 .P2口:P2口是一个带有部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVE DPTR指令)时。P2口送出高8位地址数据。在访问8位地址的外部数据存储器(例如执行MOVX RI指令)时,P2口线上的容(也即特殊功能寄存器(SFR)区总R2寄存器的容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其他控制信号。 .P3口:P3口是一组带有部上拉电阻的8位双向I/O口,P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示: 表3.1 P3口的第二功能 端 口 引 脚 P3.0 P3.1 P3.2 第 二 功 能 RXD (串行输入口) TXD (串行输出口) INT0 (外中断0) 第 20 页 共 89 页 P3,3 P3.4 P3.5 P3.6 P3.7 INT1 (外中断1) T0 (定时/计数器0) T1 (定时/计数器1) WR (外部数据存储器写选通) RD (外部数据存储器读选通) P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。 .RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将单片机复位。 .ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器。ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。但要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,来禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。 .PSEN:程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。 .EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H--FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时部会锁存EA端状态。若EAEA端为高电平(接VCC端), .专业.专注. CPU则执行部会锁存EA端状态。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用+12V编程电压VPP。 .XTAL1:振荡器反相放大器的及部时钟发生器的输入端。 .XTAL2:振荡器3放大器的输出端。 3.2.4 时钟振荡器 AT89C51中有一个用于构成部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路如图: 图3.3 部振荡电路 图3.4 外部振荡电路 外接石英晶体(或陶瓷振荡器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,则推荐电容使用30pF10pF,而如使用陶瓷第 22 页 共 89 页 振荡器建议选择40pF10 pF。 用户也可以采用外部时钟,采用时钟的电路如图。在这种情况下,外部时钟脉冲接到XTAL1端,即部时钟发生器的输入端,XTAL2则悬空。 由于外部时钟信号是通过一个2分钟触发器后作为部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。 3.2.5 空闲节电模式 AT89C51有两种可用软件编程的省电模式,它们是空闲模式和掉电工作模式。这两种方式是控制专用寄存器PCON(即电源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位来实现的。PD是掉电模式,当PD=1时,激活掉电工作模式,单片机模式,即PD和IOL同时为1,则先激活掉电模式。 在空闲工作模式状态,CPU保持睡眠状态而所有片的外设保持激活状态,这种方式由软件产生。此时,片RAM和所有特殊功能寄存器的容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。 终止空闲工作模式的方法有两种,其一是任何一条被允许中断的事件被激活,IDL(PCON.0)被硬件清除,即刻终止空闲工作模式。程序会首先响应中断,进入中断服务程序,执行完中断服务程序并紧随RETI(中断返回)指令后,下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令。 其二是通过硬件复位也可将空闲工作模式终止。需要注意的是,当有硬件复位来终止空闲工作模式时,CPU通常是从激活空闲模式那条指令的下一条指令开始继续执行程序的,要完成部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,部禁止CPU访问片RAM,而允许访问其它端口。为了避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。 3.2.6 掉电模式 在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片RAM和特殊功能寄存器的容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM中的容,在VCC恢复到正常电平前,复位应无效,且必须保持一定时间以使振 .专业.专注. 荡器重启动并稳定工作。 表3.2 空闲和掉电模式外部引脚状态 3.2.7 程序存储器的加密 AT89C51可使用对芯片上的3个加密位LB1、LB2、LB3进行编程(P)或不编程(U)来得到下表所示的功能: 模式 空闲模式 空闲模式 掉电模式 掉电模式 程序存储器 部 外部 部 外部 ALE 1 1 0 0 PSEN P0 数据 浮空 数据 浮空 P1 数据 数据 数据 数据 P2 数据 地址 数据 数据 P3 数据 数据 数据 数据 1 1 0 0 表3.3 加密位保护功能表 当加密位LB1被编程时,在复位期间,EA端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保存到真正复位为止,为使单片机能正常工作,被锁存的EA电平必须程序加密位 1 2 3 4 LB1 U P P P LB2 U U P P U U P LB3 U 保护类型 没有程序保护功能 禁止从外部程序存储器中执行MOVC指令读取部程序存储器的容 除上表功能外,还禁止程序校验 除以上功能外,同时禁止外部执行 与该引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法清除。 3.2.8 Flash闪速存储器的编程 AT89C51单片机部有4K字节的Flash PEROM,这个Flash存储阵列出厂时已处于擦除状态(即所有存储单元的容均为FFH),用户随时可对其进行编程。编程接口可接收高电压(+12V)或低电压(VCC)的允许编程信号。低电压编程第 24 页 共 89 页 模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM编程器兼容。 AT89C51单片机中,有些属于低电压编程方式,而有些则是高电压编程方式。用户可从芯片上的型号和读取芯片的签名字节获得该信息。如下表。 表3.4 单片机AT89C51型号、签名字节 芯片顶面标识 Vpp=12V AT89C51 xxxx yyww 签名字节 (030H)=1EH (031H)=51H (032H)=FFH Vpp=5V AT89C51 xxxx—5 yyww (030H)=1EH (031H)=51H (032H)=05H AT89C51的程序存储器列阵采用字节写入方式编程的,每次写入一个字节,要对整个芯片的PEROM程序存储器写入一个非空字节,必须使用擦除的方式将整个存储器的容清楚。 3.2.9 编程方法 编程前,先设置好地址,数据及控制信号,编程单元的地址加在P1口和P2口的P2.0—P2.3(11位地址围为0000H—0FFFH),数据从P0口输入,引脚P2.6、P2.7和P3.6、P3.7的电平,PSEN为低电平EA/VPP引脚是编程电源的输入端,按要求加上编程电压,RST保持高电平,ALE/PROG引脚输入编程脉(负脉冲)。编程时,可采用4—20MHz的时钟振荡器,AT89C51编程方法如下: 1. 在地址线上加上要编程单元的地址信号。 2. 在数据线上加上要写入的数据字节。 3. 激活相应的控制信号。 4. 在高电压编程方式时,将EA/VPP端加上+12V编程电压。 5. 每对Flash存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG编程脉冲。 改变编程单元的地址和写入的数据,重复1—5步骤,直到全部文件编程结束。 .专业.专注. 每个字节写入周期是自身定时的,通常约为1.5ms 3.2.10 数据查询 AT89C51单片机用数据查询方式来检测一个写周期是否结束,在一个写周期中,如需读取最后写入的那个字节,则读出的数据的最高位(P0.7)是原来写入字节最高的反码,写周期完成后,有效的数据就会出现在所有输出端上,此时,可进入下一个字节的写周期,写周期开始后,可在任意时刻进行数据查询。 Ready/Busy:字节编程的进度可通过RDY/BSY输出信号监测,编程期间,ALE变成高电平“H”后P3.4端电平被拉低,表示正在编程状态。编程完成后,P3.4变为高电平表示准备就绪状态。 3.2.11 程序校验及芯片擦除 如果加密位LB1、LB2没有进行编程,则代码数据可通过地址和数据线读回原编写的数据。采用下图电路。程序存储器的地址由P1和P2口的P2.0-P2.3输入,数据有P0口读出,P2.6、P2.7和P3.6、P3.7的控制信号PSEN保持低电平,ALE、EA和RST保持高电平。校验时P0口须接上10K左右的上拉电阻。 加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。 利用控制信号的正确组合并保持ALE/PROG引脚10ms的低电平脉冲宽度即可将PEROM阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”,这步骤需再编程之前进行。 3.2.12 读片签名字节及编程接口 AT89C51单片机有3个签名字节,地址为030H、031H和032H。用于声明该器件的厂商、型号和编程电压。读签名字节的过程和单元030H、031H和032H的正常校验相仿,只需将P3.6、P3.7保持低电平,返回值意义如下: (030H)=1EH 声明产品由ATMEL公式制造。 (031H)=51H 声明为AT89C51单片机。 (032H)=FFH 声明为12V编程电压。 (032H)=05H 声明为5V编程电压。 第 26 页 共 89 页 编程接口:采用控制信号的正确组合可对Flash闪速存储阵裂中的每一代码字节进行写入和存储器的整片擦除,写操作周期是自身定时的,初始化后它将自动定时到操作完成。 3.2.13 AT89C51的极限参数: 极限参数:工作温度………………-55℃ ~ +125℃ 储藏温度………………-65℃ ~ +150℃ 任一引脚对地电压………-1.0V ~ +7.0V 最高工作电压………………………6.6V 直流输出电流……………………15.0mA 3.3 显示电路 在单片机应用系统中,如果需要显示的容只有数码和某些字母,使用LED数码管是一种较好的选择。LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。LED数码管是由发光二极管作为显示字段的数码型显示器件,其中七只发光二极管分别对应a~g笔端构成“日”字形,另一只发光二极管Dp作为小数点。因此这种LED显示器称为七段数码管或八段数码管。如图所示: 图3.5 七段位LED .专业.专注. 图3.6 八段位LED LED数码管按电路中的连接方式可分为共阴型和共阳型两大类,共阳型是将各段发光二极管的正极连在一起,作为公共端COM,公共端COM接高电平,a~g、Dp各笔段通过限流电阻接控制端。某笔段控制端低电平时,该笔段发光,高电平时不发光。控制某几段笔端发光,就能显示出某个数码或字符。共阴型是将各段发光二极管的负极连在一起,作为公共端COM接地,某笔段通过限流电阻接高电平时发光。 在自动加料机控制系统中运行是要显示输送、排料、满料、空料时间,有时间切换键和标志哪条生产线的发光二极管表示,显示的位数少,所以就采用静态显示的方式。LED显示器工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地(或+5V);每位的段选线(a~dp)分别与一个8位的锁存器输出相连。所以称为静态显示。各个LED的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。也正因此如此,静态显示器的亮度都较高。这种显示方式接口编程容易。若用I/O接口,则要占用4个8位I/O口,若用锁存器接口,则要用4片74LS373芯片。如果显示器位数增多,则静态显示方式便无法适应。 在设计中,LED显示电路采用74LS377驱动器和MC14511B译码器控制LED数码管。 3.3.1 74LS377芯片介绍 第 28 页 共 89 页 图3.7 74LS377的引脚图 .D0~D7:8个信号输入端。 .Q0~Q7:8个信号输出端。 .CLK:时钟信号输入端。 .E :锁存允许信号。当E=0时,CLK端的上跳变将把8位D输入端的数据打入8位锁存器。 表3.5 74LS377真值表 G CLK X ↑ ↑ 0 D X 1 0 X Q Q0 1 0 Q0 1 0 0 X 3.3.2 MC14511B芯片介绍 .专业.专注. 图3.8 MC14511B .A~D:四个信号输入端。 .a~g:七个信号输出端。 .LT、BI:接地。 .LE:接电源。 3.3.3 LED接口电路 LED显示电路采用74LS377驱动器和MC14511B译码器控制LED数码管。两个LED显示一条生产线一个工作过程的分、秒数。两片MC14511B把P0口的高四位和低四位译码成十进制控制LED显示。电路图如下: 第 30 页 共 89 页 图3.9 LED接口电路图 3.4 继电器控制电路 在电气控制领域或产品中,凡是需要逻辑控制的场合,几乎都需要使用继电器,从家用电器到工农业应用,甚至国民经济各个部门,可谓无所不见。继电器是一种利用各种物理量的变化,将电量或非电量信号转化为电磁力(有触头式)或使输出状态发生阶跃变化(无触头式),从而通过其触头或突变量促使在同一电路或另一电路中的其它器件或装置动作的一种控制元件。根据转化的物理量的不同,可以构成各种各样的不同功能的继电器,以用于各种控制电路中进行信号传递、放大、转换、联锁等,从而控制主电路和辅助电路中的器件或设备按预定的动作程序进行工作,实现自动控制和保护的目的。被转化或施加于继电器的电量或非电量称为继电器的激励量,当继电器被激励,从一个起始位置达到预定的工作位置,并完成电路的切换动作,称为继电器的工作特性, .专业.专注. 包括吸合。不吸合,保持与释放状态。当输入量变化到高于它的吸合值或低于它的释放值时,继电器动作,对于有触头式继电器其触头闭合或断开,对于无触头式继电器起输出发生阶跃变化,以此提供一定的逻辑变量。 自动加料机是把塑料粒子送到一个真空管,在输送时真空管关闭合,排料时真空管需要打开,将粒子送到排料漏斗。本设计共需2个继电器控制交流接触器,一个接带动生产的电动机。另一个为控制工作方向的方向阀。经考虑采用4123无极12V直流控制24V的交流继电器,并利用光耦合器件P521和MCU隔开。89C51的P1初始值为0FFH,所以加一个74LS04反相器使得继电器初始不产生闭合,使用MC1413为无源驱动器,IN4007组成继电器的续流二极管。电路图如下: 图3.10 继电器控制电路图 3.5 键盘及显示电路 键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干扰单片机的主要手段。本设计采用8255A为I/O扩展。 3.5.1 键盘接口 非编码键盘与单片机的接口单片机系统所用的键盘有编码键盘和非编码键盘两种。 编码键盘本身除了按键之外,还包括产生键码的硬件电路,只要按下某一个键,就能产生这个键的代码,一般称为键码,同时,还能产生一个脉冲信号,以通知CPU接收键码。这种键盘的使用比较方便,亦不需要编写很多程序,但使用的硬件较复杂,在微型计算机控制系统中使用还不多。 第 32 页 共 89 页 非编码键盘是由一些按键排列成的一个行列矩阵。按键的作用,只是简单地实现接点的接通和断开,但必须有一套相应的程序与之配合,才能产生出相应的键码。非编码键盘几乎不需要附加什么硬件电路,目前,在微型计算机控制系统中使用比较普遍。 使用非编码键需要用软件来解决按键的识别,防止抖动以及键码的产生等工作。 设有一个6行×5列的非编码键盘,其中有16个为数字键0~F,其余的为控制键,用以发布各种控制命令。键盘的行线接8155C口的六条线PC5~PC0,键盘的列线则接8155B口的5条线。在没有任何键按下时,所有键盘列线上的信号都是高电平。当有按键按下时,就会出现键的识别、防止抖动以及确定键码等一系列问题。 按键识别有各种方法,此系统只 “行扫描”法: (1)确定是否有按键按下。CPU通过并行口输出000000到键盘的行线,然后检测键盘的列线信号。若没有键按下,则为11111。若有任一个按键按下,则有某一条列线为0,也就是当PB4~PB0不为11111时,就表示有键按下。 (2)通过“行扫描”确定已按键的行、列位置。所谓行扫描就是依次给每条行线输入0信号,而其余各行都输入1,并检测每次扫描时所对应的列信号。在图2中就是在C口先输出111110(PC5~PC0),然后是111101,直到最后是011111,并检测每次所对应的B口输入。 只有在某行上有键按下时,在这一行上输入0(其他行为1),在列输出上才能检测到0信号。若是输入为0的这一行上没有按键按下,则收到的列信号仍然全是1。因此,只要记下列信号不全为1时的C口输出及B口输入,就能确定以按键的位置。设图中处于第3行第1列的键已按下,则必须是行输出信号为110111,检测到的列信号为11101。对应于其他的行信号,列信号都是11111。这样,通过行扫描,就可以确定按键的行、列坐标。 (3)确定是否有多键同时按下。有时一次按下的键不止一个,这在一般情况下是由于误操作引起的,是不应该出现的通常称为窜键。出现这种情况时,就可能有不止一次会得到列信号不为全1,这时就不容易判断哪个键是真正需要按下的。为了处理这种情况可采取两种办法:一是行扫描一定是扫到最后一 .专业.专注. 行才结束,而不是检测到列信号不为全1时就结束,以便发现窜键;二是如果出现了窜键,最简单的处理办法就是这次行扫描不算,再来一遍,即以最后放开的那个键为准。实际上,由于扫描的速度很快,真正找到两个键同时按下的情况是很少的。 (4)消除键抖动。一般按键在按下的时候有抖动的问题,即键的簧片在按下时会有轻微的弹跳,需经过一个短暂的时间才会可靠地接触。若在簧片抖动时进行扫描就可能得出不正确的结果。因此,在程序中要考虑防抖动的问题。最简单的办法是在检测到有键按下时,等待(延迟)一段时间再进行“行扫描”,延迟时间为10~20ms。这可通过调用子程序来解决,当系统中有显示子程序时,调用几次显示子程序也能同时达到消除抖动的目的[4]。 3.5.2 8255A芯片介绍 自动加料系统有8个按键:启动两条生产线的“启动1”键和“启动2”键、分秒选择键,时间设置加,时间设置减,生产线状态的切换键,时间设置键,时间切换键。由于单片机的并行口有限,故本系统采用8255A扩展并行口。 (1).8255A的部结构 8255A的部结构有以下几部分组成: a.并行I/O端口A、B、C 8255A的部有3个8位并行I/O口:A口、B口、C口。3个I/O口都可以通过编程选择为输入口或输出口,但在结构和功能上有所不同。 A口:含有一个8位数据输出锁存/缓冲器和一个8位输入锁存器。 B口:含有一个8位数据输出锁存/缓冲器和一个8位输入锁存器(不锁存)。 C口:含有一个8位数据输出锁存/缓冲器和一个8位输入锁存器(不锁存)。 当数据传送不需要联络信号时,这3个端口都可以用作输入口或输出口。当A口B口需要有联络信号时,C口可以作为A口和B口的联络信号线。 b.工作方式控制电路:8255A的三个端口在使用使可分为A、B两组。A组包括A口8位和C口高4位:B组包括B口8位和C口低4位。两组的控制电路中分别有控制寄存器,根据写入的控制字决定两组的工作方式,也可对C口每一位置“1” 或清“0”。 c.数据总线缓冲器:数据总线缓冲器是三态双向的8位缓冲器,是8255A第 34 页 共 89 页 与单片机数据总线的接口,8255A的D0~D7可以和AT89C51单片机的P0.0~P0.7直接相连。数据的输入输出、控制字和状态信息的传递,均可通过数据总线缓冲器进行。 d.读/写控制逻辑:8255A读/写控制逻辑的作用是从CPU的地址和控制总线上接收有关信号,转变成各种控制命令送到数据缓冲器及A组和B组的控制电路,控制A、B、C3个端口的操作[13]。 3.5.3 8255A引脚功能 图3.11 8255A的引脚 图 (1)8255A共有40个引脚,一般为双列直插DIP封装,40个引脚可分为与CPU连接的数据线、地址和控制信号以及与外围设备连接的三个端口线。 .D0~D7:双向三态数据总线。 .RESET:复位信号,输入,高电平有效。复位后,控制寄存器清0,A口、B口、C口被置为输入方式。 .CS:片选信号,输入,低电平有效。 .RD:读信号,输入,低电平有效。RD有效时,允许CPU通过8255A D0~D7读取数据或状态信息。 .专业.专注. .WR:写信号,输入,低电平有效。 .A1A0:端口控制信号,输入。2位可构成四种状态,分别寻址A口、B口、C口和控制寄存器 .PA0~PA7:A口数据线,双向。 .PB0~PB7:B口数据线,双向。 .PC0~PC7:C口数据/信号线,双向。当8255A工作于方式0时,PC0~PC7分为两组(每组4位)并行I/O数据线;当8255A工作于方式1或方式2时,PC0~PC7为A口、B口提供联络信号。 A1A0与 RD、WR、CS信号一起,可确定8255A的操作状态,如表所示 表3.6 8255A功能操作 A1 A0 RD WRCS 操 作 0 0 1 0 0 1 1 x 1 x 0 1 0 0 1 0 1 x 1 x 0 0 0 1 1 1 1 X 0 1 1 1 1 0 0 0 0 x 1 1 0 0 0 0 0 0 0 1 0 0 A口→数据总线 B口→数据总线 C口→数据总线 数据总线→A口 数据总线→B口 数据总线→C口 数据总线→控制口 数据总线为高阻态 非法状态 数据总线为高阻态 禁止操作 输出操作 输入操作 (2)8255A与AT89C51接口电路 在连接键盘电路采用8255A为扩展I/O口时,要在中间加入一个74LS373,74LS373是一个三态门的8D锁存器,它可以作为AT89C51外部的一个扩展输入口,接口电路的工作原理是当外设把数据准备好后,发出一个控制信号加到373的G端,即锁存端,使输入数据在373中锁存,同时信号加到AT89C51单片机第 36 页 共 89 页 的中断请求INT0端,单片机响应中断,在中断服务程序中执行下面程序: MOV DPTR,#0BFFFH MOVX A,DPTR 在执行上面的第二条指令时,P2.6=0,通过或门后加到373的OERD有效,端,即373的三态门控制端,使三态门畅通,锁存的数据读入到累加器A中。 图3.12 8255A与AT89C51接口电路 3.6 外部存储器扩展电路 自动加料机存在两条生产线的输送、排料、满料、空料,共8个设置的重要数据需要读/写,并且能够提供掉电保护,所以就需要外扩程序存储器。程序存储器一般采用只读存储器,因为这种存储器在电源关断后,仍能保存程序,在系统上电后,CPU可取出这些指令予以重新执行。只读存储器简称ROM。ROM中的信息一旦写入之后,就不能随意更改,特别是不能在程序运行的过程中写入新的容,故称之为只读存储器。 向ROM中写入信息叫做ROM编程。根据编程的方式不同,ROM分为以下几种: (1)掩膜ROM是在制造过程中编程。因编程是以掩膜工艺实现的,因此称 .专业.专注. 为掩膜ROM。这种芯片存储结构简单,集成度高,但由于掩膜工艺由于成本较高,因此只适合于大批量生产。 (2)可编程ROM(PROM) PROM芯片出厂是并没有任何程序信息,是由用户用独立的编程器写入的,但PROM只能写入一次,写入容后,就不能在进行修改。 (3)EPROM EPROM是用电信号编程,用紫外线擦除的只读存储器芯片。在芯片外壳上的中间位置有一个圆形窗口,通过这个窗口照射紫外线射就可擦除原有的信息。 (4)EPROM 这是一种用电信号编程,也用电信号擦除的ROM芯片,对E2PROM的读写操作与RAM存储器几乎没有什么差别,只是写入的速度慢一些,但断电后能够保存信息。 此设计采用外扩E2PROM的扩展方式。E2PROM是电擦除可编程只读存储器,其突出优点是能够在线擦除和改写,无须像ERPOM那样必须用紫外线照射才能擦除,较新的E2PROM产品在写入时能自动完成擦除,且不再需要专用的编程电源,可以直接使用单片机系统的+5V电源。 常用的E2PROM芯片有2816/1816A,2817/2817A,2864A。本设计采用的是用2864A的扩展方式。 2864A有四种工作方式: (1) 维持方式 当CE为高电平时,2864A进入低耗维持方式。此时,输出线呈高阻态,芯片的电流从140mA降至维持电流60mA。 (2) 读方式 当CE和OE均为低电平而WE为高电平时,部的数据缓冲器被打开,数据送上总线,此时,可进行读操作。 (3) 写方式 2864A提供了两种数据方式:页写入和字节写入 页写入:2864A片设置了16字节的“页缓冲器”,并将整个存储器阵列划分成512页,每页16个字节。页的区分可由地址的高9位来确定,地址线的低4位2第 38 页 共 89 页 用以选择页缓冲器中的16个地址单元之一。写方式时,CE为低电平,在WE下降沿,地址码A0~A12被片锁存器锁存,在上升时数据被锁存。片还有一个字节装载限时定时器,只要时间未到,数据可以随机地写入页缓冲器。在连续向页缓冲器写入数据的过程中,不用担心限时定时器会益处,因为每当WE下降沿时,限时定时器自动被复位并重新启动计时。 字节写入:字节写入的过程与页写入的过程类似,不同之处是仅写入一个字节,限时定时器就溢出。 (4) 数据查询方式 数据查询是指用软件来检测写操作中的页存储周期是否完成。在页存储期间,如对2864A执行读操作,那么读出的是最后写入的字节,若芯片的转储工作未完成,则读出数据的最高位是原来写入字节最高位的反码。据此,CPU可判断 的编程是否结束。如果读出的数据与写入的数据相同,表示芯片已完成编程,CPU可继续向2864A装载下一页数据。2864A与单片机接口时,2864A的片选端CE与高地址线P2.7连接,P2.7=0才能选中2864A,这种线选法决定了2864A对应多组地址空间,即:0000H~1FFFFH,2000H~3FFFH,4000H~5FFFH,6000H~7FFFH。这8K字节存储器可作为数据存储器使用,但掉电后数据不丢失。2864A与AT89C51接口电路如图:单片机由于受引脚数的限制,数据线和地址线是复用的,由P0口兼用。为了将它们分离出来,以便同单片机片外的扩展芯片正确的连接,需要在单片机外部增加地址锁存器。我们这本设计中使用74LS373。74LS373是一种带有三态门的8D锁存器,其引脚如下所示。 图3.13 锁存器74LS373的引脚图 .专业.专注. D7~D0:8位数据输入线 Q7~Q0:8位数据输出线 G:数据输入锁存选通信号,高电平有效。当该信号为高电平的时候,外部数据选通到部锁存器,负跳变时,数据锁存到锁存器中。 OE:数据输出允许信号,低电平有效。当该信号为低电平的时候,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平的时候,输出线为高阻态。74LS373的功能见下表。 表3.7 74LS373的功能表 OE G 1 1 0 × D 1 0 × × Q 1 0 不变 高阻态 0 0 0 1 图3.14 2864A与AT89C51的连接图 第 40 页 共 89 页 3.7 看门狗MAX813L电路 几乎所有的单片机都需要复位电路,对复位电路的基本要求是:在单片机上电时能可靠复位,在下电时能防止程序乱飞导致EPROM中的数据被修改;另外,单片机系统在工作时,由于干扰等各种因素的影响,有可能出现死机现象导致单片机系统无法正常工作,为了克服这一现象,除了充分利用单片机本身的看门狗定时器(有些单片机无看门狗定时器)外,还需外加看门狗电路;除此以外,有些单片机系统还要求在掉电瞬间单片机能将重要数据保存下来,因掉电的发生往往是根随机的,因而此类单片机系统需要电源监控电路,在掉电刚发生时能告知单片机。MAXIM公司推出的MAX813L刚好能满足这些要求,下面具体介绍该芯片的性能特点及使用方法。 图3.15 MAX813L的引脚图 MAX813L有双列直插和贴片两种封装形式,其双列直插如图所示,引脚功能如下: 第1脚为手动复位输入,低电平有效;第2、3脚分别为电源和地;第4脚为电源故障输入;第5脚为电源故障输出;第6脚为看门狗输入,第7脚为复位输出,第8脚为看门狗输出。 MAX813L的性能特点: .专业.专注. MAX813L的部结构框图如图所示,具有以下主要性能特点:由图可知该芯片具有以下主要性能特点: (1)复位输出。系统上电、掉电以及供电电压降低时,第7脚产生复位输出,复位脉冲宽度的典型值为200ms,高电平有效,复位门限的典型值为4.65V。 (2)看门狗电路输出。如果在1.6s没有触发该电路(即第6脚无脉冲输入),则第8脚输出一个低电平信号。 (3)手动复位输入,低电平有效,即第1脚输入一个低电平,则第7脚产生复位输出。 (4)1.25V门限值检测器,第4脚为输入,第5脚为输出。当第4脚电压低于1.25V时,第5脚输出一个低电平信号。 图3.16 MAX813L的典型应用电路 MAX813L的典型应用电路如上所示。图中单片机以AT89C51为例,MAX813L的第1脚与第8脚相连。第7脚接单片机的复位脚(AT89C51的第9脚);第6脚与单片机的P1.4相连。在软件设计中,P1.4不断输出脉冲信号,如果因某种原因单片机进入死循环,则P1.4无脉冲输出。于是1.6s后在MAX813L的第8脚输出低电平,该低电平加到第1脚,使MAX813L产生复位输出,使单片机有效复位,摆脱死循环的困境。另外,当电源电压低于门限值4.65V时,MAX813L也产生复位输出,使单片机处于复位状态,不执行任何指令,直至电源电压恢复正常,可有效防止因电源电压较低时单片机产生错误的动作。 第 42 页 共 89 页 电源故障输入PFI通过一个电阻分压器监测未稳压的直流电源。当PFI低于+1.25V时,电源故障输出脚第5脚PF0变低,可引起AT89C51中断,进行电源故障处理,或将重要数据保存下来。把分压器接到未稳压的直流电源是为了更早地对电源故障警告。 MAX813L是一体积小、功耗低、性价比高的带看门狗和电源监控功能的复位芯片;它使用简单、方便,它所提供的复位信号为高电平,因而是应用于复位信号为高电平场合的单片机系统的理想芯片。 3.8 料位开关 在料体进入料斗式干燥机后,要能检测到什么时候到达满料状态,所以就选用简单的阻力式传感器,阻力式料位传感器是指物料对机械运动所呈现的阻挡力。粉末颗粒状物料比液态物质流动性差,对运动物体有明显的阻力,利用这一特点可构成各种料位传感器。 采用音叉法,音叉法:根据物料对振动中的音叉有无阻力探知料位是否到达或超过某高度,并发出通断信号,这种原理不需要大幅度的机械运动,驱动功率小,机械结构简单、灵敏而可靠。 音叉由弹性良好的金属制成,本身具有确定的固有频率,如外加交变力的频率与其固有频率一致,则叉体处于共振状态。由于周围空气对振动的阻尼微弱,金属部的能量损耗又很少,所以只需微小的驱动功率就能维持较强的振动。当粉粒体物料触及叉体之后,能量消耗在物料颗粒间的摩擦上,迫使振幅急剧衰减,音叉停振。 为了给音叉提供交变的驱动力,利用放大电路对压电元件施加交变电场,靠逆压电效应产生机械力作用在叉体上。用另外一组压电元件的正压电效应检测振动,它把振动力 为微弱的交变电信号。再由电子放大器和移相电路,把检振元件的信号放大。经过移相,施加到驱动元件上去,构成闭环振荡器。在这个闭环中,既有机械能也有电能,叉体是其中的一个环节,倘若受到物料阻尼难以振动,正反馈的幅值和相位都将明显的改变,破坏了振荡条件,就会停振。只要在放大电路的输出端接以适当的器件,不难得到开关信号。 为了保护压电元件免受物料损坏和粉尘污染,将驱动和检振元件装在叉体部,经过金属膜片传递振动。如果在容器的上下方都装叉体,可以实现自动进 .专业.专注. 料或自动出料的逻辑控制,或者把料位越限信号远传到控制室。在控制室里的控制电路判断料位是否越限,并按要求使被控的进出料设备启停。并且叉体的制造和装配良好时,音叉也可用于液体测量和控制。在测量时不需要大幅度的机械运动,驱动功率小,机械结构简单、灵敏而可靠。 系统采用LD-YC/YG 型 音叉式物位限位开关 LD-YC/YG型音叉式物位限位开关作为一种新型的物位传感器,具有安装简单,不用标定,搅动、气泡对测量无影响等优点。在未来工业过程中将全面取代如浮球液位开关等落后的检测方式广泛应用于各行各业。 原理 传感器安装于仓的顶部或仓的侧壁上。音叉由压电晶体驱动产生振动,当叉体被液体浸没或被物料埋没时振动频率发生变化。这个变化由电子电路检出并输出一个开关量用于报警或控制。 适用围 中等粘度、腐蚀性液体。流动性好的粉状物料和颗粒状物料。 禁用围 第 44 页 共 89 页 高温、高粘度液体。高温、易结垢固体、块状物料。 主要技术指标 [YC 部分] 供电电压:直流 24V 或 10-55V (防爆型用 DC 24V) 交流 25-250V 50Hz 工作温度:叉体 -40-80℃ 仪表 -20-45℃ 输出方式: 直流24V 供电时为继电器输出(AC 220V 1A) 直流10-55V 供电时为集电极开路输出(350mA防爆型产品≤50mA) 交流25-250V 供电时为两线制输出(220V 4.4W-77W) 功 耗:直流供电时 0.25W(DC 24V) 交流供电时 1.5W(AC 220V) 安装方式:G1 管螺纹 防爆标志:本安 iaⅡBT4 隔爆型 dⅡBT4 [YG 部分] 供电电压:直流 24V 或 18-55V 交流50-250V 50Hz 工作温度:叉体 -40~150℃ 仪表 -20~70℃ 输出方式: 直流24V 供电时为继电器输出(AC 220V 1A) 直流18-55V 供电时为集电极开路输出(350mA) 交流50-250V 供电时为两线输出(220V 350mA 防爆型产品≤50mA) 功 耗:直流供电时 0.25W(DC 24V) 交流供电时 1.5W(AC 220V) 安装方式:G1.5 管螺纹 3.9 硬件连接 此次设计的主要是要检测到满料状态,并显示出输送、排料、满料时间还有对系统进行一点的人工控制。所以系统的框架主要如下图,采用8255A扩展并行接口来外接几个独立的控制按键以及用来显示对应按键状态的发光二极 .专业.专注. 管,因为外设与主单片机AT89C51运行速度不一,故在两者之间接个74LS373锁存器。AT89C51的自动加料系统中,程序直接放在AT89C51部闪存中。所以外接2864A将设定数据通过串行口存入2864A中,同样的未解决两个硬件之间的速度问题,在两者之间接个74LS373锁存器。当外部控制指令传到单片机里时,单片机就要进行相应的输出,首先有显示时间的控制输出LED数码管的外部设备,因为要用两片LED来静态显示一条生产线的状态。故将其并接到译码器MC14511B,在通过74LS377做桥梁接到AT89C51的P0口。为了在机子满料时第一时间对系统进行调整,采用中断方式。具体的做法是将满料信号通过光耦隔离抗干扰技术接到AT89C51的外部中断输入口。最后为了提高系统的安全稳定性,外接一个看门狗来保证系统受干扰时不至于出现程序乱飞。具体的系统硬件图可见下图 第 46 页 共 89 页 图3.17 系统硬件连接框图 .专业.专注. 3.10 小结 本章主要是介绍了系统总体结构原理及硬件接法,还重点对显示、继电器控制、外存储器扩展、看门狗MAX813L等电路上硬件和电路原理接法进行论述。通过论述知道其各部分的原理作用,从而进行各部分的硬件、工作形式进行选择。 第 48 页 共 89 页 第4章 系统软件设计 4.1 系统的抗干扰及可靠性 单片机系统供电线路是干扰的主要来源,电源采用隔离变压器接入电网,隔离变压器在初级和次级之间加了一层屏蔽层。交流接触器是继电器控制的,在紧靠交流接触器的输入端口并上一个电阻和电容串联的电路滤去高次谐波。每个集成电路芯片的电源和地之间要并上0.1F的陶瓷电容。在输入输出通道上要加光耦P521。除了在继电器通道上外,两个满料信号也要经过P521光耦才送至 INT0、INT1。另外,数字地和模拟地要分开,数字地线要粗而短。 软件抗干扰方面,本系统采用指令冗余和软件陷阱。当CPU受到干扰后,会把一些操作数当作指令码来执行,引起程序混乱。由于当PC指针飞到单字节指令上时,会自动步入正轨。因此我们在程序中人为地在 RET、RET1、LCALL、LJMP、AJMP、DJZE、JZ、CJNE 等处插入一些单字节指令(NOP)。并在继电器开闭指令 SET、CLR前插入两条NOP指令。同时,当程序飞到ROM中未使用的非程序区时,非程序区要能捕获PC指针并强行拉到处理故障程序中。所以非程序区要每隔一段设置一个软件陷阱。软件陷阱由三条指令构成: NOP NOP LJMP ERROR ERROR 处理过程放在 0030H开始处 4.2 软件设计 程序设计包括主程序、中断程序、故障处理程序,系统中用到了两个定时器中断:定时器0每隔1.2s使P1.7产生脉冲信号;定时器1产生1s的定时,使LED显示递减。故障处理程序使PC指针跳回到原来起动的相应程序段;主程序完成部RAM数据区初始化、8255初始化,并根据按键信号跳转到想应程序段。 4.1.1 主程序 先启动系统,系统启动后,初始化系统,方向阀处于送料状态。这时系统采取中断方式接收控制按键的命令,进而进行相应的电磁阀和电机的输出控制。在系统工作期间,对应生产线上LED数码管所显示的时间量开始逐渐递减,若 .专业.专注.
发布评论