毕业设计(论文)基于51单片机的红外计数器设计.doc

上传人:仙人指路1688 文档编号:3978392 上传时间:2023-03-30 格式:DOC 页数:27 大小:1.51MB
返回 下载 相关 举报
毕业设计(论文)基于51单片机的红外计数器设计.doc_第1页
第1页 / 共27页
毕业设计(论文)基于51单片机的红外计数器设计.doc_第2页
第2页 / 共27页
毕业设计(论文)基于51单片机的红外计数器设计.doc_第3页
第3页 / 共27页
毕业设计(论文)基于51单片机的红外计数器设计.doc_第4页
第4页 / 共27页
毕业设计(论文)基于51单片机的红外计数器设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《毕业设计(论文)基于51单片机的红外计数器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于51单片机的红外计数器设计.doc(27页珍藏版)》请在三一办公上搜索。

1、 毕 业 设 计 论 文基于51单片机的红外计数器设计 指导老师姓名: 专 业 名 称: 电气自动化班 级 学 号: 11137201论文提交日期: 年 月 日论文答辩日期: 年 月 日年 月 日摘 要随着当今社会的飞速发展,越来越多的流水线上的产品和各种公共场所需要进行自动计数。基于单片机构成的产品自动计数器有直观和计数精确的优点,目前已在各种行业中得到广泛应用。数字计数器有多种形式,总体来说有接触式和非接触式两种,在科技发展的今天,非接触式红外计数器得到了广泛的应用。本设计采用一对红外发射接收管作为红外计数器的信号检测头,具有价格低廉,抗干扰性好,结构简单,操作方便等特点。指导思想是利用红

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 S

3、CM products constitute automatic counter has the advantages of intuitive and 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 infrare

4、d emission infrared LED, infrared receiver toreceive the infrared, and enlarge, 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, a

5、nd by decoding the digital displaydrive circuit values. This will be the number 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 thead

6、vantage of simple circuit, reliable, real-time, simple operation, easy programming and so on.Key words: SCM; infrared shooting tube; LED digital tube目 录摘 要2AbstractII第一章 绪论11.1 前言21.2 背景与意义21.2.1 国内外研究的概况21.2.2 研究主要成果31.2.3 发展趋势41.3 设计任务5第二章 基于单片机构成的产品自动计数器的设计52.1 方案论证与选择52.2 系统总体框图和原理72.3 主控芯片简介82.

7、3.1 单片机的发展及趋势82.3.2 51 系列单片机的主要特点9第三章 红外线计数器硬件设计113.1 单片机最小系统的设计113.2、红外线检测电路123.3 计数显示部分12第四章 红外线计数器软件设计134.1 主程序设计144.2 子程序设计154.2.1 LED 显示程序设计15第五章 系统调试175.1 系统硬件调试175.2 系统软件调试18第六章 结论18参考文献19附录一20附录二 实物图21附录三 PCB图21致谢22第一章 绪论1.1 前言在当今社会飞速发展的格局下,厂家基本采用流水线技术进行产品生产作业,而怎样对其线上的产品进行实时的、有效率的、精确的自动计数成为广

8、大生产厂家十分关注的问题。传统的机械式或电子式计数器(主要是用数字电路集成组件组成)电路比较复杂,元器件数量较多,故障率较高,维修比较困难,而且设置预定数值不太方便,功能不易更改且功能过于单一,适用范围较窄。而基于单片机为核心控制的计数器有着能够实时,精确,可靠,稳定等计数优点已成为广大厂家的首选自动计数的装置。1.2 背景与意义电子计数器到目前为止已有30 多年的发展史。早期,设计师们追求的目标主要是扩展计数范围,再加上提高计数精度、稳定度等,这些也是人们衡量电子计数器的技术水平,决定电子计数器价格高低的主要依据.目前这些基本技术日臻完善,成熟.应用现代技术可以轻松地将电子计数器的计数上限扩

9、展到无限大。当今,单片微型计算机技术迅速发展,基于单片机技术开发的计数设备和产品广泛应用到各个领域,单片机技术产品和设备促进了生产技术水平的提高.企业迫切需要大量熟练掌握单片机技术并能开发、应用和维护管理这些智能化产品的高级工程技术人才.单片机以体积小、功能强、可靠性高、性能价格比高等特点,已成为实现工业生产技术进步和开发机电一体化和智能化测控产品的重要手段。已经实现或者部分实现,但要真正完美的实现这些目标,对于设计者来说,还有许多工作要做,而不是表面看来似乎发展到头了.电子计数器是一种多功能的电子测量仪器。它利用电子学的方法测出一定时间内输入的脉冲数目,并将结果以数字形式显示出来。1.2.1

10、 国内外研究的概况计数器是工业生产流水线上重要的组成部分,其实时的、有效率的、精确的自动计数在很大程度上解决了工业生产的问题决定了生产效率成为广大厂家的首选自动计数的装置。但计数器种类繁多,如何选择一个方便有多功能的计数器成了广大厂家非常关心的核心老问题,如何让计数器超越简单的技术功能,成为生产流水线上的一把利器。而基于单片机的红外线计数器能够满足广大厂家的要求,它拥有实时,精确,可靠,稳定等技术有点而且体积小、功能强、可靠性高、性能价格比高等特点。利用单片机做红外线电子计数器能够使产品的稳定性、实时性、功能和性价比得到大幅的提高。早期的单片机都是8位或4位的。其中最成功的是INTEL8031

11、,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。如今的产品自动计数器大多采用非接触式的计数触发方式。早已开发出了多种型号的专用检测芯片.而利AT89C52 为控制单元、辅以多种外围硬件搭配而成的计数装置已成为现在自动计数应用领域的潮流。而如何提高自动计数器的实时性,抗干扰能力、稳定性是现在国内外自动计数生产厂家研究的主要课题.产品自动计数器主要用于工厂的流水线上,往往是处于高温,高噪声等极

12、度恶劣的环境当中.而MCS-52 系列单片构成的产品自动计数器在这种环境中工作时往往会出现误动作(单片机程序跑飞)或死机(程序进入死循环).这也是基于单片机构成的产品自动计数器存在的致命问题1.2.2 研究主要成果通过查阅相关德文献期刊书籍,对对红外线德一些研究成果如下:在作者王送德,朱小龙的对射式红外线计数器的设计文章中把红外线发射、接收模块作计数传感器代替了传统的光电传感器、红外线传感器。经作者实际应用验证,该方法在数据采集这方面它的抗干扰能力强,且在该设计中还使用了加密、解码技术,故工作稳定,计数准确,但是该实验是采用对射式的,所以发射管和接受管的方向一定要对正,这在现实中可能会造成不必

13、要的麻烦。在作者谢洪的用单片机控制红外编码探测障碍物文章中采用由单片机控制发射一定意义的红外编码脉冲串,同时,单片机接收该脉冲串。如果接受到的信号和发射的信号基本一致,才判断为有障碍物的存在。经作者实际应用验证,这种方法能够较强的降低虚警率,具有较强的抗干扰性。作者在该文章中提到3种编码的方案:(1)发送较短的编码串(1016 位),判断时间约610 ms。在接收过程中,不能有一位的误码,否则认为是干扰,要等待下一次的障碍检测。这种方案在检测过程中,不能存在干扰。(2)发送大于16 位的编码串(1632 位),判断时问约1020 ms。对接收“0”和“1”的编码误码统计,其中可以根据应用场合的

14、需要,存在12 位“0”的误码和13 位“1”的误码,这样能有效提高抗干扰能力。(3)发送大于32 位编码串,判断时间20 ms。根据实际情况来分析接收的编码,以判断障碍的存在。且这三种方案都在该实验中得到验证。在作者王松德,梁会琴,王丹的红外线计数器的设计与制作文章中采用一体化红外线传感器TX05D,由于TX05D 使用了调制技术和采用带补偿的抗干扰器件,在一定程度上解决了抗干扰问题,使白天黑夜的灵敏度基本保持一致。计数部分使用十进制计数7段译码器二合一集成电路CD4033 可直接驱动LED 数码管实现高亮度数字显示电源部分使用变压器降压集成稳压器稳压可确保电路工作更稳定使用更安全。该设计电

15、路和控制方案简洁明了,容易实现,具有应用推广价值。在作者戴培山,冯成德,刘栋的基于keil+c51 的红外遥控器解码设计文章中采用HS9012 芯片,它是一块用于红外遥控系统中的专用发射集成电路,功耗低,外围元件少。它的发射码采用脉冲位相调制方式(PPM)进行编码,效率高,抗干扰性能好。HS9012的振荡频率为fesc=455kH,高电平脉冲的宽度(即内部工作时钟周期)Tm=256lose=0.56ms。根据计时/计数器T0 的数值来判断脉冲的间隔,进而判断一位二进制遥控码是“0”,“1”,还是“引导码”或是干扰码。这样用两个中断可以提高解码效率,节省解码时间。该设计接受装置简单明了,设计的k

16、eilc51 程序通用性好,编写效率高,可以方便的移植到其它微控制器上,可靠性好,不受其他遥控器码的干扰。在作者王礼广、胡解生、熊东平、肖秀如的基于RS-485 的静脉注射网络监控系统的设计与实验文章中采用RS-485收发器,该收发器采用平衡驱动和差分接收,具有抑制共模干扰的能力,RS-485接受器灵敏度可以达到4-200 mv,在100 kbits速率下电缆长度可以达到l200 m,如果通信距离缩短,最大速率可达10 Mbits。该系统性能稳定、安全可靠、操控直观方便。1.2.3 发展趋势电子计数器到目前为止已有30多年的发展史。早期,设计师门追求的目标主要是扩展计数范围,再加上提高计数精度

17、、稳定度等,这些也是人们衡量电子技术器的技术水平,决定电子计数器价格高低的主要依据,目前这些基本技术日臻完善,成熟。应用现代化技术可以轻松地将电子计数器的计数上限扩展到无限大。随着单片微型计算机迅速发展,基于单片机技术开发的计数设备和产品广泛应用到各个领域,单片机技术产品和设备促进生产技术水平的提高。企业迫切需要大量熟练掌握单片机技术并能开发、应用和维护管理这些智能化产品的高级工程技术人才,单片机以体积小、功能强、可靠性高、性能价格比高等特点。已经实现或部分实现,但要真正完美的实现这些目标,对于设计者来说,还有许多工作要做,而不是表面看来似乎发展到头了。红外线电子计数器是一种多功能的电子测量仪

18、器。它利用红外线发射器发射红外线,接收器接收由物体阻挡或直射的红外线,把接受到的红外线信号转换为电脉冲,并由放大电路进行多级放大,通过计数芯片分析,计算出遮拦的次数,再由数码译码器翻译,通过动态数字显示方式显示被测物体遮挡的次数从而进行计数。随着红外技术的提高,在军事、医学等多种领域得到应用,在军事上可以用来防止敌人的侵入,在医学上可以查看病人的病情等。红外线电子计数器作为工业生产流水线上的重要组成部分,对任何一个大型乃至中、小型企业都是不可或缺的。它能够快速准确的统计产品的数量提高生产的效率,节约大量的人力资源,提高厂家的竞争力。并且随着红外计数器的不断改进,抗干扰能力增强,可以在许多恶劣的

19、地方代替科研人员进行科学工作。1.3 设计任务本设计主要任务是以单片机为主控芯片来进行软件控制,能正常进行数据计数。基于单片机构成的产品自动计数器研究的主要内容包括:如果构成检测电路、MCS-52 单片机用何种方式对外部计数脉冲进行计数显示控制、LED 显示驱动模块的选择、MCS-52 单片机的扩展。主要技术指标:(1)显示并能计数;(2)具有清零和复位功能(3)具有较强的抗干扰性。第二章 基于单片机构成的产品自动计数器的设计2.1 方案论证与选择方案一、如图1所示:图2-1 方案一原理阐述:专业检测芯片形成计数后送入控制单元AT89C51单片机,通过对它片内计数、显示编程。74LS245是L

20、ED驱动芯片,可以同时驱动4个7段数码管,AT24C02是EEPROM模块,可以保存单片机运算时的中间有用结果的芯片,是突然掉电,关断电源或瞬间电源电压不稳定时,不会造成数据丢失或数据误写,也可以在上电后从中读出其保存的数据内容,大大增强了抗干扰的能力。方案二 如图2所示:红外对管计数STC89C52MCU数码管显示图2-2 方案二原理阐述:红外发射电路和红外接收电路构成红外检测单元及形成计数脉冲,计数显示部分使用了使用共阴数码管。当红外线被阻挡时,P32口由高电平变为低电平,形成下降沿,单片机进行计数,并在数码管上显示。方案三 如图3所示:图2-3 方案三原理阐述:利用红外接收发射管的特性(

21、即红外接收头在有红外光电阻原理分压)可取基准电压,然后通过电压比较器可输出高低电平,当有红外光照射的时候,红外接收管串联的电阻分得的电压很大,可使电压比较器LM324输出为低电平;当无红外光照射的时候,红外接收头串联电阻分得的电压很小,可使电压比较器LM324输出为高电平,然后通过单片机处理,可使输出精准的计数值。方案四 如图所示555脉冲计数电路红外发射管LED数码管显示电路红外接收管单片机控制ATC89C51图2-4 方案四以上三个方案各有自己的优点:方案一既可完美的实现产品自动计数功能且能让系统处于异常状态和抗干扰时通过外围专用芯片到非常好的解决,外围电路架设相对简单、在市场上属于高端自

22、动计数产品。同时它也暴露出一个重大问题;由于成本太贵的原因此类产品并没有得到普及。如果用此方案进行设计只需要了解各专用芯片的引脚功能以及外围连接方法就可以实现自动计数,并没有很好的达到我人做毕业设计的目的,故虽然这个方案最完美的一个方案也只有舍弃。方案二是这次毕业设计用的方案,该方案价格低廉、计数精确,且在系统处于异常状态时,工作也十分稳定,也是属于现在产品自动计数市场上的热销产品,主要利用红外对管接收高低电平来实现计数。但该方案同时也存在不足,当电源断电后,将无法保存计的数值。方案三涉及的知识面广也能达到精确、稳定的自动计数,但也有一个致命的缺点,整个系统的抗干扰力较弱,系统掉电后不能保存数

23、据,在系统牌异常状态时容易出现误操作或死机,故不考虑。方案四涉及555电路的设计,利用脉冲电路实现计数,但是该方案有其缺点,方案设计难度比较大,且计数比较不准确,且单片机内存较小。2.2 系统总体框图和原理系统总体框图如图2-5所示:红外对管计数STC89C52MCU数码管显示原理:电路的指导思想是红外发射管发射红外线,红外接收管接收红外线,并且红外发射管不断的发射高电平,当有物体遮住红外对管时,产生低电平,触发三极管导通,将低电平信号传送到AT89C52单片机计数端口P32口,实现计数,通过数码管显示,将数值自加1. 2.3 主控芯片简介2.3.1 单片机的发展及趋势在计算机应用控制领域上,

24、如工业控制、汽车、家电等很多控制场合,对控制系统的要求都比较苛刻。例如需要智能高、体积小、成本低、功耗低、抗干扰能力强和可靠性高。不仅传统电气设备无能为力,一般应用性PC 机也不能胜任。在这个背景下,单片机的设想才逐渐成型。单片机就是将计算机的几个基本组成部分集成在单一的芯片上,体积相对较小,很好地满足了对控制系统体积的要求。自从1975 年美国德克萨斯公司开发生产出第一台单片机TMS-1000以来,单片机经历4位8位16位32位的发展过程。最有代表性的Intel公司先后推出了三个系列:MCS-48系列8位单片机、MCS-52系列高档8位单片机、MCS-96/98系列16位单片机。很多控制场合

25、并不需要单片机去完成复杂的数学计算,因此单片机在生产工艺上进行了简化,降低了制造成本。同时采用大批量生产,成本进一步降低。从目前市场上来看,其价格一般都在几元到几十元之间。未来单片机技术的发展趋势将以8位单片机主流,并大力发展专用单片机。很多单片机生产厂家充分考虑到用户的需求,将一些常用的功能部件,如ADC(模/数转换器)、DAC(数/模转换器)、PWN(脉冲产生器)以及LCD(液晶)驱动器等集成到芯片内部、尽量做到单片化;同时,用户还可以提出要求,由厂家为其量身定做(SoC 设计)或自主设计。另外,随着科技发展,程序存储器容量将进一步扩大。当存储空间足够大时,可嵌入一些软件(如平台软件、虚拟

26、外设软件、系统诊断管理软件等)以提高系统开发率。2.3.2 51 系列单片机的主要特点图2-6单片机引脚排列AT89C52单片机引脚排列如图6(1)VCC:电源电压+5V。 (2)GND:接地。(3)P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时要求外接上拉电阻(4)P1口:P1

27、是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash编程和程序校验期间引脚号功能特性P1.0T2,时钟输出P1.1T2EX(定时/计数器2)(5)P2口:P2是一个带有内部上拉电阻的8位双向I/O口,该口的输出缓冲级可驱动4个TTL逻辑门电路。对端口

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

29、输出电流(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:外部访问允许端。EA端保持低电平时,CPU访问外部程序存储器;EA端保持高电平时,CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。(8)RST:复位输入。当振荡器工作时,RST引脚出现两个机

30、器周期以上高电平将使单片机复位。(9)ALEPROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的16输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。每当访问外部数据存储器时将跳过一个ALE脉冲。(10)XTAL1:振荡器反相放大器及内部时钟发生器的输入端。(11) XTAL2:振荡器反相放大器的输出端。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2没有十分严格的要求,如果使用石英晶体,推荐电容值为30pF10pF。第三章 红外线计数器硬件设

31、计3.1 单片机最小系统的设计图3-1电源供电电路如图所示电源电路采用直流5v供电,通过开关1脚和4脚接通实现供电,2脚和5脚断开实现断电,STC89C51单片机的最小系统设计如图8,9所示。. 图3-2 时钟电路 图3-3 复位电路51单片机的最小系统由单片机、晶振电路、复位电路和P0的上拉电阻组成。其介绍如下:时钟电路:时钟电路(图7)是由电容C4、C5和12MHz的晶振组成,接在单片机的第18和19脚(即XTAL1和XTAL2端)。因其采用的是振荡频率12MHz的晶振,所以其软件的一个机器周期为1us。复位电路:C3,R1和按键S2构成了复位电路。刚开始上电时时,C瞬间相当于短路,C3

32、两端保持0V电压,VCC的电源电压就都加在了R1上,因此在单片机9脚RST上变成了高电平,此后C3上逐渐充电,即在C3上出现电压,R1上的电压开始下降,最后单片机9脚RST上变成了低电平。在此过程中只要满足单片机9脚RST上的高电平持续24个振荡周期即可使单片机复位。3.2、红外线检测电路 图3-4红外线检测部分如图10所示,红外线检测部分采用一对红外发送接收管完成,当电路正常工作时,无障碍物遮挡,红外接收头有红外线照射,红外对管D1和D2之间,不断地接受高电平信号,当有物体遮住光时,红外对管的接受管D2将无法导通,此时三极管Q1接收高电平信号实现触发导通,将低电平信号传送给单片机实现计数加1

33、. 3.3 计数显示部分计数显示部分由单片机AT89C52控制完成。基本原理为当红外检测部分检测到有物体经过时,红外接收电路一个低电平信号,这个信号将供给单片机进行计数控制;显示部分是通过4个8 位LED数码显示管显示。本次设计中采用的是数码管的共阴级接法,共阴级接法在应用是将公共机COM接到地线GND上,当某一段发光二极管的阳极为高电平时,相应字段就点亮,反之为低电平时,相应字段就不亮。图3-5 所示数码管的结构示意图计数控制部分是将计数脉冲(负脉冲有效)送入单片机STC89C52两个中断入口的INT0入口,经过单片机内部对这个中断信号进行计数编程构成,如图所示将4个数码管通过上拉阻排连接成

34、共阴级电路图3-6 数码管显示电路第四章 红外线计数器软件设计STC89C52 单片机可以用汇编语言和C语言进行编程。汇编语言与机器指令一一对应,所以用汇编语言编写的程序在单片机里运行起来效率较高,而且对于红外计数器数据的读写上,所用到的语句比较简单易懂。而C语言程序可读性高,更便于理解。本设计使用C语言编程。4.1 主程序设计第一次开机,系统进行初始化主程序主程序流程图如图11所示:初始化判断是否有脉冲,有脉冲计数加1判断是否有复位按键S2按下否图4-1主程序流程图void main() /主函数DataLoad();TimeInit();EA = 1;TR0 = 1; while(1) i

35、f(IN=0) /如果有计数脉冲Delay_1ms(10); if(IN=0)while(!IN);Count+; /计数加1if(Clear=0) /如果清零Delay_1ms(10); if(Clear=0) Count=0; /计数清零 while(!Clear); 4.2 子程序设计4.2.1 LED 显示程序设计用NPN 三极管驱动LED数码管动态显示电路,编程就是利用人视觉的暂留性,不断地轮流输出每个数码管位的数据,达到不闪烁的效果,编程上还是比较简单的。uchar code table10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7

36、f,0x6f;/数码管断码sbit IN = P32; /计数接口sbit Clear = P10; /清零接口 sbit S0 = P27; /数码管位选sbit S1 = P26;sbit S2 = P25;sbit S3 = P24;/4 位LED 数码管每一位的计数void DataLoad(void) /显示数据转换成数码管的缓存 buff0 = tableCount / 1000; buff1 = tableCount % 1000 / 100; buff2 = tableCount % 100 / 10 ; buff3 = tableCount % 10; if(buff0=0x

37、3f) / 如果最前面有0 消除掉 buff0=0x00; if(buff1=0x3f) buff1=0x00; if(buff2=0x3f) buff2=0x00; void Select(uchar num) /数码管位选设置 switch(num) case 0: S0 = 0; S1 = 1; S2 = 1; S3 = 1; ; break; case 1: S0 = 1; S1 = 0; S2 = 1; S3 = 1; ; break; case 2: S0 = 1; S1 = 1; S2 = 0; S3 = 1; ; break; case 3: S0 = 1; S1 = 1; S

38、2 = 1; S3 = 0; ; break; default: S1 = S2 = S3 = S0 = 1; 4.2.2 定时器程序的设计和延时程序的设计void TimeInit(void) /定时器初始化 TMOD = 0X01; /T0 工作在16位定时模式 TL0=(65535-1000)%256; TH0=(65535-1000)/256; ET0 = 1;void Timer0() interrupt 1 /定时器0服务函数 TL0=(65535-1000)%256; TH0=(65535-1000)/256; DataLoad(); Display(dis_cnt); dis_

39、cnt+; if(dis_cnt=4) dis_cnt = 0;延时函数的设计#include delay.h#include typedef.h/*微秒延时函数 (16+n*9)us 精确延时函数 */void delay_1us(uint n) while(n-);/* i*1ms延时 */void Delay_1ms(uint i) uint x,j;for(j=0;ji;j+)for(x=0;x123;x+);通过定时函数和延时函数的调用可以有效地实现数码管的精确,计数。第五章 系统调试5.1 系统硬件调试调试工作可分硬件调试和软件调试两个部分,调试方法如下:首先,硬件调试主要是先制作

40、硬件电路板,然后用万用表等工具对电路检查,最后应用程序进行功能调试。硬件调试比较费时,需要细心和耐心,也需要熟练掌握电路原理。然后,用仿真软件进行软件调试,比如单片机C52编辑软件KEIL,该软件提供一个集成开发环境uVision,它包括C编辑器、宏编辑器、连接器、库管理和一个功能强大的仿真调试器。通过编译、运行,可以检查程序错误。但应用此方法,仍需要十分了解所使用元器件的工作方式和管脚连接方式。5.2 系统软件调试本次设计则是直接完成电路的硬件设计,出现的硬件问题几乎没有,主要在软件的程序上进行调试。在软件调试过程中,曾遇到以下问题:当硬件初次开机的时候,发现LED亮度不够均匀。进行分析,是

41、程序设计里面对显示程序的延时不够造成的。当再次开机时,发现数码管,不计数,然后就行认真的分析,才发现是红外对管的距离太远,导致两管之间红外检测困难,这时通过对距离调整,才实现了红外信号检测的准确性。当按下复位按键时时,数码管不能够清零,此时先检查硬件设施,接着检查程序,后来发现是按键焊接存在问题,通过及时解决,数码管实现清零正常。第六章 结论在研究这个毕业设计的过程当中曾经让我遇到了许多小麻烦:在检测单元的选择上是选择光电传感器还是红外对射式曾经让我迷茫.在MCS-51单片机的选择上是选择内部具有4KB字节的闪烁存储器的AT89C51 还是选择内部具有8KB 字节的闪烁存储器的AT89C52

42、曾经也让我困惑不已(其实任选一款都可以实现)。最让我迷茫的是,红外检测电路,需不需要脉冲电路来实现。基于单片机构成的产品自动计数器能够实现实时、稳定、精确的计数。要对这个课题进行深入的研究可以采用AT89C2051 或者AT89C52为控制单元通过在本次设计,对单片机的内部模块更加熟悉,使用上也更加的清晰,对于今后用单片机设计产品提供了极大的帮助,并且培养了良好的编程习惯,对子程序命名的规范,和对寄存器的使用上,有了一定的良好意识。通过本次设计,无论是在单片机的的硬件设施上,还是在软件设施上,都应该力求做到精准,精确,同时也培养了我对待事情的态度,这次课程的设计不仅仅培养了我的实际操作能力,也

43、培养了我灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,在这次设计过程中,能够得以顺利的完成,是所有指导过我的老师,帮助过我的同学,成功是你们的帮助和鼓励成果。在这里我要对你们表示深深的谢意! 参考文献1 王松德,朱小龙对射式红外线计数器的设计J.农业机械学报,2005,36(7).2 王松德,梁会琴,王丹红外线计数器的设计与制作J.农机化研究,2005,5 期.3 谢洪用单片机控制红外编码探测障碍物J.单片机与嵌入式系统应用,2007,8 期.4 朱金刚,潘志东基于51 系列单片机的串行口扩展技术J

44、.电测与仪表,2003,405戴培山,冯成德,刘栋基于keil+c51的红外遥控器解码设计J.自动化与仪器仪表,2003,6期.6王松德,姚丽萍,朱小龙,张须欣近红外传感器在无线遥控计数系统中的应用J.光谱学与光谱分析,2009.12,23(4).7王礼广,胡解生,熊东平,肖秀如基于RS一485的静脉注射网络监控系统的设计与实验J.南华大学学报,2008,27(9).8梅海峰红外线光电计数器的设计及制作J.大氮肥,2005,28(5)9铁牛简易红外线人数统计器J.实用影音技术,2005,9期.10杨汉祥,张琦红外计数器的设计J.科技广场,2009,7期附录一原理图附录二 实物图附录三 PCB图致谢本设计在选题及研究过程中得远飞老师的悉心指导。远飞老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。远飞老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,我对远飞老

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号