基于单片机的红外计数器设计.docx
《基于单片机的红外计数器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的红外计数器设计.docx(26页珍藏版)》请在冰豆网上搜索。
基于单片机的红外计数器设计
XX大学
本科毕业设计(论文)
(2011届)
题目:
基于单片机的红外计数器设计
专业:
电子信息工程
班级:
07电工本一
姓名:
学号:
指导教师:
职称:
副教授
完成日期:
2011年3月15日
摘要
在当今社会飞速发展的格局下,越来越多的流水线上的产品和各种商业场合的人员需要进行自动计数.基于单片机构成的产品自动计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。
本文所设计的计数器是采用红外对射式方式,抗干扰性好,可靠性高。
本设计的指导思想是利用红外发光管发射红外线,红外接收管接收此红外线,并将其放大、整流形成高电平信号.当有人或物挡住红外光时,接收管没有接收到红外信号,放大器将输出低电平,同时将这个电平信号送入单片机进行控制计数,并经译码驱动电路使数码管显示数值。
这样就得到要统计的人或物的数量。
本设计应用单片机AT89C51芯片作为核心,4位LED数码管,使用LM324芯片实现红外线计数,并且添加了报警功能。
这种实现方法的优点是电路简单,性能可靠,实时性好,操作简单,编程容易等。
关键词:
单片机;红外对射管;LM324;蜂鸣器;LED数码管
Abstract
Rapiddevelopmentinthepatternoftoday'ssociety,moreandmoreofthepipelineofproductsandavarietyofbusinessoccasionsneedtoautomaticallycount.BasedonSCMproductsconstituteautomaticcounterhastheadvantagesofintuitiveandaccuratecount,nowinavarietyofcommonlyusedinindustry.Thisarticleisdesignedtocounterradio-stylemethodusinginfrared,interferenceimmunityandhighreliability.
ThedesignoftheguidingideaistouseinfraredemissioninfraredLED,infraredreceivertoreceivetheinfrared,andenlarge,forminghighcommutationsignal.Whenpersonsorblockinfraredlight,thereceiverdoesnotreceiveinfraredcontrolsignals,theamplifiertheoutputlow,whilethelevelcontrolsignalintothemicrocontrollercounts,andbydecodingthedigitaldisplaydrivecircuitvalues.Thiswillbethenumberofpersonsorthingstostatistics.
TheAT89C51microcontrollerchipdesignapplicationsasacore,4LEDdigitaltube,theuseofinfraredLM324chipcount,andaddthealarmfunction.Thisimplementationmethodhastheadvantageofsimplecircuit,reliable,real-time,simpleoperation,easyprogrammingandsoon.
Keywords:
SCM;infraredshootingtube;LM324;Buzzer;LEDdigitaltube
目录
1绪论-1-
1.1前言-1-
1.2背景与意义-1-
1.2.1国内外研究的概况-1-
1.2.2研究主要成果-2-
1.2.3发展趋势-3-
1.3设计任务-3-
2红外线计数器总体设计方案-5-
2.1系统总体方案设计-5-
2.2主控芯片简介-7-
2.2.1单片机的发展及趋势-7-
2.2.251系列单片机的主要特点-8-
3红外线计数器硬件设计-10-
3.1单片机最小系统的设计-10-
3.2红外线检测部分-11-
3.2.1红外线发射电路-11-
3.2.2红外线接收电路-12-
3.3计数显示电路-13-
3.4蜂鸣器报警电路-13-
4红外线计数器软件设计-16-
4.1主程序设计-16-
4.2子程序设计-16-
4.2.1LED显示程序设计-16-
4.2.2蜂鸣器报警程序设计-17-
5系统调试-18-
5.1系统的硬件调试-18-
5.2软件调试-18-
6结论-19-
致谢-20-
参考文献-21-
附录Ⅰ原理图-22-
附录Ⅱ元器件清单-23-
附录Ⅲ源程序清单-24-
1绪论
1.1前言
在当今社会飞速发展的格局下,厂家基本采用流水线技术进行产品生产作业,而怎样对其线上的产品进行实时的、有效率的、精确的自动计数成为广大生产厂家十分关注的问题。
传统的机械式或电子式计数器(主要是用数字电路集成组件组成)电路比较复杂,元器件数量较多,故障率较高,维修比较困难,而且设置预定数值不太方便,功能不易更改且功能过于单一,适用范围较窄。
而基于单片机为核心控制的计数器有着能够实时,精确,可靠,稳定等计数优点已成为广大厂家的首选自动计数的装置。
1.2背景与意义
电子计数器到目前为止已有30多年的发展史。
早期,设计师们追求的目标主要是扩展计数范围,再加上提高计数精度、稳定度等,这些也是人们衡量电子计数器的技术水平,决定电子计数器价格高低的主要依据.目前这些基本技术日臻完善,成熟.应用现代技术可以轻松地将电子计数器的计数上限扩展到无限大。
当今,单片微型计算机技术迅速发展,基于单片机技术开发的计数设备和产品广泛应用到各个领域,单片机技术产品和设备促进了生产技术水平的提高.企业迫切需要大量熟练掌握单片机技术并能开发、应用和维护管理这些智能化产品的高级工程技术人才.单片机以体积小、功能强、可靠性高、性能价格比高等特点,已成为实现工业生产技术进步和开发机电一体化和智能化测控产品的重要手段。
已经实现或者部分实现,但要真正完美的实现这些目标,对于设计者来说,还有许多工作要做,而不是表面看来似乎发展到头了.电子计数器是一种多功能的电子测量仪器。
它利用电子学的方法测出一定时间内输入的脉冲数目,并将结果以数字形式显示出来。
1.2.1国内外研究的概况
计数器是工业生产流水线上重要的组成部分,其实时的、有效率的、精确的自动计数在很大程度上解决了工业生产的问题决定了生产效率成为广大厂家的首选自动计数的装置。
但计数器种类繁多,如何选择一个方便有多功能的计数器成了广大厂家非常关心的核心老问题,如何让计数器超越简单的技术功能,成为生产流水线上的一把利器?
而基于单片机的红外线计数器能够满足广大厂家的要求,它拥有实时,精确,可靠,稳定等技术有点而且体积小、功能强、可靠性高、性能价格比高等特点[11]。
利用单片机做红外线电子计数器能够使产品的稳定性、实时性、功能和性价比得到大幅的提高。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
此后在8031上发展出了MCS51系列单片机系统单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。
事实上单片机是世界上数量最多的计算机。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
如今的产品自动计数器大多采用非接触式的计数触发方式。
早已开发出了多种型号的专用检测芯片.而利用AT89C2051为控制单元、辅以多种外围硬件搭配而成的计数装置已成为现在自动计数应用领域的潮流。
而如何提高自动计数器的实时性,抗干扰能力、稳定性是现在国内外自动计数生产厂家研究的主要课题.产品自动计数器主要用于工厂的流水线上,往往是处于高温,高噪声等极度恶劣的环境当中.而MCS-51系列单片机构成的产品自动计数器在这种环境中工作时往往会出现误动作(单片机程序跑飞)或死机(程序进入死循环).这也是基于单片机构成的产品自动计数器存在的致命问题
1.2.2研究主要成果
通过查阅相关德文献期刊书籍,对对红外线德一些研究成果如下:
①在作者王送德,朱小龙的《对射式红外线计数器的设计》文章中把红外线发射、接收模块作计数传感器代替了传统的光电传感器、红外线传感器。
经作者实际应用验证,该方法在数据采集这方面它的抗干扰能力强,且在该设计中还使用了加密、解码技术,故工作稳定,计数准确,但是该实验是采用对射式的,所以发射管和接受管的方向一定要对正,这在现实中可能会造成不必要的麻烦[1]。
②在作者谢洪的《用单片机控制红外编码探测障碍物》文章中采用由单片机控制发射一定意义的红外编码脉冲串,同时,单片机接收该脉冲串。
如果接受到的信号和发射的信号基本一致,才判断为有障碍物的存在。
经作者实际应用验证,这种方法能够较强的降低虚警率,具有较强的抗干扰性。
作者在该文章中提到了3种编码的方案:
(1)发送较短的编码串(10~16位),判断时间约6~10ms。
在接收过程中,不能有一位的误码,否则认为是干扰,要等待下一次的障碍检测。
这种方案在检测过程中,不能存在干扰。
(2)发送大于16位的编码串(16~32位),判断时问约10~20ms。
对接收“o”和“1”的编码误码统计,其中可以根据应用场合的需要,存在1~2位“o”的误码和1~3位“1”的误码,这样能有效提高抗干扰能力。
(3)发送大于32位编码串,判断时间>20ms。
根据实际情况来分析接收的编码,以判断障碍的存在。
且这三种方案都在该实验中得到验证[4]。
③在作者王松德,梁会琴,王丹的《红外线计数器的设计与制作》文章中采用一体化红外线传感器TX05D,由于TX05D使用了调制技术和采用带补偿的抗干扰器件,在一定程度上解决了抗干扰问题,使白天黑夜的灵敏度基本保持一致。
计数部分使用十进制计数7段译码器二合一集成电路CD4033可直接驱动LED数码管实现高亮度数字显示电源部分使用变压器降压集成稳压器稳压可确保电路工作更稳定使用更安全。
该设计电路和控制方案简洁明了,容易实现,具有应用推广价值[2]。
④在作者戴培山,冯成德,刘栋的《基于keil+c51的红外遥控器解码设计》文章中采用HS9012芯片,它是一块用于红外遥控系统中的专用发射集成电路,功耗低,外围元件少。
它的发射码采用脉冲位相调制方式(PPM)进行编码,效率高,抗干扰性能好。
HS9012的振荡频率为fesc=455kH,高电平脉冲的宽度(即内部工作时钟周期)Tm=256/lose=0.56ms。
根据计时/计数器T0的数值来判断脉冲的间隔,进而判断一位二进制遥控码是“0”,“1,还是“引导码”或是干扰码。
这样用两个中断可以提高解码效率,节省解码时间。
该设计接受装置简单明了,设计的keilc51程序通用性好,编写效率高,可以方便的移植到其它微控制器上,可靠性好,不受其他遥控器码的干扰[6]。
⑤在作者王礼广、胡解生、熊东平、肖秀如的《基于RS一485的静脉注射网络监控系统的设计与实验》文章中采用RS一485收发器,该收发器采用平衡驱动和差分接收,具有抑制共模干扰的能力,RS一485接受器灵敏度可以达到4-200mV,在100kbit/s速率下电缆长度可以达到l200m,如果通信距离缩短,最大速率可达10Mbit/s。
该系统性能稳定、安全可靠、操控直观方便[8]。
1.2.3发展趋势
电子计数器到目前为止已有30多年的发展史。
早期,设计师门追求的目标主要是扩展计数范围,再加上提高计数精度、稳定度等,这些也是人们衡量电子技术器的技术水平,决定电子计数器价格高低的主要依据,目前这些基本技术日臻完善,成熟。
应用现代化技术可以轻松地将电子计数器的计数上限扩展到无限大。
随着单片微型计算机迅速发展,基于单片机技术开发的计数设备和产品广泛应用到各个领域,单片机技术产品和设备促进生产技术水平的提高。
企业迫切需要大量熟练掌握单片机技术并能开发、应用和维护管理这些智能化产品的高级工程技术人才,单片机以体积小、功能强、可靠性高、性能价格比高等特点。
已经实现或部分实现,但要真正完美的实现这些目标,对于设计者来说,还有许多工作要做,而不是表面看来似乎发展到头了。
红外线电子计数器是一种多功能的电子测量仪器。
它利用红外线发射器发射红外线,接收器接收由物体阻挡或直射的红外线,把接受到的红外线信号转换为电脉冲,并由放大电路进行多级放大,通过计数芯片分析,计算出遮拦的次数,再由数码译码器翻译,通过动态数字显示方式显示被测物体遮挡的次数从而进行计数。
随着红外技术的提高,在军事、医学等多种领域得到应用,在军事上可以用来防止敌人的侵入,在医学上可以查看病人的病情等[11]。
红外线电子计数器作为工业生产流水线上的重要组成部分,对任何一个大型乃至中、小型企业都是不可或缺的。
它能够快速准确的统计产品的数量提高生产的效率,节约大量的人力资源,提高厂家的竞争力。
并且随着红外计数器的不断改进,抗干扰能力增强,可以在许多恶劣的地方代替科研人员进行科学工作[4,6]。
1.3设计任务
本设计主要任务是以单片机为主控芯片来进行软件控制,能正常进行数据计数。
基于单片机构成的产品自动计数器研究的主要内容包括:
如果构成检测电路、MCS-51单片机用何种方式对外部计数脉冲进行计数显示控制、LED显示驱动模块的选择、MCS-51单片机的扩展。
在这个设计中主要需要解决的问题便是如何提高MCS-51单片机的抗干扰能力以及稳定性。
主要技术指标:
(1)显示并能计数;
(2)具有报警功能;
(3)具有较强的抗干扰性。
2红外线计数器总体设计方案
2.1系统总体方案设计
方案一、
图2-1红外线计数器硬件框图
原理阐述:
专业检测芯片形成计数脉冲后送给控制单元AT89C2051单片机。
通过对它片内计数、显示编程。
PS7219是专用LED显示驱动芯片可以同时驱动8个7段数码管。
X2504P是一块有电源电压监控、EEPROM和看门狗定时器电路三种功能于一体的芯片,它保证了在电源接通、关断、瞬间电源电压不稳时,不会造成系统死机、数据误写或误动作,大大提高了系统的可靠性和抗干扰能力.HT7044A能够保证系统突然掉电后保护数据。
方案二、
图2-2红外线计数器硬件框图
原理阐述:
红外发射电路(以NE555为核心)和红外接收电路(由LM567为核心)构成红外检测单元以及形成计数脉冲、经过AT89C51外部中断对其片内计数、显示编程、最后通过显示驱动芯片连接上LED显示器就完成了最后的计数显示。
方案三、
图2-3红外线计数器硬件框图
原理阐述:
检测单元同方案二一样、不同的便是计数显示部分。
方案三使用了四合一芯片CL102。
它是集译码、驱动、锁存、显示一体。
以上三个方案各有着自己的优缺点:
方案一既可完美的实现产品自动计数功能且能让系统处于异常状态和抗干扰时通过外围专用芯片得到非常好的解决。
外围电路架设相对简单、在市场上属于高端自动计数产品.同时它也暴露出了一个重大问题:
由于成本太贵的原因此类产品并没有得到普及.如果用此方案进行设计只需要了解各专用芯片的引脚功能以及外围连接方法就可以实现自动计数,并没有很好的达到我们做毕业设计的目的,故虽然这个方案是最完美的一个方案也只有舍弃。
方案三是一个简易的产品自动计数器,价格低廉、计数精确。
但在系统处于异常状态时工作十分不稳定、也是属于现在产品自动计数市场上的淘汰产品。
仅用于在计数要求不高的场合中.这个方案太过于简单故不选用。
方案二便是这次毕业设计选用的方案。
之所以选用主要是这个方案涉及的知识面广且能达到精确、稳定的自动计数.但也有一个致命的缺点整个系统的抗干扰能力较弱、系统掉电后不能保存数据.在系统处于异常状态时容易出现误动作或死机。
这也是此设计着重解决的问题。
本系统是以单片机为核心,以来控制整个红外线计数器系统的运行,其中包括精确的计数,数字的显示显示。
系统模块如图所示:
图2-4红外线计数器硬件框图
原理:
电路的指导思想是利用红外发光管发射红外线,红外接收管接收此红外线,并将其放大、整流形成高电平信号。
当有人或物挡住红外光时,接收管没有接收到红外信号,放大器将输出低电平。
这个便是外部计数脉冲信号。
这个计数脉冲信号送入AT89C51单片机中进行计数控制,在经过扩展、显示驱动完成最后的显示过程。
2.2主控芯片简介
2.2.1单片机的发展及趋势
在计算机应用控制领域上,如工业控制、汽车、家电等很多控制场合,对控制系统的要求都比较苛刻。
例如需要智能高、体积小、成本低、功耗低、抗干扰能力强和可靠性高。
不仅传统电气设备无能为力,一般应用性PC机也不能胜任。
在这个背景下,单片机的设想才逐渐成型。
单片机就是将计算机的几个基本组成部分集成在单一的芯片上,体积相对较小,很好地满足了对控制系统体积的要求。
自从1975年美国德克萨斯公司开发生产出第一台单片机TMS-1000以来,单片机经历了4位→8位→16位→32位的发展过程。
最有代表性的Intel公司先后推出了三个系列:
MCS-48系列8位单片机、MCS-51系列高档8位单片机、MCS-96/98系列16位单片机。
很多控制场合并不需要单片机去完成复杂的数学计算,因此单片机在生产工艺上进行了简化,降低了制造成本。
同时采用大批量生产,成本进一步降低。
从目前市场上来看,其价格一般都在几元到几十元之间。
未来单片机技术的发展趋势将以8位单片机主流,并大力发展专用单片机。
很多单片机生产厂家充分考虑到用户的需求,将一些常用的功能部件,如ADC(模/数转换器)、DAC(数/模转换器)、PWN(脉冲产生器)以及LCD(液晶)驱动器等集成到芯片内部、尽量做到单片化;同时,用户还可以提出要求,由厂家为其量身定做(SoC设计)或自主设计。
另外,随着科技发展,程序存储器的容量将进一步扩大。
当存储空间足够大时,可嵌入一些软件(如平台软件、虚拟外设软件、系统诊断管理软件等)以提高系统开发效率。
2.2.251系列单片机的主要特点
51系列单片机生产厂家非常多,型号也非常丰富。
但总的来说,51系列的单片机开发平台都可以用Keil,编程软件都可以用A51和C51。
所不同的是,不同厂家和型号的产品,在外设和下载方式上不同。
比如Atmel公司的89C51和89S51,89S51兼容89C51,不同的是89C51可以用ISP下载方式,而89C51不能。
51系列单片机的特点有以下几个方面:
(1)集成度高、体积小、有很高的可靠性;
(2)控制功能强;
(3)低功耗、低电压,便于生产便携式产品;
(4)外部总线增加了I2C、SPI等串行总线方式,进一步缩小了体积,简化了结构;
(5)单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。
寄存器A/B/C/D控制字格式如表3-1所示:
表3-1寄存器A/B/C/D控制字格式
寄存器
BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
寄存器A
UIP
DV2
DV1
DV0
RS3
RS2
RS1
RS0
寄存器B
SET
PIE
AIE
UIE
SQWF
DM
24/12
DSE
寄存器C
IRQF
PF
AF
UF
0
0
0
0
寄存器D
VRT
0
0
0
0
0
0
0
DS12887有128个RAM单元。
其中4个单元用作控制寄存器,10个单元用作存放时钟字节,114字节为通用RAM。
其主要寄存器如下:
DS12887内部寄存器A:
UIP=l:
更新已到,不能读/写DSl2887;UIP=0:
更新末到,能读/写DS12887。
DV2、DV1、DV0应设置为010,表示打开晶振,允许计时。
RS3、RS2、RS1、RS0为方波频率选择位,产生方波周期中断。
DS12887内部寄存器B:
SET=0:
时间更新正常进行,每秒计数1次;SET=1:
禁止更新,程序可初始化时间和日历。
PIE=l:
允许周期中断;PIE=0:
禁止周期中断。
AIE=1:
允许报警中断;AIE=0:
禁止报警中断。
UIE=1:
允许更新结束中断;UIE=0:
禁止更新结束中断。
SQWE为方波允许位。
SQWE=1:
将RS3、RS2、RS1、RS0选定的方波输出。
DM=1:
BCD码;DM=0:
二进制。
该位不受复位信号影响。
24/12:
1表示24小时制;0表示12小时制。
DSE为夏时制允许位。
DSE=l:
采用夏时制;DSE=0:
不采用夏时制。
DS12887内部寄存器C:
IRQF为中断申请标志。
PF为方波周期中断标志。
PF=1:
方波周期结束,申请中断。
AF为闹铃中断标志。
AF=1:
当前时间与闹铃时间匹配时即刻申请中断。
UF为更新周期结束中断标志。
UF=1:
更新周期结束时申请中断。
DS12887内部寄存器D:
VRT为内部锂电池状态。
VRT=1:
锂电池正常;VRT=0:
锂电池耗尽[11]。
3红外线计数器硬件设计
3.1、单片机最小系统的设计
图3-1电源供电电路
如图所示电源供电部分采用变压器降压、桥式整流、电容器滤波、三端稳压器7805稳压后供电。
电源用220V市电经变X1压器降压成9V交流电,然后经四个整流二极管(D1—D4)组成的桥式整流变成直流电压,经C1滤波后送入7805芯片稳压成5V直流电源供红外线发射、接收电路、AT89C51等供电。
STC51单片机的最小系统设计如图3-1。
.
图3-2单片机最小系统图
51单片机的最小系统由单片机、晶振电路、复位电路和P0的上拉电阻组成。
其介绍如下:
(1)晶振电路为单片机提供时序使单片机能够正常工作,在图3-1中采用单片机内部振荡方式。
此时,只要接上两个电容和一个晶振即可。
电容的大小影响着振荡的稳定性和起振的快速性,通常选择10~30pF的相等的两个瓷片电容。
(2)C1和R2构成了复位电路。
刚开始上电时时,C1瞬间相当于短路,C1两端保持0V电压,VCC的电源电压就都加在了R2上,因此在单片机9脚RST上变成了高电平,此后C1上逐渐充电,即在C1上出现电压,R2上的电压开始下降,最后单片机9脚RST上变成了低电平。
在此过程中只要满足单片机9脚RST上的高电平持续24个振荡周期即可使单片机复位。
3.2、红外线检测电路
3.2.1红外线发射电路
这个部分主要由NE555组成的红外发射电路和LM567构成的红外接收电路构成。
工作原理为当红外发射二级管发出红外光,检测是否受人或者物体遮挡,然后由红外线接收二极管将调制信号通过锁相环鉴频后输出CP计数脉冲以便单片机进