单片机程序设计实践教程_第12章_光电传感器和蜂鸣器控制.pptx_第1页
单片机程序设计实践教程_第12章_光电传感器和蜂鸣器控制.pptx_第2页
单片机程序设计实践教程_第12章_光电传感器和蜂鸣器控制.pptx_第3页
单片机程序设计实践教程_第12章_光电传感器和蜂鸣器控制.pptx_第4页
单片机程序设计实践教程_第12章_光电传感器和蜂鸣器控制.pptx_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1 第十二讲光电传感器和蜂鸣器控制 单片机程序设计实践教程 2 12 0项目演示效果 图XP 12 01步骤1 打开开发板电源 3 图XP 12 02步骤2 遮挡传感器1 4 图XP 12 03步骤3 遮挡传感器3 5 图XP 12 04步骤4 同时遮挡传感器1和2 6 图XP 12 05步骤5 同时遮挡全部传感器 7 12 1项目目标设计 了解光电传感器的基本工作原理 了解蜂鸣器的基本工作原理 掌握对多个光电传感器输入信号进行识别的软件处理方法 掌握对蜂鸣器的控制方法 继续加深理解ZLG7290键盘与显示控制芯片相关函数的控制和使用方法 理解给出的光电传感器和蜂鸣器C语言源程序的结构和各语句所起作用 在达到上述六点目标之后 根据本章 项目扩展任务 中提出的问题 以组或个人为单位 在规定时间里完成扩展项目任务 8 12 2项目任务 光电传感器和蜂鸣器控制项目的电路原理图如图12 1所示 PMY单片机开发板包括4个光电传感器TCST1030 L 22 器件编号分别为U20 U23 传感器的引出脚为Sensor1 Sensor4 分别与STC89C52RC单片机的P12 P15口用连接插线 见图4 8 相连 由电路原理图可知 在任意一个光电传感器凹形槽间无遮挡物进行遮挡时 Sensor1 Sensor4输出信号都为高电平 反之则为低电平 本次项目借助第9章项目的结果 通过编写相应程序 实现当任意光电传感器被遮挡而产生触发时 都会引起蜂鸣器的鸣响 同时点亮相应的七段数码管及LED发光二极管 显示被遮挡传感器的编号 9 图12 1光电传感器和蜂鸣器控制项目的电路原理图 10 12 3系统板上硬件连线 光电传感器和蜂鸣器控制项目的连接插线设置如图12 2所示 此处应使用4根连接插线将STC89C52RC单片机P12 P15 J9 J6 J8和J10 分别与传感器输入端Sensor01 Sensor04 在芯片82C55的PC口接线排子4 5 6 7的下方 相连 图12 2光电传感器和蜂鸣器控制项目的连接插线设置 11 12 4程序流程图 图12 3光电传感器和蜂鸣器控制项目的C语言程序流程图 12 12 5C语言源程序 略 12 6系统构成和程序分析 12 6 1光电传感器的介绍 光电传感器 光电开关 是光电接近开关的简称 是能够将可见光转换成某种电量的传感器 23 光敏二极管是最常见的光传感器 光敏二极管的外型与一般二极管一样 只是它的管壳上开有一个嵌着玻璃的窗口 以便于光线射入 为增加受光面积 PN结的面积做得较大 光敏二极管工作在反向偏置的工作状态下 并与负载电阻相串联 当无光照时 它与普通二极管一样 反向电流很小 A 称为光敏二极管的暗电流 当有光照时 载流子被激发 产生电子 空穴对 称为光电载流子 在外电场的作用下 光电载流子参与导电 形成比暗电流大得多的反向电流 该反向电流称为光电流 光电流的大小与光照强度成正比 于是在负载电阻上就能得到随光照强度变化而变化的电信号 13 光敏三极管除了具有光敏二极管能将光信号转换成电信号的功能外 还有对电信号放大的功能 光敏三级管的外型与一般三极管相差不大 一般光敏三极管只引出两个极 发射极 E 和集电极 C 如图12 4所示 基极 B 不引出 管壳同样开窗口 以便光线射入 为增大光照 基区面积做得很大 发射区较小 入射光主要被基区吸收 工作时集电结 C 反偏 发射结 E 正偏 在无光照时 管子流过的电流为暗电流Iceo 1 Icbo 很小 比一般三极管的穿透电流还小 当有光照时 激发大量的电子 空穴对 使得基极产生的电流Ib增大 此刻流过管子的电流称为光电流 集电极电流Ic 1 Ib 可见 光电三极管要比光电二极管具有更高的灵敏度 14 图12 4是光电传感器的工作原理图 图中由振荡回路产生的调制信号由发射管GL 光敏二极管 辐射出光脉冲 24 光脉冲进入光敏三极管DU 并在接收电路中将光脉冲解调为电脉冲信号 再经放大器放大和同步选通整形 解调 触发驱动器输出光电开关控制信号 当有检测物对光束进行遮挡时 无光脉冲进入光敏三极管DU 光敏三极管随即断开 接收电路中无电脉冲信号流过负载 因此 光电传感器是将输入电流在发射器上转换为光信号射出 接收器再根据接收到的光线强弱或有无对目标物体进行探测 多数光电开关选用的是波长接近可见光的红外线光波型 15 图12 4光电传感器内部工作原理图 16 图12 5是美国Vishay公司生产的TCST1030 L 光电传感器外型和引脚图 该器件结构紧凑 发射光源和接收检测器被正对置于同一光轴上 发射光波长是950nm 接收检测器由光敏三极管构成 TCST1030 L 主要用于轴状编码器的位置感应器和机械运动限制开关等 可实现对不透明物质 如卡片 纸等 的检测 17 图12 5TCST1030 L 光电传感器外型和引脚图 18 12 6 2蜂鸣器简介 蜂鸣器是一种一体化结构的电子讯响器 广泛应用于计算机 打印机 复印机 报警器 电子玩具 汽车电子设备 电话机 定时器等电子产品中作发声器件 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型 本开发板采用的是有源式电磁蜂鸣器 这种蜂鸣器是由振荡器 电磁线圈 磁铁 振动膜片及外壳等组成 接通电源后 振荡器产生的音频信号电流通过电磁线圈 使电磁线圈产生磁场 振动膜片在电磁线圈和磁铁的相互作用下 周期性地振动发声 具体的介绍可参阅参考文献 25 19 由图12 1所示的电路原理图可知 蜂鸣器的正极接到VCC 5V 电源 蜂鸣器的负极接到三极管Q2的集电极C 三极管的发射极E接地 基级B经过限流电阻R6后由82C55的PC1引脚控制 当PC1输出高电平时 三极管Q2导通 蜂鸣器电流形成回路 发出声音 当PC1输出低电平时 三极管Q2截止 没有电流流过线圈 蜂鸣器不发声 因此 可以通过程序控制82C55的PC1脚电平实现对蜂鸣器的发声控制 20 12 6 3项目程序分析 图12 6光电传感器和蜂鸣器控制的系统功能图 21 根据12 2小节所述项目任务 参照图12 1并将其化简为图12 6的光电传感器和蜂鸣器控制的系统功能图 开发板中4个光电传感器U20 U23的引出脚为Sensor1 Sensor4 分别与STC89C52RC单片机的P15 P12用连接插线相连 程序在主函数前就应用sbit语句设定这4个端口的引脚 sbitSensor01 P1 2 传感器1的输入端口sbitSensor02 P1 3 传感器2的输入端口sbitSensor03 P1 4 传感器3的输入端口sbitSensor04 P1 5 传感器4的输入端口 22 源程序中含有将引脚Sensor1 Sensor4位信息转换为uchar变量的过程 如下 Sflag1 uchar Sensor01 将传感器1的输入端口状态储存在指定变量中Sflag2 uchar Sensor02 将传感器2的输入端口状态储存在指定变量中Sflag3 uchar Sensor03 将传感器3的输入端口状态储存在指定变量中Sflag4 uchar Sensor04 将传感器4的输入端口状态储存在指定变量中执行上述语句后 各个光电传感器的输入状态被强制转换为uchar数据类型 并存储在变量Sflag1 Sflag4中 以便于后面的switch语句调用 C语言中的switch语句不能直接对端口的引脚状态进行判断 所以这里需要处理一下 23 对蜂鸣器的控制由以下代码体现 if Sflag1 禁止蜂鸣器发声由12 2小节项目任务可知 当Sflag1 Sflag2 Sflag3 Sflag4相与后结果为高电平 说明在任意一个光电传感器凹形槽间无遮挡物遮挡 所有Sensor输出信号都为高电平 反之 当有遮挡物在其中一个光电传感器凹形槽间进行遮挡时 Sflag1 Sflag2 Sflag3 Sflag4相与后的结果将为0 这时控制蜂鸣器发声 指示有传感器信号被触发 24 程序中又是如何辨别哪个传感器的信号被触发了呢 前面提到的主程序中4个switch语句实现了上述功能 以第一个传感器信号的处理过程为例来分析 列写源程序如下 switch Sflag1 判断传感器1的输入状态 case0 PA8255 25 Sflag1为1 光电信号无遮挡 用PA8255 0 xc0控制单独熄灭D17和D16灯 保持其它PA口信号的状态 接下来的熄灭数码管功能引用了第9章介绍的ZLG7290 Download函数来实现 函数中各个参数的含义及选取 请参阅第9章所提及的参考文献 Sflag1为0 光电信号被遮挡 用PA8255 0 x3f控制点亮D17和D16灯 保持其它PA口信号的状态 还是引用第9章介绍的DispValue函数实现数码管1 2位显示11的功能 26 程序是如何通过设置PA7 PA6脚为低电平而不影响82C55的PA口其它控制信号状态呢 如图12 7所示 用PA82C55端口与0 x3f按位相与即可实现 图12 7中 y为PA82C55端口将要改变的值 与0相与 则该位被清0 x为PA82C55端口不需改变的值 与1相与 则该位被保留 这种方法既能够将PA7 PA6脚设置为低电平也会保持PA端口的其它控制信号状态 同理 用PA82C55端口与0 xC0按位相或可以实现既能够将PA7 PA6脚设置为高电平 也会保持PA端口的其它控制信号状态 27 图12 7程序中82C55的PA7 PA6脚高低电平设置原理图 28 12 7项目扩展任务 理解本章 第9章七段数码管和4 4键盘控制和第10章继电器和直流小电机正反转控制的原理 以组或个人为单位 通过编写相应程序 实现以下控制流程 传感器U20 U22分别作为继电器和

温馨提示

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

评论

0/150

提交评论