红外光电计数器实验报告(共24页)_第1页
红外光电计数器实验报告(共24页)_第2页
红外光电计数器实验报告(共24页)_第3页
红外光电计数器实验报告(共24页)_第4页
红外光电计数器实验报告(共24页)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上信息与电气工程学院课程设计说明书(2015 /2016 学年第 1 学期)课程名称 : 小型数据设计 题 目 : 红外线计数器 专业班级 : 计算机1401 学生姓名 : 何亚茹 赵君 王中昆 学 号: 指导教师 : 生龙 设计周数 : 二周 设计成绩 : 2016年 01月 08日专心-专注-专业目录1 程序设计.12 课程设的主要内容.12.1设计的要求. .12.2创新方案及原理分析.12.3方案论证与选择.22.4软件的设计.33主要芯片设计.43.1介绍.43.2 51 单片机的特点.53.3数码管.74系统设计.84.1单片机最小设计系统.84.2红外线检

2、测电路.94.3计数显示部分.104.4蜂鸣器报警电路.104.5按键控制电路.115 红外计数器程序设计.115.1主程序设计.115.2子程序设计.136总结.157参考文献.161、程设计目的课利用AT89C51单片机来制作一个手动计数器。通过具体的项目设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制程序的设计等,以便掌握单片机系统设计的总体思路和方法,掌握基于单片机控制的电子产品开发的技术方法,培养个人的创新意识和动手能力。2、课程设计的主要内容2.1设计的要求1.利用AT89C51单片机来制作一个红外线计数器。有物体经过红外对管时计数一次。计数的范围是099, 计数满时,又

3、从零开始计数。 2.整个系统有较强的抗干扰能力,具有报警能力。3.将计数值准确显示出来。2.2创新方案及原理分析总体电路是由AT89C51单片机系统、红外光电管电路、蜂鸣器报警电路、数码管显示部分、复位电路部分组成,其结构如图2.1所示图 2.1 整体方框图红外传感器感受到外界信息时,产生高低电平,通过软件程序设置单片机内部寄存器,当传感器的高低脉冲被单片机接收到时,单片机产生中断,中断产生后进入中断服务程序,通过设置中断服务程序,进行计数。并通过P0口将计数信息传送至数码管,数码管显示计数的个数。当电路断电后重新启动计数器时,系统自动复位(上电自动复位),以00开始重新计数。2.3方案论证与

4、选择方案一、如图2.2所示:图 2.2方案一原理阐述:专业检测芯片形成计数后送入控制单元AT89C51单片机,通过对它片内计数、显示编程。74LS245是LED驱动芯片,可以同时驱动4个7段数码管,AT24C02是EEPROM模块,可以保存单片机运算时的中间有用结果的芯片,是突然掉电,关断电源或瞬间电源电压不稳定时,不会造成数据丢失或数据误写,也可以在上电后从中读出其保存的数据内容,大大增强了抗干扰的能力。方案二、如图2.3所示:图 2.3方案二原理阐述:红外发射电路和红外接收电路(由LM324为核心)构成红外检测单元及形成计数脉冲,计数显示部分使用了使用共阴数码管。当红外线被阻挡时,P32口

5、由高电平变为低电平,形成下降沿,单片机进行计数,并在数码管上显示。方案三、如图2.4所示图 2.4方案三原理阐述:利用红外接收发射管的特性(即红外接收头在有红外光电阻原理分压)可取基准电压,然后通过电压比较器可输出高低电平,当有红外光照射的时候,红外接收管串联的电阻分得的电压很大,可使电压比较器LM324输出为低电平;当无红外光照射的时候,红外接收头串联电阻分得的电压很小,可使电压比较器LM324输出为高电平,然后通过单片机处理,可使输出精准的计数值。以上三个方案各有自己的优点:方案一既可完美的实现产品自动计数功能且能让系统处于异常状态和抗干扰时通过外围专用芯片到非常好的解决,外围电路架设相对

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

7、,故不考虑。2.4系统总体框图和原理系统总体框图如图3.4所示:图 3.4 系统框图原理:电路的指导思想是红外发射管发射红外线,红外接收管接收红外线,并且接收管当有红外线照射的时候,电阻比较小,当无线外线照射的时候电阻比较大,这样就可以通过一个电压比较器和一个基准电压进行对比,当有光照的时候,红外接收管电阻比较小,那么和其串联的电压分压就会增大,所以电压比较器将会输出一高电平;当无光照射的时候,红外接收管的电阻比较大,这样电压比较器就会输出一个低电平。这个便是外部计数电平信号,这个电平信号送入AT89C51单片机进行计数控制,在经过扩展、显示驱动完成最后的显示过程。3. 主要芯片介绍3.1 介

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

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

10、件(如平台软件、虚拟外设软件、系统诊断管理软件等)以提高系统开发率。3.2 51系列单片机的主要特点 图3.5AT89C51单片机引脚图 VCC:电源GND:接地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P

11、1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),在flash编程和校验时,P1口接收低8位地址字节。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电(IIL)。在访问外部程序存储器或用16位地址读取外部

12、数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表3.1所示。在flash编程和校验时,P3口

13、也接收一些控制信号。表 3.6 P3第二功能RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将

14、地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EAVPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编

15、程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.3 数码管一些小型设备或小型检测系统一般由单片机组成控制系统,为了降低成本,这些小型系统中的显示一般采用数码管(LED)组成。常见的数码管有7段、8段和16段。数码管实际上就是八个发光二极管,它们以两种方式连接,如果将其阴极连接在一起,这种方式构成的数码管成为共阴数码管;如果将其阳极连接在一起,这种方式构成的数码管为共阳数码管。 图 3.6 共阴数码管原理图 图 3.7 共阳数码管原理图 根据电路图所设计的不同,那么所选择的数码管也有所差异。对于YD0562R0

16、数码管内部结构及其各个引脚所对应的端口的作用如图3.8所示:图 3.8 数码管示意图4 系统设计4.1单片机最小系统设计AT89C51单片机的最小系统设计如图4.1,4.2所示。 图 4.1 时钟电路 图4.2复位电路51单片机的最小系统由单片机、晶振电路、复位电路和P0的上拉电阻组成。其介绍如下:时钟电路:时钟电路(4.1图)是由电容C4、C5和12MHz的晶振组成,接在单片机的第18和19脚(即XTAL1和XTAL2端)。因其采用的是振荡频率12MHz的晶振,所以其软件的一个机器周期为1us。复位电路:C1和R2构成了复位电路。刚开始上电时时,C1瞬间相当于短路,C1两端保持0V电压,VC

17、C的电源电压就都加在了R2上,因此在单片机9脚RST上变成了高电平,此后C1上逐渐充电,即在C1上出现电压,R2上的电压开始下降,最后单片机9脚RST上变成了低电平。在此过程中只要满足单片机9脚RST上的高电平持续24个振荡周期即可使单片机复位。4.2 红外线检测电路4.2.1 红外线设计电路图 4.3 红外线检测部分如图4.3所示,红外线检测部分采用一对红外发送接收管完成,当电路正常工作时,无障碍物遮挡,红外接收头有红外线照射,这时,红外接收头的电阻很小,大部分电压都加在R3上,这正是电压比较器LM393N的正向输入电压,而负向输入电压由R4和R5分压得到,而R3分得的电压要大于此基准电压值

18、,故这时电压比较器LM393N输出高电平;当在红外发射接收管间有一不透光的障碍物时,红外接收头无红外线照射,这时红外接收头的电阻很大,大部分电压都加在红外接收头上,这也是电压比较器LM324的正向输入电压,而负向输入电压也是由R4和R5分压得到,和原来电压一样,这时,R3分得的电压要小于此基准电压值,故这时电压比较器LM393N输出低电平。4.3计数显示部分计数显示部分由单片机AT89C51控制完成,显示有2个8段数码管完成。基本原理为当红外检测部分检测到有产品经过时,红外接收电路LM393N芯片的8输出口将产生一个低电平信号,这个信号将供给单片机进行计数控制;显示部分是通8位LED数码显示管

19、显示。如图4.4所示,为数码管的电路连接图。图 4.4 数码管的电路连接图(a-dp接P0口)4.4蜂鸣器报警电路本设计采软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。每当红外线检测到物体是数据加并报警一次,如4.5图所示,为报警电路原理图。图 4.5 蜂鸣器电路连线图4.5按键控制电路本设计采用三个独立按键完成控制系统,三个按键K1、K2、K3分别表示,开始计数、停止计数、计数清零的控制。如4.6图所示,为按键控制电路连接。 图 4.6 按键控制电路连接图5.红外线计数器程序设计AT89C51单片机可以用汇编语言和C语言进行编程。汇编语言与机器指令一一对应,所以用汇编语言编写的程序

20、在单片机里运行起来效率较高,而且对于红外计数器数据的读写上,所用到的语句比较简单易懂。而C语言程序可读性高,更便于理解。本设计使用C语言编程。5.1 主程序设计第一次开机,系统进入初始化两个数码管显示为0,当按下K3(开始计数)的时候,单片机对红外线检测输入的信号进行处理,并显示到8段数码管上面。每一次检测到有信号输入数码管上的数累计加一,蜂鸣器报警一次。累计加的99,数字自动清零。或者按下K1(数据清零)手动清0。在单片机计数过程中如果按下K2(停止计数)将不再对输入信号进行处理。当再按下K3数码管重新开始计数。主程序流程图如图5.1:图 5.1 主程序流程图void main()EA=1;

21、/EX1=0;IT1=1; /设置外部中断方式while(1)show();key_poce();if (state=1) /控制计数状态EX1=1;elseEX1=0; 5.2子程序设计5.2.1LED显示程序设计用PNP三极管驱动LED数码管动态显示电路,编程就是利用人视觉的暂留性,不断地轮流输出每个数码管位的数据,达到不闪烁的效果,编程上还是比较简单的。其难点就在把2位一体共阴数码管分成两部分并且能够进行099的计数,这么做是为了能够清楚的反映实验的效果,另个8段数码管是红外对管所测得遮挡的次数。void show() /数码管 显示程序if(s=0)/第一位数码管显示(s为标志位)cs

22、1=0;cs2=1;P0=sisshu%10;delay(100); /延时点亮P0=0xff;/消隐elsecs2=0; /第二位数码管显示cs1=1;P0=sisshu/10%10;delay(100);P0=0xff; /消隐s=!s;5.2.2 按键控制程序设计该实验采用3个独立按键来控制整个系统,按键分别是K1、K2、K3。按键主要功能,当按下K3(开始计数)的时候,单片机对红外线检测输入的信号进行处理,并显示到8段数码管上面。每一次检测到有信号输入数码管上的数累计加一,蜂鸣器报警一次。累计加的99,数字自动清零。或者按下K1(数据清零)手动清0。在单片机计数过程中如果按下K2(停止

23、计数)将不再对输入信号进行处理。当再按下K3数码管重新开始计数。void key_poce() / 按键处理程序if (key_1=0) /开始计数delay(666); /按键消抖if (key_1=0)while(key_1=0) /按键判断释放show();state=1; if (key_2=0) /停止计数delay(666);if (key_2=0)while(key_2=0)show();state=0; if (key_3=0) /数据清零delay(666);if (key_3=0)while(key_3=0)show();shu=0;6、总结经过这段时间的学习,我对单片机原

24、理与运用也有了更深层次的了解。同时也对过去所学的知识进行了温习,对我设计的课题单片机099计数器所用到的知识也进行了专门的梳理和消化。在学习中,我收获了很多。我发现学习单片机不仅仅需要软件的知识,还需要硬件的知识。在这个过程中,对于一些不懂的问题,老师也会耐心地给我们相应的指导。通过这个项目实践,我真正学到了我以前所没有接触到的一些知识。有的是书本上没有的,有的是书上不容易理解的这样,既巩固了旧知识,又掌握了新知识。通过这次自主创新我知道了单片机应用系统开发设计的步骤和方法,也知道如何使用Proteus7.6设计系统硬件电原理图以及Keil uV2进行单片机应用软件设计与调试。通过自主创新期间

25、所做的课题,我更加了解了单片机的知识,让自己的专业知识得以进一步提升,同时通过实际调试过程,考验了自己各方面的能力。通过自主创新实践,我也知道了自己的不足。书本上的知识是死的,只有通过实践和具体的实例运用,才能真正掌握知识、取得进步。这次自主创新实践的经历也会使我终身受益,我感受到做任何事情都是要真正用心去做的,也是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫创新实践了。希望这次的经历能让我在以后学习中激励我继续进步。受益匪浅!专心做自己的事,是一种乐趣;互相交流,是大家一起进步的必要过程;上网查阅资料,是获得所需信息的有效途径。我

26、想,这些练习和经验都将是我一种宝贵的财富!感谢期间给与我无私帮助的人。我会在以后的学习中更加努力,朝着自己的目标不断奋进。7、参考文献1李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,19982李广弟.单片机基础.北京:北京航空航天大学出版社,19943阎石.数字电子技术基础(第三版). 北京:高等教育出版社,19894廖常初.现场总线概述J.电工技术,1999附录1:完整电路图附录2:源程序/红外线计数 用外部中断1 对输入的光电信号计数 三个按键分别控制 计数开始 计数停止 清零/ 12MKz 时间:2015-12-26#include#include#define uchar unsigned char#define uint unsigned int sbit cs1=P21; /第一位数码管引脚sbit cs2=P20; /第二位数码管引脚sbit alarm=P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论