ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:282.33KB ,
资源ID:5834009      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5834009.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(红外光电计数器实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

红外光电计数器实验报告.docx

1、红外光电计数器实验报告信息与电气工程学院课程设计说明书( 2015 /2016 学年第 1 学期)课程名称 :小型数据设计题 目 :红外线计数器专业班级 :计算机 1401学生姓名 :何亚茹 赵君 王中昆学 号:140210122 140210107 140210121指导教师 :生龙设计周数 :二周设计成绩 :2016年 01月 08 日1程序设计 12课程设的主要内容 12.1设计的要求 12.2创新方案及原理分析 12.3方案论证与选择 22.4软件的设计 33主要芯片设计 43.1介绍 43.251 单片机的特点 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 单片机来制作一个红外线计数器。有物体经过红外对管时计数一次。计 数的范围是 0

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

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

5、成红外检测单元及形成计数脉冲,计数显示部分使用了使用共阴数码管。当红外线被阻挡时, P32 口由高电平变为低 电平,形成下降沿,单片机进行计数,并在数码管上显示。方案三、 如图 2.4 所示图 2.4 方案三原理阐述:利用红外接收发射管的特性(即红外接收头在有红外光电阻原理分压)可取 基准电压,然后通过电压比较器可输出高低电平,当有红外光照射的时候,红外接收管串联 的电阻分得的电压很大,可使电压比较器 LM324输出为低电平;当无红外光照射的时候,红 外接收头串联电阻分得的电压很小,可使电压比较器 LM324输出为高电平,然后通过单片机处理,可使输出精准的计数值。 以上三个方案各有自己的优点:

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

7、达到精确、稳定的自动计数,但也有一个致命的缺点,整个系统 的抗干扰力较弱,系统掉电后不能保存数据,在系统牌异常状态时容易出现误操作或死机, 故不考虑。2.4系统总体框图和原理 系统总体框图如图 3.4 所示:图 3.4 系统框图 原理:电路的指导思想是红外发射管发射红外线,红外接收管接收红外线,并且接收管 当有红外线照射的时候,电阻比较小,当无线外线照射的时候电阻比较大,这样就可以通过 一个电压比较器和一个基准电压进行对比,当有光照的时候,红外接收管电阻比较小,那么 和其串联的电压分压就会增大,所以电压比较器将会输出一高电平;当无光照射的时候,红 外接收管的电阻比较大,这样电压比较器就会输出一

8、个低电平。这个便是外部计数电平信号, 这个电平信号送入 AT89C51单片机进行计数控制,在经过扩展、显示驱动完成最后的显示过 程。3.主要芯片介绍3.1介绍在计算机应用控制领域上,如工业控制、汽车、家电等很多控制场合,对控制系统的要求 都比较苛刻。例如需要智能高、体积小、成本低、功耗低、抗干扰能力强和可靠性高。不仅 传统电气设备无能为力,一般应用性 PC 机也不能胜任。在这个背景下,单片机的设想才逐 渐成型。 单片机就是将计算机的几个基本组成部分集成在单一的芯片上,体积相对较小,很好地满足 了对控制系统体积的要求。自从 1975 年美国德克萨斯公司开发生产出第一台单片机 TMS-1000以来

9、,单片机经历 4位8位16 位 32位的发展过程。最有代表性的 Intel 公司 先后推出了三个系列: MCS-48系列 8 位单片机、 MCS-51系列高档 8 位单片机、 MCS-96/98 系 列 16 位单片机。 很多控制场合并不需要单片机去完成复杂的数学计算,因此单片机在生产工艺上进行了简化, 降低了制造成本。同时采用大批量生产,成本进一步降低。从目前市场上来看,其价格一般 都在几元到几十元之间。未来单片机技术的发展趋势将以 8 位单片机主流,并大力发展专用单片机。很多单片机生产厂家充分考虑到用户的需求,将一些常用的功能部件,如 ADC(模/数转换器)、DAC(数/ 模转换器)、PW

10、(N 脉冲产生器)以及 LCD(液晶)驱动器等集成到芯片内部、尽量做到单片化;同时,用户还可以提出要求,由厂家为其量身定做( SoC 设计)或自主设计。另外,随着科技 发展,程序存储器容量将进一步扩大。当存储空间足够大时,可嵌入一些软件(如平台软件、 虚拟外设软件、系统诊断管理软件等)以提高系统开发率。3.251 系列单片机的主要特点图 3.5 AT89C51单片机引脚图VCC: 电源 GND: 接地 P0 口 :P0口是一个 8位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8个 TTL逻辑电平。 对 P0 端口写“ 1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时, P0 口

11、也被作为低 8位地址 /数据复用。在这种模式下, P0具有内部上拉电阻。在 flash 编程时, P0口也 用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口, p1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使 用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL )。此外, P1.0 和 P1.2 分别作定时器 /计数器 2的外部计数输入( P1.0/T2 )和时器 /计数器 2的触发输 入( P1.1/

12、T2EX ),在 flash 编程和校验时, P1口接收低 8 位地址字节。P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P2 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电( IIL )。在访问外 部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX DPT)R 时, P2 口送出高八位地址。在这种应用中, P2 口使用很强的内部上拉发送 1。在使用 8 位地址(如MOVX RI)访问外部数据存储器时, P2口输出 P2

13、锁存器的内容。在 flash 编程和校验时, P2 口也接收高 8 位地址字节和一些控制信号。P3 口:P3 口是一个有内部上拉电阻的 8 位双向 I/O 口, p2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使 用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL )。 P3 口亦作为 AT89S52特殊功能(第二功能)使用,如下表 3.1 所示。在 flash 编程和校验时, P3 口也接收一些控制信号。表 3.6 P3 第二功能RST:复位输入。晶振工作时, RST脚持续 2 个机器周期高电平

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

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

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

17、的不同,那么所选择的数码管也有所差异。对于 结构及其各个引脚所对应的端口的作用如图 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 和

18、R2 构成了复位电路。刚开始上电时时,C1 瞬间相当于短路, C1 两端保持 0V电压, VCC的电源电压就都加在了R2上,因此在单片机9脚 RST上变成了高电平,此后 C1 上逐渐充电,即在 C1上出现电压,R2上的电压开始下降,最后单片机 9 脚 RST上变成了低电平。在此过程中只要满足单片机9 脚 RST 上的高电平持续 24 个振荡周期即可使单片机复位。4.2红外线检测电路4.2.1红外线设计电路图 4.3 红外线检测部分如图 4.3 所示,红外线检测部分采用一对红外发送接收管完成,当电路正常工作时,无 障碍物遮挡,红外接收头有红外线照射,这时,红外接收头的电阻很小,大部分电压都加在R

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

20、口将产生一个低电平信号,这个信号将供给单片机进行计数控制;显示部分是通 8 位 LED数码显示管显示。如图4.4所示,为数码管的电路连接图。图 4.4 数码管的电路连接图( a-dp 接 P0 口)4.4蜂鸣器报警电路本设计采软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。每当红外线检测到物体是数据加并报警一次,如 4.5 图所示,为报警电路原理图。4.5按键控制电路本设计采用三个独立按键完成控制系统,三个按键 K1、K2、K3 分别表示,开始计数、停止计数、计数清零的控制。如 4.6 图所示,为按键控制电路连接。图 4.6 按键控制电路连接图5. 红外线计数器程序设计AT89C51单

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

22、进行处理。当再按下 K3 数码管重新开始计数。图 5.1 主程序流程图void main()EA=1;/EX1=0;IT1=1; / 设置外部中断方式 while(1)show();key_poce();if (state=1) / 控制计数状态 EX1=1;else5.2子程序设计5.2.1LED 显示程序设计用 PNP 三极管驱动 LED数码管动态显示电路,编程就是利用人视觉的暂留性,不断地轮流输 出每个数码管位的数据,达到不闪烁的效果,编程上还是比较简单的。其难点就在把 2 位一体共阴数码管分成两部分并且能够进行 099 的计数,这么做是为了能cs1=0;cs2=1;P0=sisshu/

23、10%10;delay(100);P0=0xff; / 消隐 s=!s;/ 数据清零该实验采用 3 个独立按键来控制整个系统,按键分别是 K1、 K2、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);while(key_3=0)show();s

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

25、理图以及 Keil uV2 进行单片机应用软件设计与调试。通过自主创新期间所做的课题,我更加了解了单 片机的知识,让自己的专业知识得以进一步提升,同时通过实际调试过程,考验了自己各方 面的能力。通过自主创新实践,我也知道了自己的不足。书本上的知识是死的,只有通过实践和具 体的实例运用,才能真正掌握知识、取得进步。这次自主创新实践的经历也会使我终身受益,我感受到做任何事情都是要真正用心去做 的,也是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己 的研究,就不会有所突破,那也就不叫创新实践了。希望这次的经历能让我在以后学习中激 励我继续进步。受益匪浅!专心做自己的事,是一

26、种乐趣;互相交流,是大家一起进步的必要过程;上网查阅资料, 是获得所需信息的有效途径。我想,这些练习和经验都将是我一种宝贵的财富!感谢期间给 与我无私帮助的人。我会在以后的学习中更加努力,朝着自己的目标不断奋进。7、参考文献11998李朝青 . 单片机原理及接口技术(简明修订版) . 杭州:北京航空航天大学出版社,2李广弟 . 单片机基础 . 北京:北京航空航天大学出版社, 19943阎石 .数字电子技术基础(第三版) . 北京:高等教育出版社, 19894廖常初 . 现场总线概述 J . 电工技术, 1999附录 1:完整电路图附录 2:源程序/ 红外线计数 用外部中断1 对输入的光电信号计

27、数 三个按键分别控制 计数开始 计数停止 清零/ 12MKz 时间: 2015-12-26#include#include#define uchar unsigned char#define uint unsigned intsbit cs1=P21;/ 第一位数码管引脚sbit cs2=P20;/ 第二位数码管引脚sbit alarm=P10;/ 蜂鸣器引脚sbit key_1=P34;sbit key_2=P35;sbit key_3=P36;sbit int1=P33;/ 外部中断 1 接口uchar code sis=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82

28、,0xF8,0x80,0x90; / 数 码管的段码uchar shu=00;bit s,state=0;/ 计数状态 控制void delay(uint T) while(T-);void show()/ 数码管 显示程序if(s=0)/ 第一位数码管显示cs1=0;cs2=1;P0=sisshu%10; delay(100);P0=0xff;elsecs2=0;cs1=1;P0=sisshu/10%10; delay(100);P0=0xff;s=!s;void key_poce()if (key_1=0)delay(666);if (key_1=0)while(key_1=0)show(

29、);state=1;/ 延时点亮/ 消隐/ 第二位数码管显示/ 消隐/ 按键处理程序/ 开始计数/ 停止计数if (key_2=0)/ 数据清零/ 设置外部中断方式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;void main()EA=1;/EX1=0;IT1=1;while(1)show();key_poce();if (state=1)/ 控制计数状态EX1=1;elseEX1=0;inper() interrupt 2uchar i;shu+;if(shu99)shu=0;alarm=0;for (i=0;i150;i+)show();alarm=1; while(!int1) show(); delay(500);/ 外部中断 1/ 计数/ 蜂鸣器滴滴响课程设计 评语课程设计 成绩指导教师(签字)年月日

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

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