《毕业设计(论文)基于单片机的红外计数器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的红外计数器设计.doc(27页珍藏版)》请在三一办公上搜索。
1、 摘 要随着当今社会的飞速发展,越来越多的流水线上的产品和各种公共场所需要进行自动计数。基于单片机构成的产品自动计数器有直观和计数精确的优点,目前已在各种行业中得到广泛应用。数字计数器有多种形式,总体来说有接触式和非接触式两种,在科技发展的今天,非接触式红外计数器得到了广泛的应用。本设计采用一对红外发射接收管作为红外计数器的信号检测头,具有价格低廉,抗干扰性好,结构简单,操作方便等特点。指导思想是利用红外发光管发射红外线,红外接收管接收此红外线,并将其放大、整流形成低电平信号.当有人或物挡住红外光时,接收数码管没有接收到红外信号,放大器将输出高电平,同时将这个电平信号送入单片机进行控制计数,并
2、且使数码管显示数值。这样就得到要统计的人或物的数量。关键字:单片机;红外对射管;LED 数码管 AbstractRapid development in the pattern of todays society, more and more of the pipeline of products and a variety of business occasions need to automatically count. Based on SCM products constitute automatic counter has the advantages of intuitive an
3、d accurate count, now in a variety ofcommonly used in industry. This article is designed to counter radio-style method using infrared,interference immunity and high reliability.The design of the guiding idea is to use infrared emission infrared LED, infrared receiver toreceive the infrared, and enla
4、rge, forming high commutation signal. When persons or blockinfrared light, the receiver does not receive infrared control signals, the amplifier the output low,while the level control signal into the microcontroller counts, and by decoding the digital displaydrive circuit values. This will be the nu
5、mber of persons or things to statistics.The AT89C51 microcontroller chip design applications as a core, 4 LED digital tube, the useof infrared LM324 chip count, and add the alarm function. This implementation method has theadvantage of simple circuit, reliable, real-time, simple operation, easy prog
6、ramming and so on.Key words: SCM; infrared shooting tube; LED digital tube目 录摘 要IAbstractII1 绪论11.1 前言11.2 背景与意义11.2.1 国内外研究的概况11.2.2 研究主要成果21.2.3 发展趋势31.3 设计任务42 基于单片机构成的产品自动计数器的设计52.1 方案论证与选择52.2 系统总体框图和原理62.3 主控芯片简介72.3.1 单片机的发展及趋势72.3.2 51系列单片机的主要特点83 红外线计数器硬件设计103.1 单片机最小系统的设计103.2 红外线检测电路113.2
7、.1 红外线发射电路113.3 计数显示部分123.4 蜂鸣器报警电路124 红外线计数器软件设计134.1 主程序设计134.2 子程序设计144.2.1 LED显示程序设计144.2.2 蜂鸣器报警程序设计155 系统调试175.1 系统的硬件调试175.2 软件调试176 结论18参考文献19附录201 绪论1.1 前言在当今社会飞速发展的格局下,厂家基本采用流水线技术进行产品生产作业,而怎样对其线上的产品进行实时的、有效率的、精确的自动计数成为广大生产厂家十分关注的问题。传统的机械式或电子式计数器(主要是用数字电路集成组件组成)电路比较复杂,元器件数量较多,故障率较高,维修比较困难,而
8、且设置预定数值不太方便,功能不易更改且功能过于单一,适用范围较窄。而基于单片机为核心控制的计数器有着能够实时,精确,可靠,稳定等计数优点已成为广大厂家的首选自动计数的装置。1.2 背景与意义电子计数器到目前为止已有30 多年的发展史。早期,设计师们追求的目标主要是扩展计数范围,再加上提高计数精度、稳定度等,这些也是人们衡量电子计数器的技术水平,决定电子计数器价格高低的主要依据.目前这些基本技术日臻完善,成熟.应用现代技术可以轻松地将电子计数器的计数上限扩展到无限大。当今,单片微型计算机技术迅速发展,基于单片机技术开发的计数设备和产品广泛应用到各个领域,单片机技术产品和设备促进了生产技术水平的提
9、高.企业迫切需要大量熟练掌握单片机技术并能开发、应用和维护管理这些智能化产品的高级工程技术人才.单片机以体积小、功能强、可靠性高、性能价格比高等特点,已成为实现工业生产技术进步和开发机电一体化和智能化测控产品的重要手段。已经实现或者部分实现,但要真正完美的实现这些目标,对于设计者来说,还有许多工作要做,而不是表面看来似乎发展到头了.电子计数器是一种多功能的电子测量仪器。它利用电子学的方法测出一定时间内输入的脉冲数目,并将结果以数字形式显示出来。1.2.1 国内外研究的概况计数器是工业生产流水线上重要的组成部分,其实时的、有效率的、精确的自动计数在很大程度上解决了工业生产的问题决定了生产效率成为
10、广大厂家的首选自动计数的装置。但计数器种类繁多,如何选择一个方便有多功能的计数器成了广大厂家非常关心的核心老问题,如何让计数器超越简单的技术功能,成为生产流水线上的一把利器。而基于单片机的红外线计数器能够满足广大厂家的要求,它拥有实时,精确,可靠,稳定等技术有点而且体积小、功能强、可靠性高、性能价格比高等特点。利用单片机做红外线电子计数器能够使产品的稳定性、实时性、功能和性价比得到大幅的提高。早期的单片机都是8位或4位的。其中最成功的是INTEL8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统单片机比专用处理器更适合应用于嵌入式系统,因此它得到
11、了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。如今的产品自动计数器大多采用非接触式的计数触发方式。早已开发出了多种型号的专用检测芯片.而利AT89C2051 为控制单元、辅以多种外围硬件搭配而成的计数装置已成为现在自动计数应用领域的潮流。而如何提高自动计数器的实时性,抗干扰能力、稳定性是现在国内外自动计数生产厂家研究的主要课题.产品自动计数器主要用于工厂的流水线上,往往是处于高温,高噪声等极度恶劣的环境当中.而MCS-51 系列单片构成的产品自动计数器在这种环境中工作时往往会出现误动作(单片机程序跑飞)或死机(程序进入死循环)
12、.这也是基于单片机构成的产品自动计数器存在的致命问题1.2.2 研究主要成果通过查阅相关德文献期刊书籍,对对红外线德一些研究成果如下:在作者王送德,朱小龙的对射式红外线计数器的设计文章中把红外线发射、接收模块作计数传感器代替了传统的光电传感器、红外线传感器。经作者实际应用验证,该方法在数据采集这方面它的抗干扰能力强,且在该设计中还使用了加密、解码技术,故工作稳定,计数准确,但是该实验是采用对射式的,所以发射管和接受管的方向一定要对正,这在现实中可能会造成不必要的麻烦。在作者谢洪的用单片机控制红外编码探测障碍物文章中采用由单片机控制发射一定意义的红外编码脉冲串,同时,单片机接收该脉冲串。如果接受
13、到的信号和发射的信号基本一致,才判断为有障碍物的存在。经作者实际应用验证,这种方法能够较强的降低虚警率,具有较强的抗干扰性。作者在该文章中提到3种编码的方案:(1)发送较短的编码串(1016 位),判断时间约610 ms。在接收过程中,不能有一位的误码,否则认为是干扰,要等待下一次的障碍检测。这种方案在检测过程中,不能存在干扰。(2)发送大于16 位的编码串(1632 位),判断时问约1020 ms。对接收“0”和“1”的编码误码统计,其中可以根据应用场合的需要,存在12 位“0”的误码和13 位“1”的误码,这样能有效提高抗干扰能力。(3)发送大于32 位编码串,判断时间20 ms。根据实际
14、情况来分析接收的编码,以判断障碍的存在。且这三种方案都在该实验中得到验证。在作者王松德,梁会琴,王丹的红外线计数器的设计与制作文章中采用一体化红外线传感器TX05D,由于TX05D 使用了调制技术和采用带补偿的抗干扰器件,在一定程度上解决了抗干扰问题,使白天黑夜的灵敏度基本保持一致。计数部分使用十进制计数7段译码器二合一集成电路CD4033 可直接驱动LED 数码管实现高亮度数字显示电源部分使用变压器降压集成稳压器稳压可确保电路工作更稳定使用更安全。该设计电路和控制方案简洁明了,容易实现,具有应用推广价值。在作者戴培山,冯成德,刘栋的基于keil+c51 的红外遥控器解码设计文章中采用HS90
15、12 芯片,它是一块用于红外遥控系统中的专用发射集成电路,功耗低,外围元件少。它的发射码采用脉冲位相调制方式(PPM)进行编码,效率高,抗干扰性能好。HS9012的振荡频率为fesc=455kH,高电平脉冲的宽度(即内部工作时钟周期)Tm=256lose=0.56ms。根据计时/计数器T0 的数值来判断脉冲的间隔,进而判断一位二进制遥控码是“0”,“1”,还是“引导码”或是干扰码。这样用两个中断可以提高解码效率,节省解码时间。该设计接受装置简单明了,设计的keilc51 程序通用性好,编写效率高,可以方便的移植到其它微控制器上,可靠性好,不受其他遥控器码的干扰。在作者王礼广、胡解生、熊东平、肖
16、秀如的基于RS-485 的静脉注射网络监控系统的设计与实验文章中采用RS-485收发器,该收发器采用平衡驱动和差分接收,具有抑制共模干扰的能力,RS-485接受器灵敏度可以达到4-200 mv,在100 kbits速率下电缆长度可以达到l200 m,如果通信距离缩短,最大速率可达10 Mbits。该系统性能稳定、安全可靠、操控直观方便。1.2.3 发展趋势电子计数器到目前为止已有30多年的发展史。早期,设计师门追求的目标主要是扩展计数范围,再加上提高计数精度、稳定度等,这些也是人们衡量电子技术器的技术水平,决定电子计数器价格高低的主要依据,目前这些基本技术日臻完善,成熟。应用现代化技术可以轻松
17、地将电子计数器的计数上限扩展到无限大。随着单片微型计算机迅速发展,基于单片机技术开发的计数设备和产品广泛应用到各个领域,单片机技术产品和设备促进生产技术水平的提高。企业迫切需要大量熟练掌握单片机技术并能开发、应用和维护管理这些智能化产品的高级工程技术人才,单片机以体积小、功能强、可靠性高、性能价格比高等特点。已经实现或部分实现,但要真正完美的实现这些目标,对于设计者来说,还有许多工作要做,而不是表面看来似乎发展到头了。红外线电子计数器是一种多功能的电子测量仪器。它利用红外线发射器发射红外线,接收器接收由物体阻挡或直射的红外线,把接受到的红外线信号转换为电脉冲,并由放大电路进行多级放大,通过计数
18、芯片分析,计算出遮拦的次数,再由数码译码器翻译,通过动态数字显示方式显示被测物体遮挡的次数从而进行计数。随着红外技术的提高,在军事、医学等多种领域得到应用,在军事上可以用来防止敌人的侵入,在医学上可以查看病人的病情等。红外线电子计数器作为工业生产流水线上的重要组成部分,对任何一个大型乃至中、小型企业都是不可或缺的。它能够快速准确的统计产品的数量提高生产的效率,节约大量的人力资源,提高厂家的竞争力。并且随着红外计数器的不断改进,抗干扰能力增强,可以在许多恶劣的地方代替科研人员进行科学工作。1.3 设计任务本设计主要任务是以单片机为主控芯片来进行软件控制,能正常进行数据计数。基于单片机构成的产品自
19、动计数器研究的主要内容包括:如果构成检测电路、MCS-51 单片机用何种方式对外部计数脉冲进行计数显示控制、LED 显示驱动模块的选择、MCS-51 单片机的扩展。在这个设计中主要需要解决的问题便是如何提高MCS-51单片机的抗干扰能力以及稳定性。主要技术指标:(1)显示并能计数;(2)具有报警功能;(3)具有较强的抗干扰性。2 基于单片机构成的产品自动计数器的设计2.1 方案论证与选择方案一、如图1所示:图1 方案一原理阐述:专业检测芯片形成计数后送入控制单元AT89C51单片机,通过对它片内计数、显示编程。74LS245是LED驱动芯片,可以同时驱动4个7段数码管,AT24C02是EEPR
20、OM模块,可以保存单片机运算时的中间有用结果的芯片,是突然掉电,关断电源或瞬间电源电压不稳定时,不会造成数据丢失或数据误写,也可以在上电后从中读出其保存的数据内容,大大增强了抗干扰的能力。方案二 如图2所示:红外计数STC89C52MCU数码管显示蜂鸣器图2 方案二原理阐述:红外发射电路和红外接收电路(由LM324为核心)构成红外检测单元及形成计数脉冲,计数显示部分使用了使用共阴数码管。当红外线被阻挡时,P32口由高电平变为低电平,形成下降沿,单片机进行计数,并在数码管上显示。方案三 如图3所示:图3 方案三原理阐述:利用红外接收发射管的特性(即红外接收头在有红外光电阻原理分压)可取基准电压,
21、然后通过电压比较器可输出高低电平,当有红外光照射的时候,红外接收管串联的电阻分得的电压很大,可使电压比较器LM324输出为低电平;当无红外光照射的时候,红外接收头串联电阻分得的电压很小,可使电压比较器LM324输出为高电平,然后通过单片机处理,可使输出精准的计数值。以上三个方案各有自己的优点:方案一既可完美的实现产品自动计数功能且能让系统处于异常状态和抗干扰时通过外围专用芯片到非常好的解决,外围电路架设相对简单、在市场上属于高端自动计数产品。同时它也暴露出一个重大问题;由于成本太贵的原因此类产品并没有得到普及。如果用此方案进行设计只需要了解各专用芯片的引脚功能以及外围连接方法就可以实现自动计数
22、,并没有很好的达到我人做毕业设计的目的,故虽然这个方案最完美的一个方案也只有舍弃。方案二是这次毕业设计用的方案,该方案价格低廉、计数精确,且在系统处于异常状态时,工作也十分稳定,也是属于现在产品自动计数市场上的热销产品,可用于在计数要求比较高的场合中。方案三涉及的知识面广也能达到精确、稳定的自动计数,但也有一个致命的缺点,整个系统的抗干扰力较弱,系统掉电后不能保存数据,在系统牌异常状态时容易出现误操作或死机,故不考虑。2.2 系统总体框图和原理系统总体框图如图4所示:图4 系统总体框图原理:电路的指导思想是红外发射管发射红外线,红外接收管接收红外线,并且接收管当有红外线照射的时候,电阻比较小,
23、当无线外线照射的时候电阻比较大,这样就可以通过一个电压比较器和一个基准电压进行对比,当有光照的时候,红外接收管电阻比较小,那么和其串联的电压分压就会增大,所以电压比较器将会输出一高电平;当无光照射的时候,红外接收管的电阻比较大,这样电压比较器就会输出一个低电平。这个便是外部计数电平信号,这个电平信号送入AT89C51单片机进行计数控制,在经过扩展、显示驱动完成最后的显示过程。2.3 主控芯片简介2.3.1 单片机的发展及趋势在计算机应用控制领域上,如工业控制、汽车、家电等很多控制场合,对控制系统的要求都比较苛刻。例如需要智能高、体积小、成本低、功耗低、抗干扰能力强和可靠性高。不仅传统电气设备无
24、能为力,一般应用性PC 机也不能胜任。在这个背景下,单片机的设想才逐渐成型。单片机就是将计算机的几个基本组成部分集成在单一的芯片上,体积相对较小,很好地满足了对控制系统体积的要求。自从1975 年美国德克萨斯公司开发生产出第一台单片机TMS-1000以来,单片机经历4位8位16位32位的发展过程。最有代表性的Intel公司先后推出了三个系列:MCS-48系列8位单片机、MCS-51系列高档8位单片机、MCS-96/98系列16位单片机。很多控制场合并不需要单片机去完成复杂的数学计算,因此单片机在生产工艺上进行了简化,降低了制造成本。同时采用大批量生产,成本进一步降低。从目前市场上来看,其价格一
25、般都在几元到几十元之间。未来单片机技术的发展趋势将以8位单片机主流,并大力发展专用单片机。很多单片机生产厂家充分考虑到用户的需求,将一些常用的功能部件,如ADC(模/数转换器)、DAC(数/模转换器)、PWN(脉冲产生器)以及LCD(液晶)驱动器等集成到芯片内部、尽量做到单片化;同时,用户还可以提出要求,由厂家为其量身定做(SoC 设计)或自主设计。另外,随着科技发展,程序存储器容量将进一步扩大。当存储空间足够大时,可嵌入一些软件(如平台软件、虚拟外设软件、系统诊断管理软件等)以提高系统开发率。2.3.2 51 系列单片机的主要特点图5单片机引脚排列AT89S52单片机引脚排列如图5(1)VC
26、C:电源电压+5V。 (2)GND:接地。(3)P0口:P0口是8位漏极开路型双向I/O口,其既可作为地址/数据总线复用口,又可作为通用I/O口使用。在访问外部数据存储器或程序存储器时,该口分时转换低8位地址和数据总线,在访问期间激活内部上拉电阻。在作为通用I/O口使用时:作为输出口用时,每位能驱动8个TTL逻辑门电路,在驱动NMOS电路时,需外接上拉电阻。作为输入端口用时,要先向锁存器写l,这时输出级2个FET均截止,可用作可作为高阻抗输入。(4)P1口:Pl是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(接收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电
27、阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。(5)P2口:P2是一个带有内部上拉电阻的8位双向I/O口,该口的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(如执行MOVX A,DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX A,RI指令)时,P2口线上的内容在整个访问期间不改变。 (6)
28、P3口:P3口是一个带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:端口引脚第二功能P3.0 RXD 串行输入口P3.1 TXD 串行输出口P3.2 INT0 外部中断0P3.3 INT1 外部中断1P3.4 T0 定时计数器0外部输入P3.5 T1 定时计数器1外部输入P3.6 WR 写选通P3.6 RD 读选通(7)EA/VPP:外部访问允许端
29、。EA端保持低电平时,CPU访问外部程序存储器;EA端保持高电平时,CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。(8)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。(9)ALEPROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的16输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。每当访问外部数据存储器时将跳过一个ALE脉冲。(10)XTAL1:振荡器反相放大器及内部时钟发生器的输入端。(11) XTAL2:
30、振荡器反相放大器的输出端。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2没有十分严格的要求,如果使用石英晶体,推荐电容值为30pF10pF。3 红外线计数器硬件设计3.1 单片机最小系统的设计图6 电源供电电路如图6所示电源供电部分采用变压器降压、桥式整流、电容器滤波、三端稳压器7805稳压后供电。电源用220V 市电经变压器T1降压成12V交流电,然后经四个整流二极管(D1D4)组成的桥式整流变成直流电压,经C1滤波后送入7805 芯片稳压成5V直流电源供红外线发射、接收电路、AT89C51等供电。C1和C2的作用都是起到对输出电压的
31、滤波作用。STC89C51单片机的最小系统设计如图7,8所示。. 图7 时钟电路 图8 复位电路51单片机的最小系统由单片机、晶振电路、复位电路和P0的上拉电阻组成。其介绍如下:时钟电路:时钟电路(图6)是由电容C4、C5和12MHz的晶振组成,接在单片机的第18和19脚(即XTAL1和XTAL2端)。因其采用的是振荡频率12MHz的晶振,所以其软件的一个机器周期为1us。复位电路:C1和R2构成了复位电路。刚开始上电时时,C1瞬间相当于短路,C1 两端保持0V电压,VCC的电源电压就都加在了R2上,因此在单片机9脚RST上变成了高电平,此后C1上逐渐充电,即在C1上出现电压,R2上的电压开始
32、下降,最后单片机9脚RST上变成了低电平。在此过程中只要满足单片机9脚RST上的高电平持续24个振荡周期即可使单片机复位。3.2、红外线检测电路3.2.1 红外线发射电路 图9 红外线检测部分如图9所示,红外线检测部分采用一对红外发送接收管完成,当电路正常工作时,无障碍物遮挡,红外接收头有红外线照射,这时,红外接收头的电阻很小,大部分电压都加在R3上,这正是电压比较器LM324的正向输入电压,而负向输入电压由R4和R5分压得到,而R3分得的电压要大于此基准电压值,故这时电压比较器LM324输出高电平;当在红外发射接收管间有一不透光的障碍物时,红外接收头无红外线照射,这时红外接收头的电阻很大,大
33、部分电压都加在红外接收头上,这也是电压比较器LM324的正向输入电压,而负向输入电压也是由R4和R5分压得到,和原来电压一样,这时,R3分得的电压要小于此基准电压值,故这时电压比较器LM324输出低电平。3.3 计数显示部分计数显示部分由单片机AT89C51控制完成。基本原理为当红外检测部分检测到有产品经过时,红外接收电路LM567 芯片的8输出口将产生一个低电平信号,这个信号将供给单片机进行计数控制;显示部分是通8 位LED数码显示管显示。计数控制部分是将计数脉冲(负脉冲有效)送入单片机AT89C51两个中断入口的INT0入口,经过单片机内部对这个中断信号进行计数编程构成.AT89C51与M
34、CS-51 指令系统完全兼容。提供以下标准功能:4K字节FLASH 闪烁存储器、128字节内部RAM、32个I/O口线、两个16位定时/计数器、一个5 向量两级中断、一个全双工串行通信口、片内振荡器及时钟电路。同时AT89C51可降至0HZ的静态逻辑操作,并支持两个软件的节电工作模式。空闲方式停止CPU 的工作,但是允许RAM、定时/计数器、串行通信口及中断系统继续工作。掉电后保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件。3.4 蜂鸣器报警电路本设计采软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。当所测温度超过获低于所预设的温度时,数据口相应拉高电平,报警
35、输出。(也可采用发光二级管报警电路,如过需要报警,则只需将相应位置1,当参数判断完毕后,再看报警模型单元ALARM 的内容是否与预设一样,如不一样,则发光报警)报警电路硬件连接见下图10。图10 蜂鸣器电路连接图4 红外线计数器软件设计STC89C52RC 单片机可以用汇编语言和C语言进行编程。汇编语言与机器指令一一对应,所以用汇编语言编写的程序在单片机里运行起来效率较高,而且对于红外计数器数据的读写上,所用到的语句比较简单易懂。而C语言程序可读性高,更便于理解。本设计使用C语言编程。4.1 主程序设计第一次开机,系统进行初始化,LED显示51芯片的初始数字,并开始运行。如果这个时候按下S2键
36、,则LED数码管的前两位则累加,该数字作为本次实验的报警触发数据,后两位数码管则位红外线当前的计数,当显示数据达到触发数据则蜂鸣器报警。当此时按下S1键,则蜂鸣器报警停止且后两位数码管数据清零,重新进行计数。主程序流程图如图11所示:图11 主程序流程图void main()ET0=1;IT0=1;EX0=1;EA=1;beep=1;num=10;while(1)keyClear();keySet();BJ();process(count);display();设定左边两位校对数码管初始值E=10,设定右边两位计数数码管初始值N=0。4.2 子程序设计4.2.1 LED 显示程序设计用NPN
37、三极管驱动LED数码管动态显示电路,编程就是利用人视觉的暂留性,不断地轮流输出每个数码管位的数据,达到不闪烁的效果,编程上还是比较简单的。其难点就在把4 位一体共阴数码管分成两部分并且能够进行0999的计数,这么做是为了能够清楚的反映实验的效果,左边的两位为给定的数据并且能够通过按键S2进行累加达到改变数据而不用通过修改程序来改变的效果,后两位则是红外对管所测得遮挡的次数。另外,就是显示中闪烁的功能。常用的方法是利用单片机的中断产生方波来达闪烁的功能,而本次设计则采用不断调用几个显示子程序来达到闪烁的效果,如当要闪烁秒位时,则调用完整的显示子程序一段时间,然后再调用缺少秒位的显示子程序一段时间
38、,这样就达到了闪烁的效果。而整个闪烁程序是通过扫描一个标志位来实现的,标志位则是由键控制。void process(uint i)dat0=num/10;dat1=num%10;dat2=i/10;dat3=i%10;把4 位LED 数码管分成两部分并赋予不同功能。void keySet()if(key2=0)delayms(10);if(key2=0)num+;while(!key2)process(count);display();通过按键S2可以改变校对数码管的初始值进行累加。加强可操控性。4.2.2 蜂鸣器报警程序设计void BJ()if(count=num)beep=0;elseb
39、eep=1;当后两位数码管的数据大于等于给定的数字则蜂鸣器发声报警,当按下S1 按钮,则后两位数据清零进行新一轮的计数且蜂鸣器停止报警,从而达到计数的意义。5 系统调试5.1 系统的硬件调试调试工作可分硬件调试和软件调试两个部分,调试方法如下:首先,硬件调试主要是先制作硬件电路板,然后用万用表等工具对电路检查,最后应用程序进行功能调试。硬件调试比较费时,需要细心和耐心,也需要熟练掌握电路原理。然后,用仿真软件进行软件调试,比如单片机C51编辑软件KEIL,该软件提供一个集成开发环境uVision,它包括C编辑器、宏编辑器、连接器、库管理和一个功能强大的仿真调试器。通过编译、运行,可以检查程序错
40、误。但应用此方法,仍需要十分了解所使用元器件的工作方式和管脚连接方式。5.2 软件调试本次设计则是直接完成电路的硬件设计,出现的硬件问题几乎没有,主要在软件的程序上进行调试。在软件调试过程中,曾遇到以下问题:当硬件初次开机的时候,发现LED亮度不够均匀。进行分析,是程序设里面对显示程序的延时不够造成的。在调试按键的时候,当一按下任意一个按键,系统显示的就处于定格状态,再按下按键则没有任何反应。查询程序,由于在延时和循环程序里,对Rx寄存器重复使用造成的,经过合理分配使用,问题解决。由于本硬件设计中,对P0是复用的状态,显示程序的段码和时钟芯片的数据,都是通过P0传输的。在编程中,忽略了关闭另个
41、数据的通信,导致显示有余光的状态。6 结论在研究这个毕业设计的过程当中曾经让我遇到了许多小麻烦:在检测单元的选择上是选择光电传感器还是红外对射式曾经让我迷茫.在MCS-51单片机的选择上是选择内部具有4KB字节的闪烁存储器的AT89C51 还是选择内部具有8KB 字节的闪烁存储器的AT89C2051 曾经也让我困惑不已(其实任选一款都可以实现)。而最让我感到迷茫的是否利用8155 进行I/O 口的扩展,其实通过设计要求可以看出不难看出根本不需要对AT89C51进行扩展就可有完成0-999999 的计数显示功能(采用7 段数码管显示可以不扩展)。基于单片机构成的产品自动计数器能够实现实时、稳定、
42、精确的计数。如果要对这个课题进行深入的研究可以采用AT89C2051 或者AT89C52为控制单元的产品自动计数器在配合专用的掉电数据保护芯片、单片机专用保护芯片等就可以很好的提高整个系统的抗干扰能力。产品自动计数器的设计的抗干扰问题永远是设计者们研究的课程!只要能有效的遏制这个缺陷形成一个优质的自动技术产品指日可待!(MCS51 单片机允许工作的温度范围:-55-150,正产工作的频率范围上限:24MHZ33MHZ)。通过本次设计,对单片机的内部模块更加熟悉,使用上也更加的清晰,对于今后用单片机设计产品提供了极大的帮助,并且培养了良好的编程习惯,对子程序命名的规范,和对寄存器的使用上,有了一
43、定的良好意识。参考文献1 王松德,朱小龙对射式红外线计数器的设计J.农业机械学报,2005,36(7).2 王松德,梁会琴,王丹红外线计数器的设计与制作J.农机化研究,2005,5 期.3 陈永甫红外探测与控制电路M北京:人民邮电出版社,2004.6.4 谢洪用单片机控制红外编码探测障碍物J.单片机与嵌入式系统应用,2007,8 期.5 朱金刚,潘志东基于51 系列单片机的串行口扩展技术J.电测与仪表,2003,40(3).6 戴培山,冯成德,刘栋基于keil+c51 的红外遥控器解码设计J.自动化与仪器仪表,2003,6 期.7 王松德,姚丽萍,朱小龙,张须欣近红外传感器在无线遥控计数系统中
44、的应用J.光谱学与光谱分析,2009.12,23(4).8 王礼广,胡解生,熊东平,肖秀如基于RS 一485 的静脉注射网络监控系统的设计与实验J. 南华大学学报,2008,27(9).9 梅海峰红外线光电计数器的设计及制作J.大氮肥,2005,28(5).10 铁牛简易红外线人数统计器J.实用影音技术,2005,9 期.11 杨汉祥,张琦红外计数器的设计J.科技广场,2009 ,7 期.附录一原理图附录二实物图附录三 PCB图致谢本设计在选题及研究过程中得*教授的悉心指导。马老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。马老师一丝不苟的作风,严谨求实的态度,踏
45、踏实实的精神,不仅授我以文,而且教我做人,我对马老师的感激之情是无法用言语表达的。他不仅学识渊博,对专业孜孜以求,精益求精;而且在百忙之余仍然读书不辍,不断探求;为人师表,率先垂范;传道授业,呕心沥血。如果说我从指导老师那里学会了怎样做好学问,那么首先应该说我从导师那里领略了真正的学术精神,导师严谨的治学态度和坚韧的探索精神将使我终生受益。在此,我还要感谢在一起愉快的度过大学生生活的宿舍309 的各位同门,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。特别感谢我的同学,刘子伟,赖章勇等对本课题做了不少工作,给予我不少的帮助。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!