基于单片机的产品自动计数器设计.docx

上传人:b****5 文档编号:6070489 上传时间:2023-01-03 格式:DOCX 页数:19 大小:731.63KB
下载 相关 举报
基于单片机的产品自动计数器设计.docx_第1页
第1页 / 共19页
基于单片机的产品自动计数器设计.docx_第2页
第2页 / 共19页
基于单片机的产品自动计数器设计.docx_第3页
第3页 / 共19页
基于单片机的产品自动计数器设计.docx_第4页
第4页 / 共19页
基于单片机的产品自动计数器设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

基于单片机的产品自动计数器设计.docx

《基于单片机的产品自动计数器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的产品自动计数器设计.docx(19页珍藏版)》请在冰豆网上搜索。

基于单片机的产品自动计数器设计.docx

基于单片机的产品自动计数器设计

摘要

在当今社会飞速发展的格局下,越来越多的流水线上的产品和各种商业场合的人员需要进行自动计数.基于单片机构成的产品自动计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。

数字式电子计数器有多种计数触发方式,它是由实际使用条件和环境决定的。

有采用机械方式的接触式触发的,有采用电子传感器这类非接触式触发的。

本文所设计的计数器是采用红外对射式方式,抗干扰性好,可靠性高.该产品应用广泛,可用于测量流水线上的产品的数量以及可检查产品有无缺损;也可以用于测量宾馆、饭店、商场、超市、博物馆、展览观、车站、码头、银行等场所的人员数量及人员流通数量,同时丝毫不会侵犯到被测人员的个人隐私.本设计的指导思想是利用红外发光管发射红外线,红外接收管接收此红外线,并将其放大、整流形成高电平信号.当有人或物挡住红外光时,接收管没有接收到红外信号,放大器将输出低电平,同时将这个电平信号送入单片机进行控制计数,并经译码驱动电路使数码管显示数值。

这样就得到要统计的人或物的数量。

关键词:

自动计数、红外检测、单片机、8位数码管.

 

Abstract

Intoday'ssocietyunderthepatternofrapiddevelopment,moreandmoreonthelinesofproductsandvariousbusinesssettingsneedtoautomaticallycount.MCU-basedproductsposeadirectandautomaticcountershavetheadvantageofaccuratecount,isalreadyintheSpeciescommonlyusedinindustry.Thedigitalelectroniccountertriggeranumberofcounts,itisfromtheactualconditionsofuseandenvironmentaldecisions.Theuseofamechanicalcontactthetrigger,useelectronicsensorstotriggerthenon-contact,infraredsensorsisoneofthem,itisanon-contactelectronicsensors.Usinginfraredsensorsproducedbyelectroniccounters.Thispaperisdesignedtocountertheuseofinfra-redshading,anti-interferenceandgood,highreliability.Theproductofextensiveandcanbeusedtomeasuretheproductlinesandthenumberofdefectscancheckwhetherproducts;canalsobeusedtomeasurethehotels,restaurants,shoppingmalls,supermarkets,museums,exhibitionconcept,railwaystations,docks,banksandotherplacesofthenumberofstaffThenumberofstaffandcirculation,whileinnowayinfringeupontheprivacyofindividualstestedstaff.Thecircuit'sguidingideologyistouseinfraredLEDfiredinfrared,infraredreceiverofreceivingtheinfrared,andenlarge,arectifierHIGHsignal.WhenRenHuowublockingtheinfraredlight,notreceivingtheinfraredsignaltothereceiver,amplifieroutputwillbelow,atthesametime,theMCU-levelsignalsintothecontrolcount,andthedrivecircuittodecodeThenumericaldigitaldisplay.ThiswillbetheRenhuoWustatisticstothenumber.

Keywords:

automaticcounting,infrareddetection,SCM,decoding.

 

1绪论

1.1前言

在当今社会飞速发展的格局下,厂家基本采用流水线技术进行产品生产作业,而怎样对其线上的产品进行实时的、有效率的、精确的自动计数成为广大生产厂家十分关注的问题。

传统的机械式或电子式计数器(主要是用数字电路集成组件组成)电路比较复杂,元器件数量较多,故障率较高,维修比较困难,而且设置预定数值不太方便,功能不易更改且功能过于单一,适用范围较窄。

而基于单片机为核心控制的计数器有着能够实时,精确,可靠,稳定等计数优点已成为广大厂家的首选自动计数的装置。

1.2选题背景

电子计数器到目前为止已有30多年的发展史。

早期,设计师们追求的目标主要是扩展计数范围,再加上提高计数精度、稳定度等,这些也是人们衡量电子计数器的技术水平,决定电子计数器价格高低的主要依据.目前这些基本技术日臻完善,成熟.应用现代技术可以轻松地将电子计数器的计数上限扩展到无限大。

当今,单片微型计算机技术迅速发展,基于单片机技术开发的计数设备和产品广泛应用到各个领域,单片机技术产品和设备促进了生产技术水平的提高.企业迫切需要大量熟练掌握单片机技术并能开发、应用和维护管理这些智能化产品的高级工程技术人才.单片机以体积小、功能强、可靠性高、性能价格比高等特点,已成为实现工业生产技术进步和开发机电一体化和智能化测控产品的重要手段。

已经实现或者部分实现,但要真正完美的实现这些目标,对于设计者来说,还有许多工作要做,而不是表面看来似乎发展到头了.电子计数器是一种多功能的电子测量仪器。

它利用电子学的方法测出一定时间内输入的脉冲数目,并将结果以数字形式显示出来。

1.3设计要求

1.整个系统有较强的抗干扰能力.

2.计数范围:

000000~999999.

3.将计数值准确显示出来.

1.4国内外的研究概况

如今的产品自动计数器大多采用非接触式的计数触发方式。

早已开发出了多种型号的专用检测芯片.而利用AT89C2051为控制单元、辅以多种外围硬件搭配而成的计数装置已成为现在自动计数应用领域的潮流。

而如何提高自动计数器的实时性,抗干扰能力、稳定性是现在国内外自动计数生产厂家研究的主要课题.产品自动计数器主要用于工厂的流水线上,往往是处于高温,高噪声等极度恶劣的环境当中.而MCS-51系列单片机构成的产品自动计数器在这种环境中工作时往往会出现误动作(单片机程序跑飞)或死机(程序进入死循环).这也是基于单片机构成的产品自动计数器存在的致命问题。

1.5此次设计研究的主要内容应解决的问题

基于单片机构成的产品自动计数器研究的主要内容包括:

如果构成检测电路、MCS-51单片机用何种方式对外部计数脉冲进行计数显示控制、LED显示驱动模块的选择、MCS-51单片机的扩展。

在这个设计中主要需要解决的问题便是如何提高MCS-51单片机的抗干扰能力以及稳定性。

2自动计数器的方案论证与选择

2.1方案论证与选择

方案一:

如图2-1

图2-1方案一

原理阐述:

专业检测芯片形成计数脉冲后送给控制单元AT89C2051单片机

通过对它片内计数、显示编程。

PS7219是专用LED显示驱动芯片可以同时驱动8个7段数码管.X2504P是一块有电源电压监控、EEPROM和看门狗定时器电路三种功能于一体的芯片,它保证了在电源接通、关断、瞬间电源电压不稳定时,不会造成系统死机、数据误写或误动作,大大提高了系统的可靠性和抗干扰能力.HT7044A能够保证系统突然掉电后保护数据。

方案二:

如图2-2

图2-2方案二

原理阐述:

红外发射电路(以NE555为核心)和红外接收电路(由LM567为核心)构成红外检测单元以及形成计数脉冲、经过AT89C51外部中断对其片内计数、显示编程、最后通过显示驱动芯片连接上LED显示器就完成了最后的计数显示.

方案三:

如图2-3

图2-3方案三

原理阐述:

检测单元同方案二一样、不同的便是计数显示部分.方案三使用了四合一芯片CL102.它是集译码、驱动、锁存、显示一体.

以上三个方案各有着自己的优缺点:

方案一既可完美的实现产品自动计数功能且能让系统处于异常状态和抗干扰时通过外围专用芯片得到非常好的解决.外围电路架设相对简单、在市场上属于高端自动计数产品.同时它也暴露出了一个重大问题:

由于成本太贵的原因此类产品并没有得到普及.如果用此方案进行设计只需要了解各专用芯片的引脚功能以及外围连接方法就可以实现自动计数,并没有很好的达到我们做毕业设计的目的,故虽然这个方案是最完美的一个方案也只有舍弃.

方案三是一个简易的产品自动计数器.价格低廉、计数精确.但在系统处于异常状态时工作十分不稳定、也是属于现在产品自动计数市场上的淘汰产品.仅用于在计数要求不高的场合中.这个方案太过于简单故不选用.

方案二便是这次毕业设计选用的方案.之所以选用主要是这个方案涉及的知识面广且能达到精确、稳定的自动计数.但也有一个致命的缺点整个系统的抗干扰能力较弱、系统掉电后不能保存数据.在系统处于异常状态时容易出现误动作或死机.这也是此设计着重解决的问题。

2.2系统总体框图和原理

系统总体框图如图2-4:

图2-4系统总体框图

原理:

电路的指导思想是利用红外发光管发射红外线,红外接收管接收此红外线,并将其放大、整流形成高电平信号。

当有人或物挡住红外光时,接收管没有接收到红外信号,放大器将输出低电平。

这个便是外部计数脉冲信号。

这个计数脉冲信号送入AT89C51单片机中进行计数控制,在经过扩展、显示驱动完成最后的显示过程。

3系统各单元电路设计

3.1电源供电电路

图3-1电源供电电路

如图3-1所示电源供电部分采用变压器降压、桥式整流、电容器滤波、三端稳压器7805稳压后供电。

电源用220V市电经变X1压器降压成9V交流电,然后经四个整流二极管(D1—D4)组成的桥式整流变成直流电压,经C1滤波后送入7805芯片稳压成5V直流电源供红外线发射、接收电路、AT89C51等供电.

3.2外线检测部分

这个部分主要由NE555组成的红外发射电路和LM567构成的红外接收电路构成.工作原理为当红外发射二级管发出红外光,检测是否受人或者物体遮挡,然后由红外线接收二极管将调制信号通过锁相环鉴频后输出CP计数脉冲以便单片机进行计数控制。

3-2红外线发射电路

如图3-2所示,红外线发射电路以时钟定时集成芯片NE555为核心。

内部含有两个电压比较器,一个分压器,一个RS触发器,一个放电晶体管和一个功率输出级构成一个多谐振荡器。

产生一个频率在91kHz至130kHz的脉冲波(这是理论值。

由于元件偏差,以实际测量为准),通过3脚输出脉冲波,由红外线发光二极管(D1)发射出去。

频率计算方法:

F=1.443/(R1+2R2)C1

因此根据公式计算我们知道此设计中红外线发光二极管的发射频率为12.4KHZ—94.5kHZ,发射的是脉冲波。

图3-3NE555芯片电路引脚以及芯片外型

图3-3为NE555芯片电路引脚以及芯片外形,NE555芯片引脚功能为:

1脚:

芯片GND2脚:

触发3脚:

输出4脚:

复位5脚:

控制电压6脚:

门限(阈值)7脚:

放电8脚:

电源电压Vcc.

NE555芯片可构成三大类型的电路:

单稳态电路、双稳态电路、无稳态电路。

在本设计中使用的是间接反馈型无稳态电路。

其主要特点是振荡电路直接连接在电源上。

图3-4红外线接收电路

红外接收电路如图3-4所表示是以锁相环集成芯片LM567为核心,构成一个鉴频电路。

如图4所示,红外线接收二极管将感应到的脉冲信号通过电容C1耦合到三极管01的基极,由Q1组成的放大电路把感应信号放大约100倍后,送给LM567的3脚,由LM567完成鉴频。

如果接收信号在LM567的捕捉带宽内,8脚输出低电平;否则8脚维持高电平。

5脚,6脚上的电容、电阻决定了内部压控晶体振荡器的中心频率(f1=1/1.1R4C5)当f=f1时LM567开始工作(即构成红外接收电路)。

1脚上的电容C4和二脚上的电容C3接地构成输出滤波网络和低通滤波网络,在具体值的设置上C4通常设定为C3的两倍。

利用LM567锁相环解码芯片的好处是可以提高整个检测电路的检测灵敏度和消除太阳光等背景光的干扰,从而提高了整个检测电路的干扰能力。

如果在对射管(接收管和发射管)外加滤光片便可以更好的提高抗干扰能力。

而根据《单片机原理与应用》书中可知,单片机正常工作频率为f=fx/24.(fx为晶振频率,一般为12MHZ)即0—500KHZ。

8脚输出的计数脉冲频率为12.4KHZ—94.5kHZ。

从而在电路设计上满足了单片机控制的基本要求。

图3-5LM567引脚图图3-6LM567内部功能图

从上面的分析上和图3-5、3-6不难看出,利用NE555和LM567构成检测单元其实是种浪费现象。

市面上的主流产品计数产品在检测部分一般都用到了专用检测芯片如(EST108配合光电传感器构成,检测精度非常高)。

NE555和LM567一般广泛运用与多路红外遥控系统中(遥控距离为15—30米、如多路电灯的开关控制、多路水龙头的控制中)。

NE555和LM567构成多路遥控电路时需外加一个双稳态电路控制继电器工作(这是完成电子控制到机械控制),由于篇幅原因这里不做过多阐述。

 

3.3计数、显示部分

图3-7计数显示部分

计数显示部分如图3-7所示。

由单片机AT89C51控制完成。

基本原理为当红外检测部分检测到有产品经过时,红外接收电路LM567芯片的8脚输出口将产生一个低电平信号,这个信号将供给单片机进行计数控制;显示部分是通过扩展8155I/0口实现,通过集成驱动芯片BIC8718完成最终的显示.

计数控制部分是将计数脉冲(负脉冲有效)送入单片机AT89C51两个中断入口的INT0入口,经过单片机内部对这个中断信号进行计数编程构成.AT89C51与MCS-51指令系统完全兼容。

提供以下标准功能:

4K字节FLASH闪烁存储器、128字节内部RAM、32个I/O口线、两个16位定时/计数器、一个5向量两级中断、一个全双工串行通信口、片内振荡器及时钟电路。

同时AT89C51可降至0HZ的静态逻辑操作,并支持两个软件的节电工作模式。

空闲方式停止CPU的工作,但是允许RAM、定时/计数器、串行通信口及中断系统继续工作。

掉电后保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。

AT89C51单片机芯片外型如图3-8所示,表3-1为AT89C51P3端口引脚和功能表,

图3-8AT89C51单片机外型

表3-1AT89C51P3端口功能

 

显示部分是通过8155芯片扩展I/O口和显示驱动芯片BIC8178以及8段数码管构成,采用的是软件译码方式,如图3-7所示。

软件译码是把各字符的段选码组织到一个表中,要显示某字符先查表得到其段选码,然后送往显示器的段码线。

单片机应用系统中多采用软件译码的动态显示。

图3-7中8155PB口输出的是段选码,PA口输出位选码。

而位选码占用的输出口线数取决于显示器位数。

对应于MCS—51单片机的I/O口扩展普遍的选用8155和8255系列。

8155和8255扩展芯片都是通用可编程并行I/O口扩展芯片,40个引脚封装,在这个设计当中我们选择使用8155扩展芯片。

Intel8155芯片内包含有256个字节RAM,2个8位、1个6位的可编程并行I/O口和1个14位定时器/计数器。

8155可直接与MCS-51单片机连接不需要增加任何硬件逻辑。

由于8155既有RAM又具有I/O口,因而是MCS-51单片机系统中最常用的外围接口芯片之一,8155的引脚及内部结构如图3-9,

图3-98155引脚以及内部引脚图十五:

8155外部引脚图

8155芯片外部引脚图如图十五。

8155共有40个引脚,采用双列直插式封装。

各引脚功能如下:

AD7~AD0:

地址数据总路线。

单片机和8155之间的地址、数据、命令、状态信息都是通过它传送的。

/CE:

片选信号线,低电平有效。

/RD:

存储器读信号线,低电平有效。

/WR:

存储器写信号线,低电平有效、

ALE:

地址及片选信号锁存线,高电平有效,其后沿将地址及片选信号锁存到器件中。

IO//M:

I/O接口与存储器选择依赖线,高电平表示选择I/O接口,低电平选择存储器。

PA7~PA0:

A口输入/输出线。

PB7~PB0:

B口输入/输出线。

PC5~PC0:

C口输入/输出或控制信号线。

用作控制信号线时,其功能如下:

PC0:

AINTR(A口中断信号线)。

PC1:

ABF(A口缓冲器满信号线)。

PC2:

/ASTB(A口选通线)。

PC3:

BINTR(B口中断信号线)。

PC4:

BBF(B口缓冲器满信号线)。

PC5:

/BSTB(B口选通线)。

TIMERIN:

定时器/计时器输入端。

/TIMEROUT:

定时器/计数器输出端。

RESET:

复位信号线。

VCC:

+5V电源。

VSS:

地。

8155内部结构包括两个8位并行输入/输出端口,一个6位并行输入/输出端口,256个字节的静态随机存取存储器RAM,一个地址锁存器,一个14位的定时器/计数器以及控制逻辑电路,各部件和存储器地址的选择由IO//M信号决定。

当IO//M=0(低电平)时,表示AD7~AD0输入的是存储器地址,寻址范围为00H~FF。

当IO//M=1(高电平)时,表示AD7~AD0输入的是I/O接口地址,其编码如下表所示。

其中A7~A3可经译码器进行译码,产生片选信号/CE,内部寄存器和口地址由A2~A0给出。

目前数码显示驱动芯片的主流产品有:

74LS系列、CD4094+ULN2003(2803),

74HC595+ULN2003(2803),TPIC6B595,AMT9095B,AMT9595、BIC8718等。

8段数码显示管的型号有TOP-2181Ax/Bx、DS-2181Bx等。

图十六:

TOP-2181Ax/Bx.图十七:

LDS-2181Bx

2.4、系统程序设计

2.4.1、程序流程图

图十八:

主程序流程图

图十九:

中断计数程序流程图

2.4.2、程序设计

#include

#include

#defineuintunsignedint

uintcount_at_0x7800;

voidmain()

{

IT0=1;

EX0=1;

EA=1;

}/*外部中断0函数*/

voidint0(void)interrupt0

{

EX0=0;//关中断

if(ount=999998)

{count=0;}

count++;

EX0=1;//开中断

}

XS:

MOVA,#00000011B;8155初始化

MOVDPTR,#7F00H;使DPTR指向8155控制寄存器端口

MOVX@DPTR,A

MOVR0,#78H;动态显示初始化,使R0指向缓冲区首地址

MOVR3,#7FH;首选位字节送R3

MOVA,R3

LDO:

MOVDPTR,#7F01H;使DPTR指向PA口

MOVX@DPTR,A;选通显示器低位(最右端一位)

INCDPTR;DPTR指向PB口

MOVA,@RO;读要显示数

ADDA,#0DH;调整距段码表首的偏移量

MOVCA,@A+PC;查表取得段选码

MOVX@DPTR,A;段选码从PB口输出

ACALLDL1;调用1MS延时子程序

INCR0;指向缓冲区下一单元

MOVA,R3;位选码送累加器A

JNBACC.0,LD1;判断6位是否显示完毕,

RRA;未显示完,把位选数字变为下一位选字

MOVR3,A;修改后的位选字送R3

AJMPLD0;循环实现按位序依次显示

LD0:

RET

DSEG:

DB3FH,06H,5BH,4FH,66H,6DH,7DH;断码表

DB07H,7FH,6FH,77H,7CH,39H,5EH,79H

DL1:

MOVR7,#02H;延时子程序

DL:

MOVR6,#0FFH

DLO:

DJNZR6,DL6

DJNZR7,DL

RET

 

2.5、电路总图

图二十:

电路总图

第三章:

结论

在研究这个毕业设计的过程当中曾经让我遇到了许多小麻烦:

在检测单元的选择上是选择光电传感器还是红外对射式曾经让我迷茫.在MCS-51单片机的选择上是选择内部具有4KB字节的闪烁存储器的AT89C51还是选择内部具有8KB字节的闪烁存储器的AT89C2051曾经也让我困惑不已(其实任选一款都可以实现).而最让我感到迷茫的是否利用8155进行I/O口的扩展,其实通过设计要求可以看出不难看出根本不需要对AT89C51进行扩展就可有完成0-999999的计数显示功能(采用7段数码管显示可以不扩展)。

而我最终还是选择了扩展是因为虽然这样让电路复杂了许多但也让我对单片机的I/O口扩展部分详细进行了重新学习和掌握。

基于单片机构成的产品自动计数器能够实现实时、稳定、精确的计数。

如果要对这个课题进行深入的研究可以采用AT89C2051或者AT89C52为控制单元的产品自动计数器在配合专用的掉电数据保护芯片、单片机专用保护芯片等就可以很好的提高整个系统的抗干扰能力。

产品自动计数器的设计的抗干扰问题永远是设计者们研究的课程!

只要能有效的遏制这个缺陷形成一个优质的自动技术产品指日可待!

(MCS—51单片机允许工作的温度范围:

-55℃--150℃,正产工作的频率范围上限:

24MHZ—33MHZ)。

本次设计的基于单片机构成的产品自动计数器没有任何外加任何停止、复位等功能按键,上电便进行计数工作。

仅作为自动计数产品理论研究之用。

 

参考文献

[1]高精度数字显示转速测试仪的研究[J]张军农机化研究2000(3)74.

[2]高可靠红外线传感器控制开关[J]陈勇仪表技术与传感器2004(5).

[3]CMOS4000系列60种常用集成电路的应用[M]魏丑君等人民邮电出版社,1995.

[4]中国集成电路大全CMOS集成电路[M]中国集成电路大全编写委员会国防工业出版社,1985.

[

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1