您好,欢迎来到刀刀网。
搜索
您的当前位置:首页传送带上物件计数器的设计

传送带上物件计数器的设计

来源:刀刀网
传送带上物件计数器设计

传送带上物件计数器设计

第一章 方案论证

随着社会的进步和生产的发展,物件计数器已经有了很大的发展,同时也有了很多有关物件计数器的设计方案,但针对的对象不同,所设计的电路也是不尽相同的。此次我所设计的传送带上的物件计数器主要是针对那些规则的、间隔均匀的物件,因此我设计出了自己的合适的物件计数器电路。电路的主要功能是对传送带上的物件进行自动计数、装箱以及对所计物件个数进行显示。关于我设计的方案,我主要论证的电路是检测电路和显示电路以及键盘电路。

第一节 检测电路的论证

在传送带传送物品的作业过程中,许多物品具有规则形状的块状、颗粒状或棒枝状产品,诸如香烟、香皂、糖果、铅笔、饼干、书籍等。这些物品大多数按规定的标准实行自动加工,其重量和形体均匀一致,且大多数实行计数定量包装,如香烟20支一小包,书籍10本一包,图钉100个一盒等。

规则形体的物品包装计数时,先以适当的方式将其送到计量给料位置或料斗中,再由计数定量装置按包装要求进行计数给料。目前常用的计数定量装置有:光电检测计数装置,以及用于块状物品的冲头式定量给料装置,用于块状或颗粒状物品的模孔式定量给料装置,用于块状物品的差速定量给料装置,用于棒状物品的容腔式定量给料装置等。采用光电检测装置进行计数供送具有装置轻巧、检测速度快、检测范围广、精确度高、非接触、抗干扰、便于实现自动控制等优点,应用非常广泛。在研制、开发和应用光电计数供送控制系统时,除了要注意一般数控电路共有的防电磁干扰和微机接口技术问题外,还要注意光电计数检测控制特有的几个技术问题,如被检物品的排队、检测信号的整形、防止误计(多计或漏计)以及防车间照明光源的干扰等。由于我们时间和精力有限,我们只研究了规则的、有间隔的物件计数,于是我们选择了光电检测装置。

光电检测在工业上的运用也分为好多种。可以检测一切能够影响光量或光特性的非电量,例如,位移、振动、力、转矩、转速、温度、压力、流量、液位、湿度、液体浓度、浑浊度、成分、角度、表面粗糙度、乃至图像等。我用的是光

1

传送带上物件计数器设计

电检测中的光电开关,光电开关又称电眼、光电传感器等,在传送带机械中主要用来检测物件是否通过,保证计数的准确。目前常用的光电开关是红外线光电开关,是利用物体对近红外线光束的反射原理,由同步回路感应反射回来的光的强弱而检测物体的存在与否,即光电传感器首先发出红外线光束到达或透过物体,物体或镜面对红外线光束进行反射,光电传感器接收反射回来的光束,根据光束的强弱判断物体的存在。红外线属于一种电磁射线,其特性等同于无线电或X射线。人眼可见的光波是380nm -780nm,发射波长780nm-1mm的长射线称为红外线,浙江省洞头县光电开关厂生产的红外线光电开关优先使用的是接近可见光波长的近红外线。如图 1.1所示。

图 1.1 波长示意图

红外光电开关的种类也很多,有镜反射式光电开关、漫反射式光电开关、槽式光电开关、对射式光电开关、光纤式光电开关等。

漫反射式光电开关是将发射器与接收器装在一起的传感器,当物体通过时,物体对发射器发来的近红外线进行反射,接收器接收后就形成了开关信号,该信号经过放大后就可以用来控制物体的进退速度,发出停、进指令。很显然,被检测的物体要有较高的反光率,这样才能保证光电开关获得可靠的开关信号。漫反射式光电开关结构简单、安装方便、造价较低、使用范围广,但使用调整困难。接收器接收的光强,会随着物体的远近、光电开关与物体的夹角大小而变化,常常影响到检测的精确度,所以不很实用。其原理图如图 1.2所示。

2

传送带上物件计数器设计

图1.2 漫反射式光电开关

槽式光电开关采用U字型结构,发射器和接收器分置于U型槽的两边,并在同一轴线上,发射器发出的近红外线被接收器接收,光线在槽中形成了光轴,当被检测的物体通过时,物体对光轴形成了阻断,从而能使光电开关产生开关量信号。槽式光电开关的光轴的长短固定。光轴越短,光电开关受到的外界光干扰就越小,因此可靠性越高。所以槽式光电开关主要用于速度较高的场合。其原理图如图 1.3所示。

图 1.3 槽式光电开关

镜反射式光电开关解决了漫反射式光电开头反射光强不一的问题。它虽然也是将发射器和接收器集成于一体,但是它在物体的另一面设置了反射镜,发射器发出的近红外线经过反射镜反射到接收器,反射的光强基本是一致的,这就减少了检测的误差。当有物体通过时,就阻断了光线,从而得到了开关量。其原理图如图 1.4所示。

图 1.4 镜反射式光电开关

对射式光电开关包含在结构上相互分离且光轴相对放置的发射器和接收器,发射器发出的光线直接进入接收器。当被检测物体经过发射器和接收器之间且阻断光线时,光电开关就产生了开关信号。当检测物体是不透明时,对射式光电开关是最可靠的检测模式。其原理图如图 1.5所示。

图 1.5 对射式光电开关

3

传送带上物件计数器设计

光纤式光电开关,是通过塑料戴玻璃光纤传递光信号,可以实现远距离控制。对于距离较远的检测项目来说,可以使用光纤式光电传感器。经常使用的光纤传感器有漫反射式和对射式两种,在物料的计数等方面使用较多。其原理图如图 1.6所示。

图 1.6 光纤式光电开关

在不同的场合使用不同的光电开关,例如在电砚振动供料器上经常使用光纤式光电开关,在间歇式包装机包装膜的供送中经常使用漫反射式光电开关,在连续式高速包装机中经常使用槽式光电开关。我这次设计的是关于传送带上有间隔的物料计数,而对射式是发射与接收形成光轴,直接接收光信号,安装简单,工作可靠,所以我选择使用了对射式光电检测来完成传送带上计数的功能。

除了正确选择光电开关的品种与型号外,还要考虑生产厂家的因素。目前国内生产光电开关的厂家很多,企业规模有大有小,质量当然差别较大,但并不是说大企业的产品质量就好。一般来说,直接向企业购买具有较大的质量把握,现在有的企业为了扩大市场份额,对同一种型号的产品标价不一,其内部元器件的质量就差别较大,因此在购买时就要明确使用期限的保证,一般购买较经济实惠的一种比较合算。

第二节 显示电路的论证

我们知道,显示技术是光电子技术与计算机技术的结晶,它的应用早已超出数字显示和计算机终端显示的范围,渗透到商业广告、新闻发布、交通运输、体育比赛、文化娱乐、航天及模拟军事演习等领域,成为信息的重要工具。在我所设计的课题中,显示电路是为了显示传送带所计的物件的个数和显示所设置的包装箱内要装的个数。要选择什么样的显示电路需要从要完成的功能和与单片机硬件电路之间的关系而定。总的来说,显示电路和计数是紧密相连的,只要有计数,一般都要有显示电路。

4

传送带上物件计数器设计

目前国内外生产的显示器种类繁多,性能各异,分类方式也不尽相同。按发光类型分可分为主动发光型和被动发光型两大类。前者本身发光,后者不发光,只能反射或投射、透射光线。显示器分为灰光管、荧光管、LED数码管、LCD显示器等,显示器的详细分类情况见表1.1。

表1.1 显示器的详细分类

参数 工作电压/V 工作电流/mA 典型功耗/mA 发光响应时间 最高工作频率/HZ 发光颜色 显示亮度/(cd/m2) 工作温度/℃ 使用寿命/h 辉光管 (NRT) 175 2 350 150us 低 桔红、橙 荧光管 (VFD) 20 6 120 1ms 较低 绿 阴极射线像元管(扁管(CRT) 平CRT) 几千 0.2~10 几百 0.1us 高 8.5K~10K 91 900 0.1us 高 LED 数码管 1.7~2 30~60(一位全亮笔段) 70 <0.1us 几兆赫 LCD 显示器 4-6(交流) 10uA 50 50ms 几百赫 单色、彩色 红、绿、蓝 红、绿、橙、本身不黄、白、蓝 发光 ≥0.3~5 (mcd) -30~+85 105 不发光 0~+50 2×104 较高 -20~+80 >500 ≥205 -20~+80 2×103 ≥200 -55~+75 >104 1500~9000 -30~+70 1.6×104 我们在设计中考虑到显示电路要显示出光电检测装置所计物体的个数,显示的数值是从0000到9999,只有四位显示,而发光二极管LED的工作电压不高,只有1.7~2V,价格又便宜,符合我们的要求,所以我就选择了主动发光型发光二极管LED数码管显示。

在我们的显示电路中,它的作用是:光电检测系统将传送带上有无物体通过时所接收到的脉冲信号送往单片机,单片机通过内部计数处理后,驱动显示电路的四位LED数码管显示出所计的数值。单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。

静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳

5

传送带上物件计数器设计

定,占用很少的CPU时间。动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。

硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD码即可,硬件接线有一定标准。软件译码是用软件来完成硬件的功能,硬件简单,接线灵活,显示段码完全由软件来处理,是目前常用的显示驱动方式

由于我所设计的电路中,需要的I/O口比较多,同时为了节省线路板空间,我选择使用动态扫描显示的方法,并且利用软件译码的方式来帮助动态扫描完成显示的功能。我们运用了动态扫描之后,在画PCB板的时候,省去了很多麻烦,况且我们使用的是单面板,如果使用静态扫描,印制出来的电路板会很复杂,不易调试。

另外,在我们的设计中,还设有键盘电路。由于键盘电路的功能主要是用来设置包装的个数及控制程序的运行或暂停的,所以用到的按键很少,我们在设计中选用了五个按键分别为:设置键、加一键、减一键、运行或暂停键、清零键,因此,我们用了比较简单方便的式键盘。

6

传送带上物件计数器设计

第二章 系统介绍

第一节 系统结构原理图

在系统中,我们主要是要完成传送带上物件的计数和包装,并通过显示电路显示出所计数值的功能,因此本系统主要包括:单片机、光电检测电路、显示电路、键盘电路、两条传送带控制电路、报警电路以及状态显示电路。有关传送带上物件计数器设计的系统结构原理图如下图2.1所示。

键盘

段驱动

显示电路

检测电路 片 机

驱动电路

驱动电路

驱动电路

状态显示

报警电路 传送带控制电路

图2.1 系统框图

第二节 系统工作原理

在系统中,我们采用了红外线光电开关与单片机结合对传送带上的物件进行计数的方式。考虑到抗干扰性,这里采用了由红外线发射电路中的NE555组成的时基振荡器产生振荡频率为38kHz的调制信号。再由NE555驱动红外发光二极管以红外线的形式发射出去,由于我们采用的是对射式光电检测装置,所以红外线接收单元就用了集红外接收、放大、鉴频于一身的接收头HRM3800,这样就大大提高了系统的灵敏度和抗干扰性。系统还采用了两条传送带来分别完成物件的传送和包装箱的运送,两个继电器在单片机的控制下闭合或打开,从而控制物件传送带和包装箱传送带的运行和停止。在物件传送带上,当没有物体通过时,红外

7

传送带上物件计数器设计

接收二极管能够接收到红外信号,并经接收电路反向放大后输出低电平信号。当有物体通过时,红外接收器收不到红外信号,输出高电平,接收单元HRM3800将此信号放大、鉴频,再经Q8反相成低电平后送入到ATC51单片机的中断口P3.2口,同时单片机在内部程序的扫描过程中,扫描到低电平信号就加一计数,并由显示电路显示出当前的计数个数。当计到警告计数个数时,状态信号灯绿灯灭,红灯开始闪亮。当计到设置的包装个数时,红灯停止闪亮,蜂鸣器报警,物件传送带停止运行,包装箱传送带开始运行。五秒后,又一个空箱到位,包装箱传送带停止运行,物件传送带又开始运行,计数包装重新开始。

为了更好的说明问题,我选用由株洲工学院机械系的王桥医教授所设计的通过8031单片机对交流电机的控制,结合光电检测技术,实现产品的计数的方案来介绍一下。这个方案和我们的方案具有很大的相似之处,在某些方面我们的和它还有差别,有待改进。

我们从图2.2所示可以看出,该系统也控制两条传送带。即包装箱传送带和产品传送带。包装箱传送带用来传送产品包装箱,其功能是把满箱运走,并用一只空箱来代替。为使空箱恰好对准产品传送带的末端,以便使产品刚好落人箱中,在包装箱传送带的中间装一光电控制器,用以检测包装箱是否到位。产品传送带将产品从生产车间传送到包装箱,当某一产品被送到传送带末端,则会自动落人包装箱内,并由检测器转换成计数的脉冲。

图2.2 传送带实物图

硬件接口电路为了完成上述控制任务。用P1.7位控制产品传送带,用P1.6位控制包装箱传送带,它们均通过一个反向驱动器,与光电隔离器的发光二极管阴极相连。为了监测包装箱是否到位和计量产品装箱的个数,系统采用两个光电检测器。其中检测器1用来检测包装箱是否到位,检测器2用来检测是否有一个产品落人箱内。

8

传送带上物件计数器设计

在此系统中,他用了两个传送带,一个用于传送包装箱和一个用于传送物件,这与我所设计的是一样的,不一样的是在他所设计的方案中,用了两个光电传感器分别用来检测物件的通过和包装箱的到位,而在我的设计中,仅用了一个光电传感器来检测物件是否通过。对于包装箱的到位问题,为了经济实用,减少器件,我采用了用软件实现的方式,即利用单片机延时程序。计算得出包装传送带从一个箱子装满到下一个箱子到位所需要的时间,用单片机控制延时来实现。这在间隔均匀的规则的传送带上还实用,但一旦出现包装箱间隔不均匀,就会出现错误,物件将不能正确的装入包装箱内。因此,我们的设计还存在着很大的缺点,还需要进一步的改进。

9

传送带上物件计数器设计

第三章 硬件电路设计

硬件电路是系统设计的主要组成部分,各个部分硬件电路的组成是就是整个系统各个功能模块的组成。在我们的系统中,硬件电路主要由检测电路、显示电路、键盘、电源、以及继电器、蜂鸣器电路组成。

第一节 检测电路

在检测电路中,我们使用的是光电检测中的红外线光电开关。光电检测技术是光学和电子学技术相结合而产生的一门新兴检测技术。它是利用电子技术对光学信息进行检测,并进一步传递、储存、控制、计算和显示等。

光电检测技术从原理上讲可以检测一切能够影响光量或光特性的非电量,例如,位移、振动、力、转矩、转速、温度、压力、流量、液位、湿度、液体浓度、浑浊度、成分、角度、表面粗糙度、乃至图像等。通过光学系统把待检测的非电量信息变换成为便于接收的光学信息,然后用光电探测器件将光学信息变换成电量,并进一步经电路放大、处理等,达到电信号输出的目的。这些信息变换技术和电信号处理技术便是光电检测的主要内容。

光是一种电磁射线,其特性如同无线电波和X射线,传递速度约为300000千米/秒,因此它可以在发射的一瞬间被其接收。红外线光电开关是利用人眼不可见(波长为780nm-1mm)的近红外线和红外线的来检测、判别物体。通过光电装置瞬间发射的微弱光束能被安全可靠的准确的发射和接收。光电开关的重要功能是能够处理光的强度变化:利用光学元件,在传播媒介中间使光束发生变化;利用光束来反射物体;使光束发射经过长距离后瞬间返回。光电开关是由发射器、接收器和检测电路三部分组成。发射器对准目标发射光束,发射的光束一般来源于发光二极管(LED)和激光二极管。光束不间断地发射,或者改变脉冲宽度。受脉冲调制的光束辐射强度在发射中经过多次选择,朝着目标间接地运行。接收器有光电二极管或光电三极管组成。在接收器的前面,装有光学元件如透镜和光圈等。在其后面的是检测电路,它能滤出有效信号和应用该信号。在我们所设计的系统中,由于使用了对射式光电检测装置,所以在检测电路中就一定包含有发射电路和接收电路。

一、 发射电路

10

传送带上物件计数器设计 系统中我们所采用的发射电路是由NE555和几个电阻电容组成多谐振荡器,产生振荡频率为38KHZ的调制信号,然后再驱动红外发射管PH303把这38KHZ的调制信号以红外线的形式向外发射。电路图如图3.1所示。 BR8 47K+54 7R2010K62C4 1nRESETVCCDISCHGU7NE555THOLDOUTTRIGCVOLTGND83R9100PH3035C50.01uF图3.1 发射电路 (一) NE555的介绍 ANE555在电路中的作用是极其重要的,抗干扰性很强的38KHZ的调制信号就是有由NE555组成的时基震荡器产生的。NE555是555定时器中的一种,现在先把555定时器介绍一下。 1. 555定时器简介 12555定时器是一种多用途的单片中规模集成电路。该电路使用灵活、方便,只需外接少量的阻容元件就可以构成单稳、多谐和施密特触发器。常见的数字或模拟集成电路型号的阿拉伯数字仅表示其编号。而555时基集成电路的3个“5”,却有具体的含各生产厂家无一例外的在型号中加以保留。这是因为在该集成基片上的基准电压电路是有三个误差极小的5KΩ的电阻组成的,分压精度高。因而在波形的产生与变换、测量与控制、家用电器和电子玩具等许多领域中都得到了广泛的应用。

555电路大量应用于电子控制、电子检测、仪器仪表、家用电器、音响报警 、电子玩具等诸多方面。可用作振荡器、脉冲发生器、延时发生器、定时器、方波发生器、单稳态触发振荡器、双稳态多谐振荡器、自由多谐振荡器、锯齿波产生器、脉宽调制器、脉位调制器等等。

11

1传送带上物件计数器设计

2. 用555定时器构成的多谐振荡器

在检测电路中,往往外界或其本身都有很大的干扰,考虑到抗干扰性,我采用了由红外线发射电路中的NE555构成的多谐振荡器产生的振荡频率为38kHz的调制红外信号。在这里就把由555定时器构成的多谐振荡器介绍一下。 (1)电路的组成及工作原理

多谐振荡器一旦起振之后,电路没有稳态,只有两个暂稳态,它们做交替变化,输出连续的矩形脉冲信号,因此它又称作无稳态电路,常用来做脉冲信号源。

如图3.2(a)所示,将555(或1/2 556)与三个阻、容元件如图连接,便构成无稳态多谐振荡模式。与单稳模式不同之处仅在于触发端(2脚)接在充、放电回路的C上,而不是受外部触发控制。

图3.2 多谐振荡器电路图和波形图

当加上VDD电压后,由于C上端电压不能突变,故555处于置位状态,输出端(3脚)呈高电平“1”,而内部的放电管VT1截止,C通过RA RB对其充电,2脚电位随C上端电压的升高呈指数上升,如波形图3.2(b)所示。

12

传送带上物件计数器设计

当C上的电压随时间增加,达到2/3VDD阈值电平(6脚),上比较器A1翻转,使RS触发器置位,经缓冲级倒相,输出V0呈低电平“0”。此时,放电管VT1饱和导通,C上的电荷经RB置VT1管放电。当C放电使其电压降至1/3VDD触发电平(2脚)时,比较器A2翻转,RS触发器复位,经倒相后,使输出端(3脚)呈高电平“1”。以上过程重复出现,形成无稳态多谐振荡。其振荡频率为:

vC()vC(0) T 1  1 ln

vC()vC(T1)1VCCVCC31ln2VCCVCC31ln20.7(R1R2)C (3-1)

其输出波形占空比q为:

q  1 (3-2)

TT0.7(R1R2)C0.7(R12R2)CR1R2R12R2从上面的公式我们不难得出以下结论:

a. 振荡周期与电源电压VDD无关,而取决于充电和放电的总时间常数,即仅与R A、R B和C的值有关。

b. 振荡波的占空比与C的大小无关,而仅与RA、RB的大小比值有关。 3.555的选择

在发射电路中,通过发射管的电流越大,发射管发射出的红外线的强度越强,传送的距离越远,抗干扰的能力越强,这在实际的电路中是非常重要的 。所以在选择脉冲形成电路中,就需要选择一个驱动能力强的矩形波产生电路。

目前生产的定时器有双极型和CMOS两种类型,其型号分别有NE555(或5G555)和C7555等多种。通常,双极型产品型号最后的三位数码都是555,CMOS产品型号的最后四位数码都是7555,它们的结构、工作原理以及外部引脚排列基本相同。一般双极型定时器具有较大的驱动能力,而CMOS定时电路具有低功耗、输入阻抗高等优点。555定时器工作的电源电压很宽,并可承受较大的负载电流。双极型定时器电源电压范围为5~16V,最大负载电流可达200mA;CMOS定时器电源电压变化范围为3~18V,最大负载电流在4mA以下。

13

传送带上物件计数器设计

通过对两种型号的555进行比较,我了解到,在要求定时长、功耗小、负载轻的场合,宜选用CMOS型 555。而在负载重、要求驱动电流大、电压高的场合,宜选用双极型的555。关于驱动能力,双极型555可直接驱动低阻负载,如感性继电器、小电动机及扬声器等。CMOS型 555只可直接驱动高阻抗负载。若驱动大的负载,可在输出端外接小功率放大晶体管来弥补。

由于在设计电路时,我们考虑到通过发射管的电流越大,发射管发射出的红外线的强度越强,传送的距离越远,抗干扰的能力越强。所以需要选择具有大驱动电流的555,因此,我在电路中选用了NE555。

此外,由于双极型的555冲击峰值电流大,在电路中要加电源滤波电容,且容量要大,我们在画图的时候没有考虑到这一点,等做出来产品的时候才发现脉冲信号波动很大。在指导老师的建议下,我们又接了一个滤波电容在上面,出来的脉冲就非常稳定了。双极型555的输入阻抗远比CMOS型 的输入阻抗低,一般要在555的电压控制功能端加一去耦电容。如图3.1中的电容C5。 (二)PH303的介绍

PH303是红外发光二极管的一种,它在发射电路中的作用是把由NE555组成时基振荡器产生的振荡频率为38KHZ的调制信号以红外线的方式发送出去,以供红外接收电路接收信号。

红外发光二极管的原理、结构工艺与大家熟悉的发光器件LED基本一样,它们都是一种把电能直接转化为光能并具有一种P-N结的发光二极管,只是两者所用的半导体材料不同,LED发出的是可见光,红外发光二极管发出的是不可见光——红外光或红外线。

光是一种电磁波,可见光的波长范围为380~760nm(纳米),红光波长为650~760nm(超过760nm的为红外光),红外发光二极管也是一种发光二极管,仅仅是发光的波长不同,为了区别起见,加上“红外”二字。制造发光二极管的材料,主要有磷化镓(GaP)、磷砷化镓(GaAsP),而制造红外发光二极管的材料有砷化镓(GaAs)、砷铝化镓(GaAlAs)等,其中用的最多的就是GaAs。红外发光二极管与普通发光二极管一样也具有以下几个特点:

1. 体积小、寿命长、可靠性高、耐振动、耐冲击。

2. 耗电省、发热少。一般来说正向电流小于60Ma,正向电压小于1.6V,功耗是60Mw。

3.响应速度快,调制容易。

14

传送带上物件计数器设计 4.能用晶体管和集成电路直接驱动,且驱动电路简单,易于和集成电路或晶体管配用。 红外发光二极管的基本参数: (a) 伏安特性 红外发光二极管的管压降与材料及流过的电流有关,GaAs 材料的小功率管Vf=1~1.3V,中功率管Vf=1.6V,大功率管Vf=2V。 (b)工作电流If及峰值电流Ifp 一般小功率红外线发光二极管的正向工作电流IF为30~60mA。如果长期超过Vf范围工作,管子会过热而烧坏,在使用时必须加上拉电阻。峰值电流Ifp是指流过管子脉冲电流的最大峰值。 二.接收电路 在我们的系统中,红外接收电路是由华联公司生产的集红外接收、放大、鉴频于一身的一体化的接收头HRM3800和一个三极管9013、几个用于滤波限流的电容、电阻组成的电路,另外为了能清楚的知道是否有物体通过,还在电路中加了一个发光二极管。电路图如图3.3所示。 12U83C14104+5R15470R1410KLED3INT0R181KC21104Q013C151.0uF 接收头 图3.3 接收电路 当无物体通过时,红外接收头能够接收到发射电路发射的红外信号,并输出一个低电平信号,再经Q8反向后输出高电平信号送往单片机ATC51的P3.2口。当有物体通过时,红外接收头接收不到红外信号而输出高电平,经Q8反相成低电平并送往单片机的P3.2口,此时单片机扫描到低电平就加一计数,并控制显示电路显示出当前的计数个数。 红外接收电路也可以由红外接收二极管与放大电路组成,放大电路通常是由一个集成块及若干电阻电容等元件组成,并且需要封装在一个金属屏蔽盒里,否 215 3123传送带上物件计数器设计 则,电路的抗干扰能力特别差,因而这个电路比较复杂,体积也比较大。市场上这类接收单元最具有代表性的是由红外接收管PH302和用来放大、鉴频的集成电路upc1373组成的电路。它们组成的电路图如下图3.4所示。 +6V1K47uF10uF5mL3300pF18K10KPH302+Vt47uF876upc13735243120K90131K1.0uF120K4.7uF 图3.4 由Upc1373H组成的发射电路 图3.4是以Upc1373H为核心组成的红外接收电路,它包括红外光电转换电路,Upc1373H及外围电路和集电极输出级。Upc1373H的7脚外接红外光电二极管;6脚为Upc1373H内的前置放大器的反向输入端,外接R、C滤波网络;3脚外接LC谐振选频回路;4脚为峰值检波的RC滤波端,外接R、C以实现检波和滤波功能。 电路的工作过程如下:当接在Upc1373H输入端的红外光电二极管PH302 接收到红外发射器发出的38KHZ的红外光指令信号后,PH302将红外光信号转换成相应的电信号,并送入Upc1373H内的前置放大和由L、C组成的并联谐振回路选频,(L、C调谐在38KHZ)后,使输入的38KHZ指令信号获得最大增益,并滤除其他干扰波,然后经限幅和峰值检波后,由1 脚整形输出一个负跳变脉冲信号。 当没有物体通过时,红外光电二极管PH302接收到红外信号,经Upc1373H内部放大,检波和整形后,Upc1373H的输出端1脚呈低电平,因VT采用了NPN型三极管,故此时截止不导通,其集电极输出一个高电平。只有当有物体通过,红外光电二极管PH302接收不到38KHZ红外光信号时,Upc1373H的1脚呈高电平,VT饱和导通,在其集电极才输出一个经过整形的负跳变脉冲。 接收电路采用的红外接收、译码集成电路Upc1373H是日本NEC公司的产品。 1216 3传送带上物件计数器设计

Upc1373H集成电路包括前置放大器、限幅放大器、峰值检波器、整形电路、自动偏压控制电路和自动亮度电平控制电路(ABLC)等。ABLC可保证在输入信号较弱时有较高的增益,而在输入信号较强时,放大器又不会过载,以保证红外光强度变化较大时该集成电路能正常工作。

Upc1373H的内部没有自动亮度控制(ARC)电路,对于强度不一,频率相符的红外信号,均能做出准确反应,频率相符是指外加谐振回路的频率与接收的红外信号的频率一致,此时它的输出端1脚由高变低,从而对后面的执行电路进行遥控。

Upc1373H内的放大器不带有用于滤波的网络,使用时应在外电路中接入LC谐振网络,以便进行选频放大。在接入合适参量的L、C元件后,Upc1373H可成为一个高灵敏度、高增益(约60DB)的红外接收放大电路。

PH302是与PH303配套的专用红外接收二极管,它把接收到的红外信号送入集成块upc1373进行放大、鉴频后再送往单片机。

这种由PH302和Upc1373H组成的红外接收电路虽然比较方便,但电路还是有点复杂,抗干扰性也不强。比起这个电路来讲,在使用过程中用西门子公司生产的SFH506-38或厦门华联生产的HRM3800这种集接收、放大、鉴频与一身的接收头,会更好一些。这种集成块将接收管与放大电路集成在一体,体积小,密封性好,灵敏度高。它仅有三条管脚,分别是电源正极、电源负极以及信号输出端,其工作电压在5V左右,只要给它接上电源即是一个完整的红外接收放大器,使用非常方便。图3.5为SFH506-38的外观图。

图3.5 SFH506-38的外观图

SFH506-38红外遥控接收模块是将红外光电二极管,前置放大器、解调器和整形电路等集成在同一基片上的功能模块。它不像常见的红外遥控接收放大器那样

17

传送带上物件计数器设计

有将upc1373H前置放大的解调器件、红外光电二极管及其外围元件组装而成,SFH系列模块具有体积小、重量轻、抗干扰性能好、接收视角宽、无外部元件等优点,因而性价比较高,由于体积小巧、耗电省、稳定性好,他可取代常用的电视、音响及空调等电器的红外遥控接收、放大、解调电路。

由于近年来国际市场上迅速发展的一种新型半导体红外接收器件HRM3800采用的是一体化塑封集成技术,将红外光探测器前置放大器封装在一起,在其结构、性能优于传统分立元件组装的金属外壳接收放大器,具有体积小、灵敏度高、抗干扰能力强、可靠性好等显著特点,而且价格更低,于是逐渐淘汰了价格稍高的SFH506-38。

厦门华联电子有限公司生产的红外遥控接收放大器HRM3800是将光探测器与前置放大器封装在一起,以实现接收脉冲编码信号调制的红外光信号,塑料封装可滤除可见光,检波输出信号可直接由微处理器译码,主要用于电视机、录像机、卫星接收器、空调器,数据通讯领域。

HRM3800的主要特点是在光探测器接收红外遥控发射器的调制红外光信号,输入前置放大器,经过放大、检波、解调后输出,实现红外遥控接收放大信号。HRM3800的技术参数指标和外形结构也是综合比较国外同类产品性能、参数、工艺可行性及国内市场需求多等因素确定的。在抗电磁干扰方面,HRM3800带有屏蔽罩的支架及满足结构性能的封装模条,光探测器芯片全是进口专用IC芯片。芯片装架采用导电胶和非导电胶两种,其胶的性能既能保证充分导电或绝缘,又能适应温度的要求。导电胶和非导电胶均是进口产品。他还采用的是环氧树脂全包封,在里面掺杂可滤除可见光的填充料,器件的抗光干扰性能很强。

综合以上所介绍的比较之后,我们在实际电路中运用了HRM3800结合一个上拉电阻,两个滤波电容和一个三极管9012就组成了我们所需要的红外线接收电路,电路如图3.3 所示。这个电路不但简单、方便而且性能好,具有很好的灵敏度和抗干扰性。

第二节 显示电路

在系统中,显示电路的作用就是显示出检测电路所测出的物件的个数。它显示的数值范围是从0000~9999。单片机把检测电路送往中断口的脉冲个数,经过软件处理后,外加74LS245,驱动显示电路的数码管点亮,数码管进行加一计数并显示。显示电路原理图如下图3.6所示。

18

传送带上物件计数器设计 D+5 R410K×5R131K×8DS1DS212345678aabcfgbdeecddpfgdpVCC12345678DS3aabcfgbdeecddpfgdpVCC12345678DS4aabcfgbdeecddpfgdpVCCR6×8330U145678312131215141716319181920P13P14P15P16P17P12P10P11INT1INT0T1T0RDWREA/VPRESETX2X1GNDC51VCCP00P01P02P03P04P05P06P07P22P23P24P25P26P27P20P214039383736353433322324252627282122 A1 A2A3A4A5A6U2234567191A1A2A3A4A5A6A7A8GGNDA1174LS245B1B2B3B4B5B6B7B8DIRVCCU4A2181716151413121112012345678aabcfgbdeecddpfgdpVCC999+5R71KQ49012Q59012Q69012Q79012C74LS04A23U4B474LS04A35U4C674LS04A4A59U4D8R101KR91KR81K+5RXDTXDALE/PPSEN1011302974LS04 图3.6 显示电路 A6从图3.6我们可以看出,显示电路共有以下几个部分组成:单片机ATC51、总线驱动74LS245以及四位LED数码管显示。现把显示电路的各个部分分别介绍一下。 B一 、单片机ATC51 单片机就是将处理器CPU、随机存取存储器RAM、只读存储器ROM、可编程存储器EPROM、并行及串行输入输出I/O接口、定时/计数器、中断控制器等部件都集成到一块半导体芯片上的完整的微型计算机。单片机体积小、功能强、功耗低、可靠性高的特点,在过程控制、机电一体化产品、智能仪器、家用电器、计算机网络及通信等方面得到广泛的应用。 我们在设计中用的是美国Atmel公司生产的16位的单片机ATC51。与其他SizeNumberRevisionB的单片机相比,它有很多优点,它具有低电压、高性能、片内含4k bytes的可反Date:File:16-Jun-2005G:\\我的全部\\电路图\\MyDesign.ddbSheet of Drawn By:TitleA3复擦写的只读程序存储器(EPROM)和128 bytes的随机存取数据存储器(RAM) 、456兼容标准MCS一51指令系统等显著特点, ATMEL公司采用高密度、非易失性存储技术生产,片内置通用8位处理器(CPU)和Flash存储单元,我们再不用外加程序存储器,使用起来非常方便。

单片机ATC51芯片有40个引脚,HMOS工艺制造的芯片采用双列直插式封装。40个引脚中有两个专用于主电源的引脚,两个外接晶体的引脚,四个控制或与其他电源共用的引脚,以及32条输入输出I/O引脚。其引脚示意如图3.7所示。

19

9123传送带上物件计数器设计 D P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST(RXD)P3.0(TXD)P3.1(INT0)P3.2(INT1)P3.3(T0)P3.4(T1)P3.5(WR)P3.6(RD)P3.7XTAL2XTAL1GNDC123456710111213141516171819204039383736353433323130292827262524232221VCCP0.0(AD1)P0.1(AD2)P0.2(AD3)P0.3(AD4)P0.4(AD5)P0.5(AD6)P0.6(AD7)P0.7(AD8)EA/VPPALE/PROGPSENP2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8) 图3.7 ATC51的管脚图 一般单片机的输入/输出接口在运用的时候非常重要,我在设计的时候也用到了单片机的几乎所有I/O接口,现在把ATC51的I/O接口介绍一下。 我们已经知道,ATC51有4个8位并行输入/输出接口:P0口、P1口、P2口、P3口,共计32根输入/输出线。这四个接口可并行输入或输出8位数据,也可以按位使用,即每一位均能作输入或输出用。每个口虽功能有所不同,但都具有一个锁存器(即特殊功能寄存器P0~P3)、1个输出驱动器和2个(P3口为B3个)三态缓冲器。下面分别介绍一下。 P0口是一组8位通用双向I/O口,也是地址/数据总线复用口。作为地址/数据复用总线时,可以从P0口输出地址或数据,也可以从P0口输入数据。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻;作为I/O口使用时,输出级是漏极开路电路,要使“1”信号正常输出,必须外接上拉电阻。同时P0口作为I/O口使用时也是一准双向口。 A在设计中,刚开始我们用P0直接加一个74LS245来驱动共阳极数码管,结果就出现了上电后八段码全亮的情况,给一个高或低电平都没反应,怎么也不显示我们所输入的数据,后来在老师的指导下,我们在P0口加了上拉电阻以后,所用的数码管显示才正常。所以在使用P0口做I/O口使用时加上拉电阻是非常重要的。123这一点我在以后的设计中一定注意。

20

传送带上物件计数器设计

Pl是一个带内部上拉电阻的8位双向I/O口,当某某位输出高电平时,可以提供拉电流负载,不必像P0口那样需要外接电阻。另外,P1.0与P1.1除作为通用I/O接线口外,还具有第二功能,即P1.0可作为定时器/计数器2的外部计数脉冲输入端T2,P1.1可作为定时器/计数器2的外部控制输入端T2EX。

P2也是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。

P3口是一组带有内部上拉电阻的8位双向1/0口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流。

P3口除了作为一般的1/0口线外,更重要的用途是它的第二功能,如表3.1所示。

表3.1 P3口的第二功能

端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD (串行输入口) TXD (串行输出口) INTO (外中断口0) INT1 (外中断1) T0 (定时/计数器0) T1 (定时/计数器1) WR (外部数据存储器写选通) RD (外部数据存储器读选通) 在设计中,我用P0口外接总线驱动74LS245,来对LED数码管的段进行驱动;P1口主要用于对键盘进行扫描和对继电器、蜂鸣器进行控制;P2口主要用于四个LED数码管显示的位选通控制和两个信号指示灯的控制; 在计数的时候我们没有使用P3口的第二功能,把P3.2口用作I/O口用扫描的方式来实现计数的功

21

1传送带上物件计数器设计 2能。但在延时的时候,用了P3.5的定时功能。 ATC51的定时控制功能是由片内的时钟电路和定时电路来完成的,而片内的时钟产生有两种方式:一种是内部时钟方式;一种是外部时钟功能。在ATC51内部有一个用于构成内部振荡器的高增益反相放大器,引脚XTALI和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或D陶瓷谐振器一起构成自激振荡器,外接石英晶体(或陶瓷谐振器)及电容Cl、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容Cl、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果我们使用石英晶体,电容使用一般要求30pF120士10pF,而如使用陶瓷谐振器一般选择40PF士10F。 1GVCC219 ATC51也可以采用外部时钟。采用外部时钟这种情况下,外部时钟脉冲接1A12G3182Y41Y1到XTAL1端,即内部时钟发生器的输入端,XTAL217则悬空。通常外接振荡信号41A22A416为低于12MHz的方波信号。 52Y31Y26151A32A3 为了方便、简单,我选用了内部时钟方式,电容C1和C2都用了30PF的独7142Y21Y3813石电容,晶振用了12MHz的石英晶体震荡器。 1A42A29122Y11Y4二 、74LS245的介绍 1011GND2A1 用P0口直接驱动数码管点亮的时候,效果很不好,亮度不够,因此我用总线驱动74LS245来弥补这一点。总线驱动器有两种:74LS244和74LS245。这两种驱动都是三态数据缓冲器,74LS244为单向三态数据缓冲器,其逻辑电路图和引脚图如图3.8所示。 C 1234567 10 1G1A12Y41A22Y31A32Y21A42Y1GNDVCC2G1Y12A41Y22A31Y32A21Y42A120191817161514131211(a) 逻辑电路 (b)74LS244的引脚图 图3.8 74LS244的逻辑电路和引脚图 22 传送带上物件计数器设计

由图3.8可见,74LS244有8个输入端,分为两路——1A1~1A4和2A1~2A4,1有8个输出端,也分为两路——1Y1~1Y4和2Y1~2Y4。两路数据传送分别由两个控制信号1G和2G控制: 当1G有效(为低电平) 时,1Y1~1Y4的电平与1A1~1A4的电平相同,即输出反映输入的逻辑电平;同样,当2G有效时,2Y1~2Y4的电平与2A1~2A4的电平相同。而当1G(或2G) 无效(为高电平) 时输出1A1~1A4(或2A1~2A4) 为高阻态。 74LS244缓冲器主要用于存储器地址驱动器、单向总线接收器和发送器等。例如,可将其8个输入端的某几位接地,其余接+5V,即可提供特定的8位二进制代码,如为某设备接口提供8位中断类型码。 74LS245是一种三态输出的8位双向总线收发器(transceiver),其逻辑电路图和引脚图如图3.9所示。 21 2 34 5 67 8 910 1GA12Y4A22Y3A32Y2A42Y1GND VCC2G1Y1B41Y2B31Y3B21Y4B120191817161514131211123456710DIRA1A2A3A4A5A6A7A8GNDVCCGB1B2B3B4B5B6B7B820191817161514131211(a)逻辑电路 (b)74LS245的引脚图 图3.9 74LS245的逻辑电路和引脚图 由图3.9可见,74LS245有16个双向传输的数据端,即A1~A8和B1~B8;另有两个控制端,即允许端G和方向控制端DIR。G用于允许该收发器的操作,DIR用于控制数据传送的方向(A→B或B→A)。若G信号无效(为高电平),则无论DIR为何种电平,下面两个“与门” 的输出均为低电平,从而使两个方向上的三态门的输出均为高阻态,收发器处于“隔开”状态,即两个方向上的数据传送均不能进行;若G信号有效(为低电平),则可在某一个方向上进行数据传送,到底在哪个方向上进行传送,则由方向控制端DIR的逻辑电平来决定。 74LS245的真值表如表3.2所示。 23 传送带上物件计数器设计

表3.2 74LS245的真值表

允许G L L H 方向控制DIR L H X 数据传送方向 B→A A→B 隔开 74LS245通常用于数据的双向传送、缓冲与驱动。与74LS245功能类似的双向总线收发器电路还有Intel 8286/8287等。

一般情况下,在单片机的P0口需要增加驱动能力时,可采用74LS245,在连接的时候将控制端G接地,将单片机的PSEN和RD信号经与门后接到它的DIR端。当从片外程序存储器取指令或读片外数据存储器时,与门输出是0,即DIR=0,数据从右向左,即通过74LS245传向P0口再送往单片机;其余时间PSEN和RD信号均失效,DIR=1,数据从左向右,即由P0口经驱动器向外输出。在单片机的P2口需要增加驱动能力时,可采用74LS244。

我在设计的时候是P0口需要驱动数码管的段选,所以我使用74LS245,并把控制端DIR接高电平,使数据从左往右,这样在电路连线的时候,更容易,更方便。特别是在画印制电路板的时候,我们使用的是单面板,如果用74L244,将会增加很大的困难,还是74LS245一边进一边出更简单方便一些。

三、 LED数码管显示

在显示系统中,从前面的方案论证中我已论证了我所选用的显示器件是LED数码管,单片机进行扫描的方式是动态扫描显示方式。

所谓动态扫描显示,就是让各位数码管按照一定的顺序轮流地发光显示。与静态驱动显示相比,动态扫描显示具有以下优点:第一,能显著降低显示器的功耗,这对于采用电池供电的便携式数字仪表尤为重要;第二,能大大减少显示器的外部引线,给印制板的设计和安装带来方便;第三,能采用BCD码多路输出的方式,不仅使译码、驱动电路大为简化,还可以与微机相连;第四,只要位扫描信号频率足够高,由于人眼的“视觉暂留”现象,就观察不到闪烁现象。正是由于动态扫描显示具有上述优点,许多专用大规模集成电路(例如ICM7216D、MC14433)都采用了这种工作方式。目前,动态扫描显示技术已被广泛用于新型数字仪表、智能仪器和智能显示屏中。

实现动态扫描的方案很多,在数字仪器中大致可分成两种:第一种方案为间接控制法,即把位选通信号加至译码驱动器的消隐控制端,间接地控制LED显示器的亮灭。该方案是对静态显示的改进,只能降低显示功耗,不能简化电路,它仅适用于由通用

24

传送带上物件计数器设计

数字集成电路构成的仪器。第二种方案是直接驱动法,它是利用位选通信号直接驱动各位LED显示器(必要时中间可加达林顿驱动器),适用于由专用大规模集成电路或单片机构成的智能仪器。究竟选哪种方案,应视具体电路而定。

在系统中,按显示方式我选用的是动态扫描LED数码管显示,在扫描的过程中,位扫描顺序是从最最高位扫到最低位,即LED4(最高位)→LED3→LED2→LED1(最低位),然后再扫到LED4……,这样周而复始地进行下去。当然也可改成从最低位扫到最高位。为避免出现闪烁现象,扫描频率不能太低。鉴于人眼的临界闪烁频率(CFF)为50Hz,一般可将显示位数N乘以50Hz的结果作为扫描频率f的估算值,即f =50N(Hz)。

发光二极管(LED)是采用半导体材料制成的能将电信号转换成光信号的结型电致发光器件。它能在低电压、小电流条件下工作,具有显示亮度高、色彩艳丽、发光响应速度快、低功耗、耐振动、寿命长等优点。LED内部有一个具有发光特性的PN结,当PN结正向导通时,依靠少数载流子的注入及随后的复合而发光。它属于电流控制型器件,其正向压降(UF)及发光亮度均与工作电流(IF)有关。其发光颜色则取决于管心材料。近年来问世的白色LED具有亮度高(其显示亮度远远超过白炽灯,相当于卤钨灯的亮度)、响应速度快、方向性好、体积小、耐振动、寿命长、可低压驱动、光色接近白炽灯、无汞和铅的污染等优点,现已被广泛用做手机液晶显示器的背光源,它有望成为替代白炽灯和荧光灯的高效节能光源。

LED显示器是由LED发光二极管组成的数码显示器件,通常有七个长条型发光二极管组成“日”字型结构,每个长条二极管代表一段笔画,分别记为a,b,c,d,e,f,g。按LED数码管的工作方式来讲,它也分为两种:共阴极显示和共阳极显示。七个发光二极管所有阴极连接在一起,阳极各自的是共阴极显示,分离的阳极决定显示器的字型,若第三段为高电平,则该段(条状发光二极管)便有电流流过,发出光来,反之,则该段不发光;七个发光二极管所有阳极连线在一起,阴极各自分开,形成段控端a,b,c,d,e,f,g.的是共阳极数码管。共阳极显示器分离的阴极决定显示字型,得到低电平的段发光,得到高电平的段不发光。

由于共阴极的段控端是得到高电平发光,而共阳极的段控端是得到低电平发光,所以考虑到降低单片机的功耗,我们选择了共阳极显示的工作方式。

我们可以从图3.6中看到共阳极显示器的公共端阳极都是接了一个PNP三极管后才连在一起接+5V电源的。PNP三极管的作用就是进行位选通,当单片机向

25

传送带上物件计数器设计

某一位输出的是高电平的时候,经反向器反向后,PNP三极管的基极被输入低电平,PNP饱和导通,这一位的数码管就被选中,只要P0口向其输入相应的段码,该数码管就能显示出段码所对应的数字。

在对段码的译码方式上,我们用的是软件译码的方式。译码方式可分硬件译码和软件译码之分。硬件译码就是显示的段码完全由硬件完成,CPU只要送出标准的BCD码即可,硬件接线有一定标准。软件译码是用软件来完成硬件的功能,硬件简单,接线灵活,显示段码完全由软件来处理,是目前常用的显示驱动方式。

虽然还可以用硬件译码,但硬件接线要有一定的硬件支持,比如显示驱动芯片、专用模块等。在市场上比较常用的显示驱动芯片有: 74LS1 , TPIC6B595,CD4094+ULN2003(2803) , 74HC595+ULN2003(2803) , AMT9095B, AMT9595等许多。另外,市场上还有一些专用的LED扫描驱动显示模块如MAX7219等,功能很强,价格稍高一些。用这些芯片可以使让软件的编程显得十分简单,但是就大大的增加硬件成本,考虑到经济问题,我们就选用了软件译码的方式。

软件译码就需要在软件中编写数码管显示的0-9的段码值,根据这个数码值进行软件编译,才能够使数码管显示出我们想要显示的数字。下表就是我们根据自己的电路编写的显示中的段码表,见表3.3。

表3.3 显示中的段码表

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 d 0 1 2 3 4 5 6 7 8 9 0 1 0 0 1 0 0 1 0 0 e 0 1 0 1 1 1 0 1 0 1 c 0 0 1 0 0 0 0 0 0 0 dp 1 1 1 1 1 1 1 1 1 1 f 0 1 1 1 0 0 0 1 0 0 g 1 1 0 0 0 0 0 1 0 0 a 0 1 0 0 1 0 0 0 0 0 b 0 0 0 0 0 1 1 0 0 0 段码值 14H 0DEH 38H 58H 0D2H 51H 11H 0DCH 10H 50H 26

传送带上物件计数器设计

第三节 键盘电路

在系统中,我们用到了键盘,用键盘来实现对产品的控制,即控制计数的运

行、设置、复位等。键盘实际上是由排列成矩阵形式的一系列按键开关组成,它是单片机系统中最常用的人机联系的一种输入设备。用户可以向CPU输入数据、地址和命令。

键盘按其结构形式可分为编码式键盘和非编码式键盘两大类。

编码式键盘是有其内部硬件逻辑电路自动产生被按键的编码。这种键盘使用方便,但价格昂贵。只有在高精密的仪器中才可能使用。

非编码式键盘主要有软件产生被按键的编码。它结构简单、价格便宜,但使用起来不如编码式键盘方便,键盘管理程序的编制也比较复杂。但对我们所做的设计来说是很经济实惠的,价格便宜,软件也不是很复杂。

在非编码式键盘中,键盘电路有两种实现的方式,一是直接使用外部扩展电路,另一种是使用单片机口直接的实现键盘扫描。如果单片机本身的口线已被占用的话,且所用的键盘比较多,则我们可以选择通过外扩I/O接口芯片来构成键盘接口电路,较常用的是8155、8255等接口芯片。但如果按键不太多,单片机的I/O接口够用的话,我们通常用的还是直接于单片机的接口实现扫描。直接与单片机接口的结构也有两种:行列式结构和式结构。如图3.10所示。

(a) 行列式结构的键盘 (b) 式结构的键盘

图3.10 键盘结构

行列式键盘相对于式键盘来说可以设计较多的按键,软件也相对复杂一些。因本次我们只需要较少的按键,只用了五个,所以我们选用了式键盘,即用单片机的P1口对其直接进行控制。如图3.11所示。

27

1传送带上物件计数器设计 +5 R41K S1S2S3S4S5R1210K×5+5U1C51VCCP00P01P02P03P04P05P06P07403938373635343332234567191A1A2A3A4A5A6A7A8GGNDA112R61K 6U3C5图3.11 U3B74LS0443式按键的每个键独占一根P13P14P15P16P17P12P10键盘接线图 P1145678312U271223A1INT0P2274LS041524A2会影响其他I/O口线的工作状态。通常按键输入都采用低电平有效,上拉电阻保T1P231425A3T0P241726A4证了按键断开时,I/O口线有确定的高电平。由于式键盘的每个按键必须占用RDP25+51627A5WRP2628A6一个I/O口线,在按键较多的情况下,I/O口的浪费极大。由于本设计按键不多,P273121EA/VPP2022故可以采用这种式的按键电路。在平时,所有的数据输入线都被连接成高电P219RESETC3R19平,当任何一个键压下时,与之相连的数据输入线将被拉成低电平。要判断是否C110uF10K181030pX2RXD有键按下,只要用位处理指令即可。 1911X1TXD3012MHZALE/P五个按键用的是B键,它们的作用分别是:C220S5是设置键:S4是数值增一键:29GNDPSEN30pINT013I/O口线,每根I/O口线上的按键工作状态不INT1A2A35S3是数值减一键:S2是运行键;S1是清零键。控制面板如下图3.12所示。 图3.12 控制面板 设置 增一 减一 运行 清零 警告 运行 A4A511A6单片机上电以后,四位数码管全亮,显示八段码,以此来证明数码管完好无+5缺,五秒后,其自动变为四个零,此时可以开始设置和计数。当我们按一下S5设置键时,两个指示灯开始闪亮,同时第一位数码管闪亮,我们可以根据要设置的4位数码管开始闪亮,可以对百位进行设置,同理,包装个数从0000~9999都是这R8 47K7RESETDISCHG U7THOLD555OUTVCC28 +58包装个数的千位来按S4增一键或S3减一键;当我们再按一下S5设置键时,第二TFR2010K623R92U8传送带上物件计数器设计

样设置的。如果在设置的过程中,出现设置错误,我们可以按S1清零键对四位全部清零,然后再重新设置;设置完毕后,我们可以再按一下S5设置键,此时四位数码管开始全部闪亮并清零,我们可以用S4加一键来设置快计数到包装个数时需要提示的个数;等都设置完毕,传送带可以开始运行,按下S2运行键后,计数启动,四位数码管自动清零,只要传送带上有物体通过,数码管就加一计数。后来为了减小误操作的几率,我们又加了几个功能。第一:刚开始时,有时候我们不小心按到设置键时,它就会全部清零,再重新设置包装个数,现在通过改了软件,我们必须在按两下运行/暂停键的时候,数码管出现四个PPPP后,长按设置键才可以重新设置。第二:在刚开始的时候,我们在设置过程中,出现错误,就全部清零,重新设置,现在如果仅上一位错误,可以按一下运行/暂停键向上返回一位,进行重新设置。这样修改之后,我们发现确实好用多了。

第四节 蜂鸣器

蜂鸣器在系统中的作用是当传送带计数到需要包装的个数时,蜂鸣器开始鸣叫2.5秒,以提示工作人员注意一箱已装满,另一只空箱是否到位。另外,当我们在用键盘设置包装个数时,每按下一次键,蜂鸣器就响一下,或着当设置出错,12即包装个数小于警告个数时,蜂鸣器鸣叫以提示工作人员注意,设置出错,系统不能运行。其电路图如图3.13所示。

R11KU3A274LS04Q19013D+121

P1.2图3.13 蜂鸣器接线图 工作原理:当单片机计数到包装个数时,它从P1.2口输出一个高电平,经过反向驱动器74LS04后变为低电平,再送给三极管NPN的基极,因三极管9013的发射极接的是+12V的电压,所以三极管饱和导通,蜂鸣器开始鸣叫。 第五节 传送带控制电路 传送带的启动和停止需要电机的驱动,电机的起停又需要单片机控制继电器的开合,因此在系统中,我们设计了由单片机的P1.0和P1.1控制的两个继电器,由这两个继电器来控制物件传送带和包装传送带的启动和停止。继电器设计图如

29 C传送带上物件计数器设计 下图3.14所示。 C +12D2Q29013R21K4U3B3P1.074LS04物件传送带继电器D1R31KQ390136U3C5P1.174LS04 继电器包装箱传送带图3.14 继电器接线图 B从图3.14中我们可以知道,当按下运行键时,痛过软件编程实现单片机的P1.0+5口向外输出一个高电平,P1.1口输出低电平,高电平经反向驱动器74LS04反向后,向三极管Q2的基极输入一个低电平,此时三极管饱和导通,继电器D2工作,它将使物件传送带的电机开关吸合,物件传送带开始运行,同理,此时包装传送带U8停止,同时单片机开始计数,当计数到设置的包装个数时,通过软件实现。单片3机的P1.0输出一个低电平,P1.1口输出一个高电平。此时,三极管Q2截止,继2C14104电器D2停止工作,物件传送带停止;三极管Q3饱和导通,继电器D1开始工作,万能接收头 包装传送带运行。延时五秒后,装满的包装箱已过去,另一只空箱到位,单片机的P1.0再输出高电平,P1.1输出低电平,这样周而复始的工作。 1C21104第六节 电源 A在系统中多次用到+5V、+12V的电源,比如单片机、数码管显示等用的是+5V电源;两个继电器、蜂鸣器用的是+12V电源。因此,电源的设计在系统中也是至关重要的,电路图如图3.15所示。 一、工作原理 (一)+5V电源的工作原理 12220V市电经过变压器变压,变成9V的交流电压,再经过整流桥整流之后,变成大约+12V的直流电压。为了消除电压的纹波,又加了1000uF的极性电容来滤出低频纹波和0.1uF的独石电容来滤出高频纹波。然后,消除滤波后的电压经过三端稳压器7805,输出稳定的+5V电压,为了进一步消除纹波,在输出端又加了470uF的极性电容和0.1uF的独石电容。最后才输出稳定的,效果很好的+5V

30

74LS04A613U4F121KR181KLED1+5LED274LS04传送带上物件计数器设计 电压。 图3.15 电源的设计 (二)+12V电源的工作原理 TF4007*4C6 1000uFC71041C124007*4 1000uF1VU10IN78L053+5VOUTGNDC13104C10470uFC111042U9VIN78L12VOUTGND3+12C8470uFC91042TitleSize+12V电源的工作原理和+5V电源的工作原理基本相同,不同的是220V市电经过变压器变压,变成18V的交流电压,再经过整流桥整流之后,变成约+25V的B直流电压。经过滤波后用的是三端稳压器7812进行稳压。Fi le:Date:45Number4-Jun-2005 J:\\张杰的毕业设计\\我的毕业设计全部\\电路图二、三端稳压器7805、7812 线性集成稳压器分固定式输出、可调式输出两种类型,又以三端固定式及三端可调式集成稳压器的应用范围为最广。我们所使用的三端稳压器7805、7812属于三端固定式7800系列中的两种。

7800系列为正压输出,即输出端对公共端的电压为正,这是目前最流行的一种稳压器。它主要包括启动电路,基准电压源,误差放大器,调整管,取样电路和保护电路。启动电路仅在刚通电时起作用,帮助恒流源建立工作点,一旦稳压器工作正常后即失效。7800系列采用带隙基准电压源。它首先通过电阻RA、RB获得取样电压,再经过误差放大器进行电压比较和放大,然后去调节调整管的压降,最终达到稳压目的。保护电路包括过电流保护,短路保护,调整管安全工作区保护,芯片过热保护。

7800系列集成稳压器的最高输入电压为35V。最小输入-输出电压差为2V,为工作可靠起见,一般应选4V~6V。输出电压值允许有±5%的偏差,电压调整率SV=0.1%,负载调整率SI=0.8%。对7800系列三端固定式集成稳压器而言,其电位分布如下:

UI>UO>UGND (0V)

31

传送带上物件计数器设计

其电流途径为:UI→内部调整管→UO→外部负载RL→GND。其输出电流IO是从UO端输出的。

由于三端稳压器7805、7812和7800系列的稳压器都需要4V以上的压差。7805输入端的的交流电压是9V,9V的交流电压经过整流桥输出的直流电压大约为:9×1.4=12.6V,能满足7805的压差要求,7812输入端的的交流电压是18V,输出的直流电压是18×1.4=25.2,也满足要求,所以我们的产品中变压器选的是双9V、8W的变压器。

32

传送带上物件计数器设计

第四章 软件设计

软件设计就是编写能使单片机运行并控制外围电路的程序,然后把程序烧入单片机,对单片机进行控制,以完成硬件的功能。我们为了节省硬件器件,所设计的电路的功能大部分靠软件来实现,所以我们所需的软件编程就相对复杂一些。

在系统中,根据系统的功能要求,我们设计的主要软件有主程序、键盘子程序、

显示子程序、计数子程序等等。主程序流程图如图 4.1 所示。

图4.1 主程序流程图

系统上电后,主程序首先对AT80C51各I/O口进行初始化,然后等待键盘的输入,执行计数子程序、显示子程序和相应的功能键处理子程序。

由于物件计数器的主要功能是对传送带上的物件进行计数,因此,计数子程序也就相当重要了。在编写计数程序的过程中,我们遇到了很多问题。比如,刚开始我们用的是单片机的中断口用中断的方式进行计数,但实际操作的时候,我们发现它受干扰的很厉害,物件通过时,稍微一晃就会出现误计数,后来,我们改变计数方式,不用中断方式而用扫描的方式进行计数,在这个过程中,我们使用了两次判断的方法,这样再计数时抗干扰性能就非常好了,不再出现误计数。另外,还遇到了延时不够等问题,这些都在不断改动中逐步完善了。计数子程序

调键盘功能子程序 返回 N N 初始化 键盘扫描 有键按下吗? Y 调显示 调延时 确实有键按下吗? Y 键盘判断 33

传送带上物件计数器设计

框图如图4.2 所示。

计数子程序 Y 键盘有设置吗? N Y 包装个数为零吗? 计数加一 N N 包装快满了吗? Y 报警计数 N 到包装个数了吗? Y 关物件传送带停包装传送带 开始报警 延时5S 开物件传送带 停包装传送带停止报警 返回 图4.2 计数子程序流程图

在整个系统中,我们还利用软件完成了各个按键要实现的功能、控制了继电器的断开和闭合以及显示电路显示结果,最后把所有的子程序揉合到一块就控制了整个系统的运行。

总之,没有软件的设计就不会有硬件系统的运行。只有编好了软件,并把程序烧入单片机,单片机才能工作,才能控制整个系统工作。可见软件编程在整个

34

传送带上物件计数器设计

系统中的作用是极其重要的。

系统的完整程序见附录。

35

传送带上物件计数器设计

结束语

本文介绍的传送带上物件计数和包装自动控制系统,实现了机电一体化,结构简单,计量精确准确,自动化程度高,操作简便,大大降低了工人的劳动强度。在设计的过程中,不可避免的产生了很多问题,比如说,我们在设计硬件电路实物时,遇到一个发生在发射电路中的问题,那就是我们发现发射电路有两种:一种是发射电路不加调制的,另一种是加调制的,我们不知选什么好,最后查了许多资料才知道,前一种电路在抗干扰方面效果不好,第二种就有很好的抗干扰的能力,所以我们选择了第二种。但是在运用的时候,以为只要是555系列的可调振荡发生器就行,所以刚开始我们用的是7555,在使用的过程中,发现不但电路的驱动功能力不够,而且在输出电压方面,只有4V左右,输出的波形在上升和下降沿也存在大的尖峰脉冲,按书上设计的电路改用了NE555以后,这种现象就没有了,看来,在选择芯片方面,我们一定要注意,硬件电路调试成功与否与所选择的芯片合适与否和芯片质量都有很大的关系。

虽然,在硬件电路设计中我们遇到了很多问题,但通过我们的努力,最终都一一解决了。最困难的我想应该是PCB板的制作和软件编程。PCB板的制作是以前我们所没有接触过的,这次为了能制作出实物图,我们就自学了PCB的制作,中间有很多不懂的问题,都通过询问老师和反复实践解决了,最后我们终于制作出了很好的板子。如果说硬件电路是躯体的话,那么软件就是血液,软件编程的正确与否,直接导致了硬件电路功能的实现。程序调试过程中,出现了设置过程中数码管不能闪动、用中断式计数方式时,出现误计数的现象。这些都通过增大延时和利用扫描式计数解决了。

我们所做的有关传送带计数包装的设计虽然满足了基本的要求,但还存在着一些不足,比如用定时的方式来控制包装箱传送带的运行,但我们不经过计时再设计,无法保证包装箱是否到位,而且如果包装箱之间的间隔不规则,也将会无法控制,我想,只有加了另一个光电检测装置来检测包装箱是否到位应该比较好。另外,我们也没有考虑掉点保护和单片机抗干扰问题。由于时间有限,我们就没有再加入这些,在以后的设计中,我会充分注意到这些问题的。

总之,设计的好与坏,只有靠大家评判了,请大家多多指教。

36

传送带上物件计数器设计

致 谢

在毕业设计过程中,我得到了指导老师孙老师的精心指导,其中遇到很多问题,也都是在指导老师的引导、指点下一一解决,使我学到了很多东西,在此向孙老师表示忠心的感谢。另外,学院给我们无偿提供了机房供我们做毕业设计,给我们带来很大的方便,在此向学院表示忠心的感谢。 同时,向其他帮助我、支持我的老师和同学也表示衷心的感谢。

37

传送带上物件计数器设计

参考文献

[1] Staff Reporter. Anthropological Information[J]. Photonics Spectra,1998,9:91~98. [2] V.Sankaran. Photonics-based Technologies Improve Semiconductor Yield[J].

photonics spectra, 1998,11:100~106.

[3] 丁英丽. 智能光电计数系统的设计. [A] 计量与测试技术. 2004,2:31~32 [4] 王桥医. 单片机控制应用于自动装箱系统.[B] 包装工程. 1998,19(4):45~46 [5] 陈永甫. 红外线探测与控制电路. 北京:人民邮电出版社. 2004,36~38,48,68 [6] 高稚允,高岳. 光电检测技术. 北京:国防工业出版社. 1995,1~10

[7] 刘辉. 流水线产品计数及包装微机自动控制系统.[A] 计量与测试技术. 2001,2,36~37 [8] 陈永甫. 红外辐射.红外器与典型应用. 北京:电子工业出版社. 2004,394~395

[9] 张树君,高尚宇,申兆亮等. 啤酒包装线上的智能计数器的设计.[B] 包装与食品机械. 2001,19(4):20~21

[10] 吴龙奇. 包装机械中光电开关的选择与调整.[B] 包装工业. 2003,113:34~35

[11] 陈勤奎,严锡君. 分布式袋装化肥发货系统的设计与研究.[A] 工业控制计算机. 2002,15(12):37,50

[12] 蒋秀欣. 彩色电视机遥控原理与检修. 北京:北京科学技术出版社. 1995,67~68 ,47 [13] 沙占友. 新编数字化测量技术. 北京:国防工业出版社. 1999,75~77,114~120 [14] 胡助理,安文源,李玲等. 基于单片机技术的光电检测研究.[A] 现代电子技术. 2004,13,39~41

[15] 乐光学. 流水线计数、数据传输、显示系统的设计.[A] 怀化师专学报. 2000,19(2):32~36

[16] 封小枉,李志坚. 工控机可靠性设计的系统恢复技术.[A]工业控制计算机. 1998,3:41~43 [17] 耿世钧,赵海文,刘伟玲等. 高精度药丸计数系统的机电一体化设计.[A] 中国机械工程. 2000,11(6):663~6

[18] 刘乘,李晓刚 . PLC在包装机械上的应用.[B] 包装工程. 2004,25(2):51~53

[19] 罗三定,沈德耀,贾维嘉等. 棒材生产在线视觉计数系统研究[A] 小型微型计算机系统. 2004,25(4):671~675

[20] 何立民.单片机中级教程.北京:北京航空航天大学出版社.2000.6 [21] ……ATC51单片机应用手册.深圳:中原单片机有限公司.2003

[22] 张毅坤等.单片微型计算机原理与应用.西安:西安电子科技大学出版社.1998.8

38

传送带上物件计数器设计

[23] 赵秀珍,王乃钊. 单片微型计算机原理及其应用. 北京:中国水利水电出版社. 2001.1~40

39

传送带上物件计数器设计

附录1

程序清单

;在程序中,30~33H为LED数据缓冲寄存器

;其中33H为个位32H为十位31H为百位30H为千位 ;40为设置键转移设置 ;50H~53为计数设置寄存器 ORG 0000H LJMP MAIN ORG 000BH LJMP INTT0 ORG 001BH LJMP INTT1 ORG 0100H MAIN: MOV SP ,#65H MOV P1, #0FFH MOV P2 , #00H MOV P0 , #00H MOV P3 , #0FFH MOV 21H ,#00H

MOV 30H , #08H MOV 31H , #08H MOV 32H , #08H MOV 33H , #08H

MOV 34H , #0FFH MOV 35H ,#00H MOV 36H ,#00H MOV 3AH ,#00H MOV 3BH ,#00H MOV 3CH ,#00H MOV 3DH ,#00H

; 检查八段码显示全亮 ;警告个数缓冲器 ;为1时红灯亮 ;为1时绿灯亮 40

传送带上物件计数器设计

MOV 3EH , #00H MOV 3FH,#00H

MOV 40H , #0FFH ;设置键判断设置条件设置 MOV 41H , #00H ;红灯闪烁条件 MOV 42H , #00H ;绿灯闪烁条件

MOV 44H , #00H ;暂停运行标志,00为运行 MOV 45H , #00H MOV 46H , #00H

MOV 50H , #00H MOV 51H , #00H MOV 52H , #00H MOV 53H , #00H MOV 54H , #00H MOV 55H,#00H MOV 56H,#00H MOV 57H,#00H MOV 5EH , #00H MOV R0 , #00H MOV R1 , #00H MOV R2 , #00H MOV R3 , #00H MOV 35H , #01H MOV 36H , #01H MOV 41H , #01H MOV 42H , #01H LCALL DELAY5 LCALL DELAY5

MOV 35H , #00H MOV 36H , #00H MOV 41H , #00H MOV 42H , #00H

;数码管显示 闪烁条件 ;计数器清零

; 红灯闪烁 ; 绿灯闪烁 ; 开红灯 ; 开绿灯 ; 红灯不闪 ; 绿灯不闪 ; 关红灯 ; 关绿灯

41

传送带上物件计数器设计

MOV 30H , #00H MOV 31H , #00H MOV 32H , #00H MOV 33H , #00H MOV 20H , #00H SETB 20H.1

;键盘扫描程序******************************************************* KEY: LCALL HONGDENG LCALL LVDENG LCALL DISP JNB P1.7 , KEY0 JNB P1.6 , KEY0 JNB P1.5 , KEY0 JNB P1.4 , KEY0 JNB P1.3 , KEY0 JNB P3.2 , KEY0 LJMP KEY

KEY0: LCALL HONGDENG LCALL LVDENG LCALL DISP LCALL DELAY1 JNB P1.7 , KEY1 JNB P1.6 , KEY2 JNB P1.5 , KEY3 JNB P1.4 , KEY4 JNB P1.3 , KEY5 JNB P3.2 , KEY6 LJMP KEY KEY1: LCALL SHENG LCALL DELAY8 JNB 20H.1 , FFFAN1

42

传送带上物件计数器设计

INC 40H

KEY11: LCALL HONGDENG LCALL LVDENG LCALL DISP JNB P1.7 , KEY11 LCALL PP1 FFFAN1: LJMP KEY KEY2: LCALL SHENG KEY22: LCALL HONGDENG LCALL LVDENG LCALL DISP JNB P1.6 , KEY22 LCALL PP2 LJMP KEY KEY3: LCALL SHENG KEY33: LCALL HONGDENG LCALL LVDENG LCALL DISP JNB P1.5 , KEY33 LCALL PP3 LJMP KEY KEY4: LCALL SHENG KEY44: LCALL HONGDENG LCALL LVDENG LCALL DISP JNB P1.4 , KEY44 LCALL PP4 LJMP KEY KEY5: LCALL SHENG KEY55: LCALL HONGDENG LCALL LVDENG

43

传送带上物件计数器设计

LCALL DISP JNB P1.3 , KEY55 LCALL PP5 LJMP KEY KEY6: LCALL DISP LCALL HONGDENG LCALL LVDENG JNB P3.2 ,KEY6 MOV A,44H

CJNE A , #01H ,FFHUI LCALL INT10 FFHUI: LJMP KEY

;显示子程序********************************************************* DISP: MOV A,40H

CJNE A ,#04H ,JX1 ;判断千位是否有设置 INC 45H MOV A ,45H

CJNE A ,#0A5H ,DISP1 MOV 45H ,#0A4H INC 46H MOV A , 46H

CJNE A , #84H, BULIANG0 ;如果不够不亮 MOV 45H ,#00H MOV 46H ,#00H AJMP DISP1 BULIANG0:LCALL DELAY0 RET JX1: MOV A,40H

CJNE A ,#00H ,DISP1 ;判断千位是否有设置 INC 45H MOV A ,45H

44

传送带上物件计数器设计

CJNE A ,#0A5H ,DISP1 MOV 45H ,#0A4H INC 46H MOV A , 46H

CJNE A , #84H, BULIANG1 ;如果不够不亮 MOV 45H ,#00H MOV 46H ,#00H AJMP DISP1 BULIANG1:LCALL DELAY1 LJMP DISP2

DISP1: MOV DPTR , #TAB MOV A , 30H MOVC A , @A+DPTR MOV P0 , A SETB P2.7 LCALL DELAY1 CLR P2.7 MOV A,40H

CJNE A ,#01H ,DISP2 INC 45H MOV A ,45H

CJNE A ,#0A5H ,DISP2 MOV 45H ,#0A4H INC 46H MOV A , 46H

CJNE A , #84H , BULIANG2 MOV 45H ,#00H MOV 46H ,#00H AJMP DISP3 BULIANG2:LCALL DELAY1 LJMP DISP3

置段码表首地址? ;判断百位是否有设置 ;如果不够不亮 45

; 传送带上物件计数器设计

DISP2: MOV DPTR , #TAB MOV A , 31H MOVC A , @A+DPTR MOV P0 , A SETB P2.6 LCALL DELAY1 CLR P2.6 MOV A,40H

CJNE A ,#02H ,DISP3 INC 45H MOV A ,45H

CJNE A ,#0A5H ,DISP3 MOV 45H ,#0A4H INC 46H MOV A , 46H

CJNE A , #84H , BULIANG3 MOV 45H ,#00H MOV 46H ,#00H AJMP DISP3 BULIANG3:LCALL DELAY1 LJMP DISP4

DISP3: MOV DPTR , #TAB MOV A , 32H MOVC A , @A+DPTR MOV P0 , A SETB P2.5 LCALL DELAY1 CLR P2.5 MOV A,40H

CJNE A ,#03H ,DISP4 INC 45H

;判断千位是否有设置 ;如果不够不亮 ;判断千位是否有设置46

传送带上物件计数器设计

MOV A ,45H

CJNE A ,#0A5H ,DISP4 MOV 45H ,#0A4H INC 46H MOV A , 46H

CJNE A , #84H, BULIANG ;如果不够不亮 MOV 45H ,#00H MOV 46H ,#00H AJMP DISP4 BULIANG: LCALL DELAY1 RET

DISP4: MOV DPTR , #TAB MOV A , 33H MOVC A , @A+DPTR MOV P0 , A SETB P2.4 LCALL DELAY1 CLR P2.4 RET

;2.5ms延时************************************************************* DELAY0: MOV R6 ,#32H LOOP0: MOV R7,#32H LOOP1: DJNZ R7,LOOP1 DJNZ R6,LOOP0 RET

;10ms延时子程序***************************************************** DELAY3: MOV TMOD , #10H MOV TH1 , #0D8H MOV TL1 , #0F0H SETB EA SETB PT1

47

传送带上物件计数器设计

SETB ET1 SETB TR1 LCALL DISP LCALL HONGDENG LCALL LVDENG LOOP10: MOV A , 5EH

CJNE A ,#01H , LOOP10 MOV 5EH , #00H RET

;1S延时***************************************************** DELAY4: LCALL DELAY3 INC R2 MOV A ,R2

CJNE A ,#H ,DYAN MOV R2 , #00H RET DYAN: LJMP DELAY4

;2.5S延时**************************************************** DELAY5: LCALL DELAY3 INC R0 MOV A , R0

CJNE A ,#0FAH ,DYAN1 MOV R0 , #00H RET DYAN1: LJMP DELAY5

;0.5ms延时子程序**************************************************** DELAY1: MOV R4 , #0AH LOOP2: MOV R5 , #32H LOOP3: DJNZ R5 , LOOP3 DJNZ R4 , LOOP2 RET

48

传送带上物件计数器设计

DELAY8: LCALL DELAY3 INC 38H MOV A, 38H

CJNE A,#0C8H , DYAN8 MOV 38H,#00H MOV A ,44H CJNE A ,#01H ,TTT RET

TTT: SETB 20H.1 RET

DYAN8: JNB P1.7 ,DELAY8 MOV 38H,#00H RET

DELAY9: LCALL DELAY3 INC 3FH MOV A ,3FH

CJNE A, #0AH,DYAN9 MOV 3FH , #00H RET DYAN9: LJMP DELAY9

;设置键设置子程序*************************************************** PP1 : LCALL DISP ;设置键的设置根据40H值判断对数码管的设置 LCALL HONGDENG LCALL LVDENG MOV A, 44H

CJNE A , #01H , SHEZHI RET SHEZHI: MOV A , 40H CJNE A,#00H,TT19

MOV 50H , #00H ;计数器清零 MOV 51H , #00H

49

传送带上物件计数器设计

MOV 52H , #00H MOV 53H , #00H MOV 54H , #00H MOV 30H , #00H MOV 31H , #00H MOV 32H , #00H MOV 33H , #00H MOV 3AH ,#00H MOV 3BH ,#00H MOV 3CH ,#00H MOV 3DH ,#00H MOV 44H, #00H

TT19: MOV 35H ,#01H ;红灯闪烁 MOV 36H ,#01H ;绿灯闪烁 MOV 41H ,#01H ;开红灯 MOV 42H ,#01H ;开绿灯 MOV A , 40H

CJNE A , #04H , TT20 ;警告计数设置时所有数码管清零 MOV 30H , #00H MOV 31H , #00H MOV 32H , #00H MOV 33H , #00H MOV 33H, 54H RET

TT20: CJNE A , #05H , TT0 MOV 30H , 50H MOV 31H , 51H MOV 32H , 52H MOV 33H , 53H MOV 40H , #0FFH

MOV 35H ,#00H ;红灯不闪

50

传送带上物件计数器设计

MOV 36H ,#00H ;绿灯不闪 MOV 41H ,#00H ; 关红灯 MOV 42H ,#00H ; 关绿灯 TT0: RET

; 增1键设置子程序************************************************** PP2: LCALL DISP LCALL HONGDENG LCALL LVDENG MOV A , 40H CJNE A , #0FFH , TT1 RET TT1: RL A

MOV DPTR , #TABH JMP @A+DPTR

TABH: AJMP PRG00 ; 00H对个位设置 AJMP PRG01 ; 01H对十位设置 AJMP PRG02 ; 02H对百位设置 AJMP PRG03 ; 03H对千位设置 AJMP PRG04 ; 04H 对警告数设置 RET PRG00: INC 50H MOV A , 50H CJNE A , #0AH , TT2 MOV 50H , #00H TT2 : MOV 30H ,50H LCALL DISP LCALL HONGDENG LCALL LVDENG RET PRG01 : INC 51H MOV A , 51H

51

传送带上物件计数器设计

CJNE A , #0AH , TT3 MOV 51H , #00H TT3 : MOV 31H ,51H LCALL DISP LCALL HONGDENG LCALL LVDENG RET PRG02 : INC 52H MOV A , 52H CJNE A , #0AH , TT4 MOV 52H , #00H TT4 : MOV 32H , 52H LCALL DISP LCALL HONGDENG LCALL LVDENG RET PRG03 : INC 53H MOV A , 53H CJNE A , #0AH , TT5 MOV 53H , #00H TT5 : MOV 33H , 53H LCALL DISP LCALL HONGDENG LCALL LVDENG RET PRG04 : INC 54H MOV A , 54H

CJNE A , #0AH , TT12 MOV 54H , #00H TT12 : MOV 33H , 54H LCALL DISP

52

传送带上物件计数器设计

LCALL HONGDENG LCALL LVDENG RET

;减1键设置子程序************************************************** PP3: LCALL DISP LCALL HONGDENG LCALL LVDENG MOV A , 40H

CJNE A , #0FFH , TT6 RET TT6: RL A

MOV DPTR , #TABL JMP @A+DPTR TABL: AJMP PRG05 AJMP PRG06 AJMP PRG07 AJMP PRG08 AJMP PRG09 PRG05: DEC 50H MOV A , 50H CJNE A , #0FFH , TT7 MOV 50H , #09H TT7 : MOV 30H , 50H LCALL DISP LCALL HONGDENG LCALL LVDENG RET PRG06 : DEC 51H MOV A , 51H CJNE A , #0FFH , TT8 MOV 51H , #09H

53

传送带上物件计数器设计

TT8 : MOV 31H , 51H LCALL DISP LCALL HONGDENG LCALL LVDENG RET PRG07 : DEC 52H MOV A , 52H CJNE A , #0FFH , TT9 MOV 52H , #09H TT9 : MOV 32H , 52H LCALL DISP LCALL HONGDENG LCALL LVDENG RET PRG08 : DEC 53H MOV A , 53H

CJNE A , #0FFH , TT10 MOV 53H , #09H TT10 : MOV 33H , 53H LCALL DISP LCALL HONGDENG LCALL LVDENG RET PRG09: DEC 54H MOV A , 54H

CJNE A , #0FFH , TT13 MOV 54H , #09H TT13 : MOV 33H , 54H LCALL DISP LCALL HONGDENG LCALL LVDENG

54

传送带上物件计数器设计

RET

;运行/暂停键子程序************************************************* PP4: MOV A , 40H

CJNE A ,#0FFH , BB ;只有没有设置键时按下有效 MOV A ,53H ; 50~53H为零运行键不起作用 JNZ TT15 MOV A , 52H JNZ TT15 MOV A , 51H JNZ TT15 MOV A , 50H JNZ TT15 BB: DEC 40H MOV A,40H CJNE A,#03H,TTT09 MOV 30H,50H MOV 31H,51H MOV 32H,52H MOV 33H,53H RET

TTT09: CJNE A,#0FFH,TTT10 MOV 40H,#00H TTT10: RET TT15 : CLR 20H.1 MOV A ,44H

CJNE A , #00H , TT77 SETB C MOV A , 53H SUBB A , 54H

JC TT17 MOV 53H , A

; 44H为00H时运行,01H时暂停 ; 53H<54H有借位 55

传送带上物件计数器设计

LJMP YUNXING TT77: AJMP TT16 TT17: SUBB A , #0F5H MOV 53H , A SETB C MOV A , 52H SUBB A , #00H

JC TT18 MOV 52H , A LJMP YUNXING TT18: MOV 52H , #09H MOV A ,51H SUBB A , #00H JC TT22 MOV 51H , A LJMP YUNXING TT22: MOV 51H , #09H MOV A , 50H SUBB A ,#00H MOV 50H , A JC TT66

YUNXING: MOV 36H ,#01H MOV 41H ,#00H MOV 35H ,#00H MOV 42H ,#00H MOV 30H ,3AH MOV 31H ,3BH MOV 32H ,3CH MOV 33H ,3DH

CLR P1.0 SETB P1.1

; 52H中的内容为00H ; 开绿灯 ; 关红灯闪 ; 关红灯 ; 绿灯不闪 ;物件传送带运行 ;包装传送带停止

56

传送带上物件计数器设计

MOV 44H ,#01H MOV 62H,#00H RET

TT66: MOV 30H , #0AH ;错误报警 MOV 31H , #0AH MOV 32H , #0AH MOV 33H , #0AH

MOV 50H , #00H ;计数器清零 MOV 51H , #00H MOV 52H , #00H MOV 53H , #00H MOV 54H ,#00H CLR P1.2 LCALL DELAY5 SETB P1.2

MOV 35H ,#01H ;红灯闪烁 MOV 36H ,#01H ;绿灯闪烁 MOV 41H ,#01H ;开红灯 MOV 42H ,#01H ;开绿灯 MOV 30H ,#00H MOV 31H ,#00H MOV 32H ,#00H MOV 33H ,#00H MOV 40H ,#00H SETB 20H.1 RET TT16: MOV A , 44H

CJNE A , #01H , YUNXING12 JB 20H.6 ,TTT00 INC 57H MOV A ,57H

57

传送带上物件计数器设计

CJNE A,#02H,TTT18 AJMP TTT19 TTT00: CLR 20H.6 MOV 57H ,#00H RET

TTT18: MOV TMOD , #01H MOV TH0 , #38H MOV TL0 , #88H MOV 55H ,#00H MOV 56H ,#00H SETB EA CLR PT0 SETB ET0 SETB TR0 RET TTT19: CLR TR0 MOV 55H , #00H MOV 56H , #00H MOV 57H , #00H MOV 30H , #0AH MOV 31H , #0AH MOV 32H , #0AH MOV 33H , #0AH

MOV 35H , #01H ;红灯闪烁 MOV 36H , #01H ;绿灯闪烁 MOV 41H , #01H ;开红灯 MOV 42H , #01H ;开绿灯 SETB P1.0 SETB P1.1 SETB P2.3 MOV 44H , #02H

58

传送带上物件计数器设计

RET

YUNXING12:MOV A , 44H CJNE A , #02H , TT16 MOV 30H ,3AH MOV 31H ,3BH MOV 32H ,3CH MOV 33H ,3DH

MOV 36H , #01H ;开绿灯 MOV 41H ,#00H ;关红灯闪 MOV 35H ,#00H ;关红灯 MOV 42H ,#00H ;绿灯不闪 CLR P1.0 ;物件传送带运行 SETB P1.1 ;包装传送带停止 MOV 44H ,#01H

MOV 55H ,#00H ; T0寄存器清零 MOV 56H ,#00H MOV 57H ,#00H RET PP5: MOV A , 40H

CJNE A ,#0FFH ,TT33 RET

TT33: MOV 50H , #00H ;计数器清零 MOV 51H , #00H MOV 52H , #00H MOV 53H , #00H MOV 54H , #00H MOV 30H , #00H MOV 31H , #00H MOV 32H , #00H MOV 33H , #00H MOV 3AH ,#00H

59

传送带上物件计数器设计

MOV 3BH ,#00H MOV 3CH ,#00H MOV 3DH ,#00H MOV 44H, #00H MOV 40H ,#00H RET

;红灯闪亮子程序**************************************************** HONGDENG:MOV A,41H

CJNE A ,#01H ,LED ; 41H为1时红灯开始闪烁 INC 45H MOV A ,45H

CJNE A ,#0A5H ,LED1 MOV 45H ,#0A4H INC 46H MOV A , 46H

CJNE A , #84H ,BL1 ;如果不够不亮 MOV 45H ,#00H MOV 46H ,#00H AJMP LED1 BL1: LCALL DELAY1 RET LED1: MOV A , 35H

CJNE A, #01H, GUANHONG SETB P2.2 LCALL DELAY1 CLR P2.2 GUANHONG: RET

;绿灯闪亮子程序************************************************ LVDENG:MOV A,42H

CJNE A ,#01H ,LED2 ; 41H为1时红灯开始闪烁 INC 45H

60

传送带上物件计数器设计

MOV A ,45H

CJNE A ,#0A5H ,LED2 MOV 45H ,#0A4H INC 46H MOV A , 46H

CJNE A , #84H ,BL2 ;如果不够不亮 MOV 45H ,#00H

MOV 46H ,#00H AJMP LED2 BL2: LCALL DELAY1 LCALL DELAY1 RET LED2: MOV A ,36H

CJNE A , #01H ,GUANLV SETB P2.3 LCALL DELAY1 CLR P2.3 GUANLV: RET

;计数子程序*********************************************** INT10: MOV A , 40H

CJNE A ,#0FFH ,FANHUI0 ;只有没有设置键时按下有效 MOV A ,53H ; 50~53H为零计数不起作用 JNZ TT30 MOV A , 52H JNZ TT30 MOV A , 51H JNZ TT30 MOV A , 50H JNZ TT30 FANHUI0:RET TT30: INC 3DH

61

传送带上物件计数器设计

MOV A , 3DH

CJNE A , #0AH , PDUAN INC 3CH MOV 3DH , #00H MOV A , 3CH

CJNE A , #0AH , PDUAN INC 3BH MOV 3CH , #00H MOV A , 3BH

CJNE A ,#0AH , PDUAN INC 3AH MOV 3BH , #00H MOV A ,3AH

CJNE A , #0AH ,PDUAN MOV 3AH , #00H PDUAN: MOV A , 34H

CJNE A , #0FFH , JINGGAO; MOV A , 30H

CJNE A , 50H , JISHU ;千位判断 MOV A , 31H

CJNE A , 51H , JISHU ;百位判断 MOV A , 32H

CJNE A , 52H , JISHU ;十位判断 MOV A , 33H

CJNE A , 53H , JISHU ;个位判断 LCALL DISP LCALL HONGDENG LCALL LVDENG JINGGAO:INC 34H MOV A , 34H

MOV 41H ,#01H ;红灯闪烁

62

传送带上物件计数器设计

MOV 35H ,#01H ;开红灯 CJNE A , 54H , JISHU

SETB P1.0 ;关物件传送带 CLR P1.1 ;开包转传送带 MOV 36H, #00H ;关绿灯 MOV 41H ,#00H ;关红灯闪烁 MOV 3AH ,#00H MOV 3BH ,#00H MOV 3CH ,#00H MOV 3DH ,#00H MOV 34H ,#0FFH MOV 30H ,3AH MOV 31H ,3BH MOV 32H ,3CH MOV 33H ,3DH LCALL HONGDENG LCALL LVDENG LCALL DISP CLR P1.2 LCALL DELAY5

MOV 35H ,#01H ;红灯闪烁 MOV 41H ,#01H ;开红灯 SETB P1.2 LCALL DELAY5

MOV 35H ,#00H ;关红灯 MOV 36H , #01H ;开绿灯 MOV 41H ,#00H ;关红灯闪烁 CLR P1.0 ;开物件传送带 SETB P1.1 ;关包装传送带 RET JISHU: MOV A , 3DH

63

传送带上物件计数器设计

CJNE A , #0AH , FANHUI INC 3CH MOV 3DH , #00H MOV A , 3CH

CJNE A , #0AH , FANHUI INC 3BH MOV 3CH , #00H MOV A , 3BH

CJNE A ,#0AH , FANHUI INC 3AH MOV 3BH , #00H FANHUI:MOV A ,44H CJNE A ,#01H,FANN MOV 30H ,3AH MOV 31H ,3BH MOV 32H ,3CH MOV 33H ,3DH FANN: RET INTT1: CLR EA CLR TR1 PUSH PSW PUSH DPL PUSH DPH PUSH ACC SETB EA INC 5EH CLR EA POP ACC POP DPH POP DPL POP PSW

传送带上物件计数器设计

SETB EA RETI SHENG: CLR P1.2 LCALL DELAY9 SETB P1.2 RET INTT0: CLR EA CLR TR0 PUSH PSW PUSH DPL PUSH DPH PUSH ACC SETB EA INC 55H MOV A,55H

CJNE A ,#14H ,TTT20 MOV 55H ,#00H INC 56H MOV A ,56H CJNE A ,#02H, TTT20 MOV 56H,#00H CLR TR0 SETB 20H.6 AJMP TTTT TTT20: MOV TH0,#38H MOV TL0,#88H SETB TR0 TTTT: CLR EA POP ACC POP DPH POP DPL

65

传送带上物件计数器设计

POP PSW SETB EA RETI

TAB: DB 14H , 0DEH , 38H , 58H DB 0D2H , 51H , 11H , 0DCH DB 10H , 50H , 0B0H END

66

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务