




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川师范大学成都学院本科毕业论文四川师范大学成都学院本科毕业论文 基于单片机的电器遥控器的设计基于单片机的电器遥控器的设计 学生姓名学生姓名刘宁刘宁 学学 号号20081040602008104060 所所 在在 系系电子信息工程系电子信息工程系 专业名称专业名称电子信息工程 工业与民用 电子信息工程 工业与民用 班班 级级20082008 级级 2 2 班班 指导教师指导教师张西张西 四川师范大学成都学院四川师范大学成都学院 二二 0 0 一二年五月一二年五月 基于单片机的电器遥控器的设计 学生 刘宁 指导教师 张西 内容摘要 本文介绍了单片机电器遥控器的基本原理以及工作流程 主要采用最高 科技的单片机技术来实现遥控的目的 该设计主要采用了红外发射模块和红外接收模 块 然后分别对这两个程序模块进行编程 具体说明了单片机在电器遥控器中的作用 单片机涉及到了电器遥控器工作的绝大部分过程 从电器遥控器的发展趋势来看 单 片机的出现给了电器遥控器更大的优势 促进了新一代电器遥控器的发展 将单片机 融入到电器遥控器中 使电器遥控器的使用更加的方便 快捷 也将人们的生活简易 化 随着时代的进步 人们对生活物品的要求也越来越高 为了满足消费者的需求 所以将先进的单片机加入到家庭中的电器遥控器中是符合大众要求的 关键词 单片机 电器遥控器 红外发射模块 红外接收模块 B Ba as se ed d o on n s si in ng gl le e c ch hi ip p m mi ic cr ro oc co om mp pu ut te er r r re em mo ot te e c co on nt tr ro ol ll le er r o of f e el le ec ct tr ri ic ca al l a ap pp pl li ia an nc ce e d de es si ig gn n Abstract Abstract This paper introduces the microcomputer electric appliance remote control principle and working process mainly uses the highest technology microprocessor technology to achieve the purpose of remote control Design mainly adopts the infrared emitting module and the infrared receiving module and then each of the two modules are programmed Specify the SCM in electrical remote control in rats SCM relates to the electric appliance remote control most of the course work From the view of the development tendency of remote controller for electric appliances the appearance of single chip microcomputer for electrical remote control of greater advantage promote a new generation of electric appliance remote control development The single chip integrated into the electrical remote control so that the electric appliance remote control the use of more convenient fast also be people life simple With the progress of the times people living on items are increasingly high requirements in order to meet the needs of consumers so the advanced SCM to join the family electric appliance remote controller is in line with the needs of the public Keywords Keywords Single chip microcomputer Electrical remote control Infrared emission module Infrared receiver module 目 录 前言 3 1 红外遥控的发展 4 1 1 红外遥控的发展趋势 4 1 2 红外遥控的功能与特点 4 1 3 红外线遥控在技术上的优点和缺点 5 1 4 红外遥控的发展趋势 5 2 总体设计方案的论证和选择 6 2 1 方案一 6 2 2 方案二 6 2 3 方案三 7 2 4 方案的选择 8 3 系统硬件电路设计 8 3 1 发送部分设计 8 3 1 1 单片机选择 8 3 1 2 芯片擦除 9 3 1 3 按键控制选择 10 3 1 4 频率信号发生器选择 10 3 1 5 遥控发射器电路设计 10 3 2 接收部分设计 11 3 2 1 单片机的选择 11 3 2 2 显示设备选择 11 3 2 3 调光设备选择 13 3 2 4 受控电器电源开关的设计 14 3 2 5 调光电路设计 15 3 2 6 接收频率部分和红外接收设计 16 3 2 7 遥控接收器电路原理图 16 4 系统的软件设计 17 4 1 遥控发射部分 17 4 2 遥控接收部分 19 5 系统调试 21 6 结束语 22 附录 1 遥控发射部分程序 22 参考文献 38 基于单片机的电器遥控器的设计 前言 当前社会是信息化高速发展的社会 随着社会的发展 中国的电器市场也在不断 的发展 不断的更新交替 从刚开始的黑白电视机 到现在的液晶电视等等 还有不 断出现在市场的新型电器 比如从前没有的空调 电脑等 这些电器的出现 无疑给 中国的电器带来了商机 也给中国的百姓带来了方便 为了满足广大消费者的需求 电器遥控器的产生也是具有一大重要的意义 而将单片机融入到遥控器中也是一大突 破 有了单片机的电器遥控器 对电器的操作将更加的简洁化 1红外遥控的发展 1 1 红外遥控的发展趋势 民用产品的遥控技术在 60 年代时 在一部分发达国家就开始研发 但是由于当时 技术的限制 发展很缓慢 70 年代末 随着大规模集成电路和计算机应用技术发展 遥控技迎来了快速发展时期 遥控方式经历了从有线到无线的超声波 从振动子到红 外线 再到使用总线的微机红外遥控三个历史性阶段 电磁波来传输信号是最开始的 时无线遥控装置所采用的 它具有的最大缺点 科技总是不断地进步 后来以红外线 和超声波为媒介进行信号传输就慢慢被采用 虽然这样在很大程度上避免了电磁波容 易被干扰的缺陷 但相比红外线 由于超声波传感器频带很窄 所以只能携带很少的 信息量 容易被干扰而产生错误 慢慢的红外线的遥控应运而生 当今时代的主流也 即是红外线多功能遥控器 1 2 红外遥控的功能与特点 利用红外线进行点对点通信的技术叫红外线遥控技术 其相应的硬件和软件技术 都相对成熟 这就是把红外线作为载体的遥控形式 因为红外线的波长比无线电波的 波长小得多 所以在用红外遥控到时候 不会影响临近的无线电设备 也不会使其他 电器产生干扰 红外线遥控是利用波长在 0 76 m 1 5 m 之间的红外线来传递控制信号的 它有 下面这些特点 a 因为红外线为不可见光 所以 它对环境影响小 而且 红外线的波长很小很 小 因此 红外遥控不会使其他电器受到干扰 也不会影响近邻的无线电设备 b 因为红外线是不可见光 有很强的保密性和隐蔽性 所以在警戒 防盗这些安 全保卫装置中也有广泛的应用 c 红外遥控的遥控距离一般是几米至几十米 d 红外线遥控具有成本低廉 制作方便 结构简单 工作可靠性高 抗干扰能力 强等优点 尤其是室内遥控的优先遥控方式 因为使用红外线遥控器件的时候 它的 功耗很小 外围线路非常简单 工作电压很低 所以它在日常工作生活中得到了越来 越广泛的应用 1 3 红外线遥控在技术上的优点和缺点 优点 信号无干扰 传输准确度高 无需专门申请特定频率的使用执照 具有移 动通信设备所必需的体积小 功率低的特点 缺点 红外线遥控距离较短 红外 LED 不是十分耐用 两个设备之间传输数据 中间不能有阻挡物 红外线遥控是一种视距传输技术 采用点对点的连接具有方向性 1 4 红外遥控的发展趋势 在这几十年里红外遥控技术得到了非常快速的发展 尤其是家电领域如空调 电 视 DVD 等 当然其他电子领域也有广泛的应用 由于人们生活水平的提高 对产品的 追求是更方便 更智能 所以更适合红外遥控技术发展方向 为了提高对红外遥控产 品的开发效率 重点介绍该套红外遥控编码分析仪 它好像一台示波器 利用最先进 的电脑技术 对红外遥控信号进行分析 显示出详尽的编码 解码 数据信息 使开 发人员对编 解码情况一看便知 从而使设计人员提高了工作的效率 增加了产品的 可靠性 稳定性 红外遥控信号分析仪用的是 MCS 51 系列单片机做为外部采样控制器 并与计算机通信完成整个处理过程 并由计算机完成作图 数据管理 因为各生产厂家生产了大量专用于红外遥控的集成电路 需要的时候按图索骥即 可 所以 现在红外线遥控在家用电器 室内近距离遥控中得到了非常广泛的应用 伴随着大量出现的红外光电器 红外遥控在人们日常生活中的应用越来越广泛了 如电 视机的遥控 音响设备的遥控 电风扇的遥控 遥控空调器 安全保卫报警器 自动 门 自动水龙头等都可用红外遥控技术来实现 在多路控制的红外发射部分一般会设置有多个按键 每个按键对应有不同的控制 功能 接收端不同输出状态取决于发射端按下不同按键 接收端有五种输出状态 分 别是 数据形式 脉冲形式 自馈形式 电平形式 互锁形式 利用接收端的几个输 出指把一些发射键编上号码形成一个二进制数 来代表不同的按键输入就是 数据 的输出 一般情况下 为了以后适时地来取数据 接收端在具有几位数据输出外的基 础上 还有一位 数据有效 输出端 与单片机或微机接口一般都采用这种输出形式 当按发射端按键时 接收端对应输出端输出一个 有效脉冲 就叫做 脉冲 输出 它的宽度一般在 100ms 左右 自馈 输出适合用作电源开关 静音控制等 当是指发 射端某一个键被每按一次 接收端对应输出端状态就改变一次 简而言之就是原来的 高电平变为低电平 原来的低电平变为高电平 有时亦称这种输出形式为 反相 发 射端按下键时 接收端对应输出端输出 有效电平 消失这样的输出叫 电平 输出 互锁 输出是指多个输出互相清除 在同一时间内只有一个输出有效 电视机的选 台就属此种情况 2 总体设计方案的论证和选择 2 1 方案一 使用由常规集成电路组成的单通道红外遥控电路 一般用字不需要多路控制的场 合 它不需要使用较贵的专用编译码器 因此成本较低 a 红外发射部分 图2 1 1 红外发射部分结构图 由于本方案电路是简单的单通道遥控器 可产生一个控制功能的震荡频率 再通 过红外发光二极管发射出去 b 红外接收部分 产生 震荡 频率 红外 发射 红外 接收 解调 控制 受控 电器 图2 1 2 红外接收部分结构图 一个电路对其进行解调并产生相应的控制功能之时 就是红外接到控制频率之时 2 2 方案二 红外线发射 接收控制电路都采用单片机来实现 输出控制方式可以选择 实用性 很强 a 红外发射部分 图2 2 1 红外发射部分结构图 当红外发光二极管发射控制脉冲 就是按下遥控按钮的时 单片机产生的相应的 控制脉冲 b 红外接收部分 图2 2 2 红外接收部分结构图 红外接收器接收到控制脉冲时 由控制方式选择开关选择是单路控制还是 互锁 通过单片机处理后 对相应的受控电器控制 2 3 方案三 使用单片机制作一个红外电器遥控器 可以分别控制一个电灯开关和 5 个电器的 电源开关 而且可以对电灯调光控制 a 红外发射部分结构图如图 2 3 1 所示 单 片 机 遥 控 按 钮 红外 发射 单 片 机 红外 接收 控制方 式选择 开关 受控 电器 图 2 3 1 红外发射部分结构图 当按下遥控按钮时 单片机产生相应的控制脉冲 由红外发光二极管发射出去 b 红外接收部分结构如图 2 3 2 所示 图 2 3 2 红外接收部分结构图 红外接收器接收到控制脉冲后 经过单片机的处理由显示设备显示出当前受控电 器的序号 并且判断是否对电灯进行调光 如果判断出需调光则经调光电路反应后实 现调光功能 2 4 方案的选择 综上所述通过比较三套方案我们得到 方案一没有采用单片机控制 功能非常单 一 只能对单一电器进行很简单的遥控 方案二和方案三的红外线发射 接收控制电路 使用单片机来实现 电路很简单 但实用性强 方案二虽然可以控制多个电器 但是 控制功能太过单调 只能实现对电器开关的控制 实用价值不是很大 方案三不但可 用控制键来实现对电器的控制 而且可对一路电灯进行亮度控制 方便实用 而且本 设计用到的元器件不多 电路相对简单实用 所以本设计采用方案三作为设计蓝本 单 片 机 按键 控制 红外 发射 单 片 机 显 示 红外接收 受控电器 电源开关 调光电路 电灯 3 系统硬件电路设计 3 1 发送部分设计 3 1 1 单片机选择 本设计可以用 AT89C 51 C 31 羚羊单片机等多种单片机来实现 但是 C 31 没有内部存储器 本设计需要编程 那么就要用到外部扩展 很麻烦 本设计程序比 较简单 功能也较少 如果用羚羊单片机太过麻烦 有点大材小用 而且本设计所用 到的输入输出端口也不是太多 所以我决定用 AT89C 51 单片机来完成本设计 不但 方便而且实用 下面对 AT89C 51 进行介绍 AT89C 51 单片机是一种带 4K 字节闪烁可编程可擦除 只读存储器 FPEROM Falsh Programmable and Erasable Read Only Memory 的低 电压 高性能 CMOS8 位微处理器 该单片机采用 ATMEL 高密度非易失存储器制造技术 制造 与工业标准的 MCS 51 指令集和输出管脚相兼容 由于将多功能闪烁存储器和 8 位 CPU 组合在单个芯片中 ATMEL 的 AT89C 51 是一种高效微控制器 为许多嵌入式控 制系统提供了一种不但灵活性高而且价廉的方案 主要特性 全静态工作 0Hz 24Hz 4K 字节可编程闪烁存储器 数据保留时间 10 年 与 MCS 51 兼容 5 个中断源 三级程序存储器锁定 128 8 位内部 RAM 两个 16 位定时器 计数器 32 可编程 I O 线 片内振荡器和时钟电路 XTAL1 是反向放大器的输入 XTAL2 是反向放大器的输出 这个反向放大器可以配 置为片内振荡器 陶瓷振荡和石晶振荡都可以采用 当采用外部时钟源驱动器件时 XTAL2 应该不接 当有余输入到内部时钟信号要通过一个二分频触发器 因此对外部时 钟信号的脉宽没有任何要求 但是必须保证脉冲的高低电平要求的宽度 AT89C 51 的时钟有两种方式 一种是外部时钟方式 就是将 XTAL1 接地 外部时 钟信号从 XTAL2 脚输入 还有一种是片内时钟振荡方式 但需在 18 和 19 脚外接石英 晶体 2 12MHz 和振荡电容振荡 电容的值一般取 10p 30p 两种方式分别如图 3 1 1 1 所示 图 3 1 1 1 时钟方式图 3 1 2 芯片擦除 三个锁定位和整个 PEROM 阵列的电擦除可以通过正确的控制信号组合并保持 ALE 管脚处于低电平 10ms 来完成 在芯片擦操作中 在代码阵列全被写 1 且在任何非 空存储字节被重复编程之前 必须先执行该操作 此外 AT89C 51 设有稳态逻辑 可 以在低到零频率的条件下形成静态逻辑 支持两种软件可选的掉电模式 在掉电模式 下 保存 RAM 的内容且冻结振荡器 禁止所用芯片功能 直到下一个硬件复位为止 在闲置模式下 CPU 停止工作 但定时器 RAM 计数器 串口和中断系统仍在工作 因此可知 AT89C 51 芯片的功能很强大 它的振荡特性很好的满足本设计的需求 与同类 51 芯片相比 其引脚比较多 不但可以满足对控制方式的选择 而且可加入调 光控制电路 这非常适合本设计的要求 因此本设计决定选用 AT89C 51 作为核心芯片 3 1 3 按键控制选择 因为本设计所控制的电器数目比较少 所以不用外接扩充键盘 直接使用单片机 上的接口 用 8 个点触式开关就可以了 3 1 4 频率信号发生器选择 可以使用一个 12M 晶体震荡器来满足要求的频率 3 1 5 遥控发射器电路设计 这个遥控发射器采用码分制遥控方式 码分制红外遥控就是指令信号产生电路以 不同的脉冲编码来代表不同的控制指令 在确定使用 AT89C 51 作为本设计发射电路核心芯片和点触式开关作为控制键后 加上 12M 晶体震荡器和一个简单红外发射电路便可实现红外发射 下图为本红外遥控设计核心部分之一的发射电路原理图如图 3 1 5 1 所示 图 3 1 5 1 发射电路原理图 芯片端口 P1 0 P1 7 接 8 个点触式开关 端口 P1 5 为遥控器的开关 端口 P1 0 P1 4 用来遥控电器电源开关 端口 P1 6 和 P1 7 是调节电灯亮度的控制开关 其中 P1 7 实现对发光二极管的减暗控制 P1 6 实现对发光二极管的增亮控制 端口 RST 为 复位脚 采用简单的 RC 上复位电路 端口 XTAL1 和端口 XTAL2 接 12MHz 晶体振荡器 端口 P3 5 则是红外线遥控码的输出口 用来输出 40kHz 载波编码 晶体三极管在电 路中起放大作用 该设计采用的是一个 NPN 型的三级管 9013 为了得到更大的放大倍 数 采用了共射级接法 因为从 p3 5 口出来的为高电压 而三级管 9013 不能承受这 个电压 所以采用了一个阻值比较大的电阻来起分压作用 从而起到了缓冲作用 3 2 接收部分设计 3 2 1 单片机的选择 和发射部分是一样的 该设计所用到的输入输出端口不是很多 所以用 AT89C 51 单片机完全可以完成该设计 而且 AT89C 51 方便实用的性能比其他同类芯片更适合于 本设计 3 2 2 显示设备选择 在单片机应用系统中 使用的显示器主要有 LCD 夜晶显示器 LED 发光二极管 这两种显示器都具有配置灵活 成本很低 与单片机接口方便的特点 但是它们也是 各有各的特点 LED 接口很简单 不需要使用专用的驱动程序 而且在设计程序时也十 分的简单 LCD 显示的字较为丰富 也相当清楚 给人的感觉很好 但是它的接口很复 杂 而且要自己造字库 难度很高 而本设计遥控器的接收电路 因为配置了一些指示灯 所以只显示数字就够了 因此没有必要采用 LCD 用 LED 就可以了 下面就介绍一下 LED 显示器的引脚和结构 用发光二极管来显示字段的器件叫 LED 显示器 在单片机应用系统中一般用七段 显示器 共阳极显示器就是发光二极管的阳极连在一起 共阴极显示器就是阴极连在 一起 图 4 2 2 1 中是七段显示器的结构 由八个发光二极管组成一个显示器 其中 有七个发光二极管控制 a g 七段的暗或亮 最后一个发光二极管控制一个小数点的暗 或亮 这种七段显示器能显示的字符的形状有些失真 字符比较少 但是与单片机的 控制接口十分简单 使用起来很方便 图 3 2 2 1 LED 引脚图 LED 有动态显示和静态显示两种显示方式 下面简单介绍一下它们的原理 静态显示方式 当显示器显示某一个字符时 对应的发光二极管恒定地导通或截止 直到显示另 一个字符为止就是静态显示方式 如共阴极 LED 显示器 当 a b c d e f 为高电平 g d p 为低电平时 高电平的引脚恒定截止 显示器显示 0 这种显示方式每一个 七段 LED 显示器需要一个 8 位输出口控制段选位 显示器的各位选位连在一起接高电 平 共阳极 或接低电平 共阴极 在静态显示方式时 显示器中的各位是相互独立的 且各位的显示字符一旦确定 以后 相应锁存输出就会维持不变 因此 静态显示的亮度比较高 这种显示方式管 理简单 编程容易 但是占用 I O 口资源比较多 所以在显示位数较多时 就采用动 态显示方式 动态显示方式 动态显示方式一般用在多位 LED 显示时 是为了节省 I O 口线 降低成本 动态 显示方式是一位一位的轮流点亮各位显示器 就是对每一位显示器 每隔一段时间轮 流点亮一次 显示器的亮度不但与点亮和熄灭的时间比例有关 而且与导通电流有关 只要调整时间参数和导通电流 就可实现亮度较高较稳定的显示 这种动态显示方式 就是将七段 LED 显示器的所有段选位并联在一起 由一个 8 位 I O 口控制 相应的 I O 口控制相应的共阳极或共阴极 从而实现各位显示器的分时选通 下图利用 P2 口控制 各显示器轮流选通 P0 口接各显示器的段选位 提供各显示器的显示数据 由于单片机 I O 口有限 而静态显示需要占用大量的接口 比如在本设计中需要 采用 5 个数码管 一个要 9 个口子 那总共需要 45 个口子 这是无法达到的 而动态 只要 8 个就可以了 如果是需要显示的数码管实在是太多 则还可以在数码管和单片 机之间加上译码器来进一步减少口子的数目 3 2 3 调光设备选择 光电耦合器具有体积小 使用寿命长 工作温度范围宽 抗干扰性能强 无触点 且输入与输出在电气上完全隔离等特点 因而在各种电子设备上得到广泛的应用 光 电耦合器可用于隔离电路 负载接口及各种家用电器等电路中 光电耦合器的种类较多 但在家电电路中 常见的只有 4 种结构 第一类 为发光二极管与光电晶体管封装的光电耦合器 结构为双列直插 4 引脚塑 封 内部电路见表一 主要用于开关电源电路中 第二类 为发光二极管与光电晶体管封装的光电耦合器 主要区别引脚结构不同 结 构为双列直插 6 引脚塑封 内部电路见表一 也用于开关电源电路中 第三类 为发光二极管与光电晶体管 附基极端子 封装的光电耦合器 结构为双列 直插 6 引脚塑封 内部电路见表一 主要用于 AV 转换音频电路中 第四类 为发光二极管与光电二极管加晶体管 附基极端子 封装的光电耦合器 结 构为双列直插 6 引脚塑封 内部电路见表一 主要用于 AV 转换视频电路中 因为本设计所用到的调光功能仅仅是调节电灯的亮暗 所以无需使用复杂的调光 控制系统 可直接使用一个光电藕合器 来实现此功能 本设计采用的就是以上第二 类的一个型号为 PS2019 红外遥控接收器的接收过程如图 3 2 3 1 所示 图 3 2 3 1 红外遥控接收器的接收过程图 从上可知 红外遥控系统中的检出电路和指令信号在码分制系统中由解码电路和 编码电路构成 由于码分制系统编码脉冲的频率非常低 是超低频 因此要有调制和 解调的过程 假如不用调制与解调电路 外界的光线变化可能会对接收电路产生干扰 从而形成误动作 导致系统的抗干扰能力和可靠性难以得到保证 指令信号产生电路以不同的脉冲编码 不同的脉冲数目和组合 代表着不同的控 制指令叫码分制红外遥控 当按下不同的指令键时 指令信号电路产生不同脉冲编码 然后经过调制电路调制 变为编码脉冲调制信号 再经过驱动电路驱动红外发射器发 射红外光信号 接收器接到信号后 再经过前置放大后 送入解调电路 对调制信号进行解调 再经过指令信号检出信号 智力指令信号检出电路是和发射器中编码电路相对应的译 码电路 它会将指令信号译出 d 电路设计 显示电路的设计 数码管直接与 51 芯片的 P1 端口相连 但是为了保证 51 芯片能正常工作 必须在 P1 端口连电源时加上一个 470 的限流电阻 设计电路图如图 3 2 3 2 红 外 接 收 前 置 放 大 解 调 指 令 解 码 记 忆 驱 动 执 行 图 3 2 3 2 设计电路图 我们用芯片端口 P1 0 P1 7 与数码管的 a h 这 8 个引脚对应相连 用来显示被 控发光二极管的序号 3 2 4 受控电器电源开关的设计 因为该设计无法使用 6 个家用电器开关作为受控开关 所以我用 6 个发光二极管来 代替 其中可调节亮度的灯用接端口 P0 5 的二极管 为了保证发光二极管的安全而又 能正常工作 特用 1K 的电阻作为限流电阻 设计电路图如图 3 2 4 1 所示 图 3 2 4 1 受控电器电源开关设计电路图 3 2 5 调光电路设计 晶体三极管主要是放在放大电路中用来放大作用 本设计采用的是一个 9012 三极 管 为了得到更大的放大倍数 采用了类似于共射级的接法 由于从 P2 7 口出来的电 压是高电压 但三极管 9012 不能承受该高电压 故采用了一个阻值比较大的电阻用来 起分压作用 从而使加到三极管的电压得到了缓冲 对于调光控制就采用一个光电耦 合器来实现对一路电器的亮度控制 图 3 2 5 1 调光电路设计电路图 3 2 6 接收频率部分和红外接收设计 为了和发射端对应 同样采用一个红外接收的二极管与一个 12M 晶体震荡器配合 可以对发射出的频率进行接收 3 2 7 遥控接收器电路原理图 下图 3 2 7 7 为本红外遥控设计的另一核心部分接收电路原理图 其中数码管的 a 到 h 这 8 个引脚与芯片端口 P1 0 到 P1 7 对应相接 用来显示被控发光二极管的序号 端口 P0 0 到 P0 5 与 6 个发光二极管的电源控制输出对应相接 其中可以对端口 P0 5 接的发光二极管进行亮度调节 端口 P2 7 是可控硅调光灯的调光脉冲输出 端口 P3 0 是 50Hz 交流电相位基准输入 端口 P3 1 是用来接收红外遥控码输入信号端口 端口 P3 2 为中断输入口 图 3 2 7 1 遥控接收器电路原理图 4 系统的软件设计 4 1 遥控发射部分 下图是遥控发射的主程序 首先初始化程序 然后调用键扫描处理子程序 开始 图 4 1 1 遥控发射主程序图 扫键过程 首先判断控制键是不是已经按下 如果有控制键按下就进行逐行扫描 按 照 P 口值查找键号 再按照键号转到相应的发射程序 如图 4 1 2 所示 N Y 图 4 1 2 扫键过程图 红外信号发射过程 先装入发射脉冲个数 发射时为 3ms 脉冲 停发时为 1ms 脉冲 当发射脉冲个数为 1 的时候 就返回主程序 如果不为 1 就发 1ms 脉冲 然后再停发 1ms 脉冲 这样整个发射过程就结束了 实践过程中 在采用红外线遥控方式的时侯 由于受到角度 遥控距离等影响 从而 在使用时效果不是很好 但是采用调幅或调频发射接收码 不但可以提高遥控距离 而且 没有角度影响 初始化 调用键扫描 处理子程序 扫键开始 键按下 逐行扫描 按 P 口值查键号 按键号转至相应的 发射程序 返回 Y N 图 4 1 3 红外信号发射过程图 发射开始 装入发射脉冲个数 R1 发 3ms 脉冲 停发 1ms R1 1 0 发 1ms 脉冲 停发 1ms 返 回 4 2 遥控接收部分 遥控接收部分的主程序及初始化和延时过程如下 首先初始化 再按照显示亮度数 据设定调光脉冲延时值 最后看 P3 0 口的脉冲是否为 0 如果不是 0 就调入延时程序 此 时 P2 7 口输出调光脉冲然后返回 如果为 0 就直接返回 N N Y Y 图 5 2 1 遥控接收部分主程序图 开始 初始化 按显示亮度数据设定 调光脉冲延时值 P3 0 0 调延时程序 P2 7 口输出调 光脉冲 中断过程 首先判断低电平脉冲宽度是否大于 2ms 如果脉宽不到 2ms 就中断返回 如果低电平大于 2ms 就接收低电平脉冲计数 接下来就判断高电平脉冲宽度是不是大于 3ms 如果脉宽不到 3ms 则返回上一接收计数过程 如果高电平脉宽大于 3ms 就按照脉 冲个数至对应功能程序 此时中断返回 N N Y Y N N Y Y 图 4 2 2 中断过程图 中断开始 低电平脉宽 2ms 接收并对低电平脉冲计数 高电平脉宽 3ms 按脉冲个数至对应的功能程序 中断返回 5 系统调试 控制电路板的安装与调试在整个系统研制中占有很重要位置 它不但是把理论付 诸实践的过程 而且也是把纸面设计转变到实际产品的必经阶段 对试验阶段的电路 板安装一般有焊接方式和面包板插接方式两种方式 一般用面包板焊接 因为用面包 板焊接使用方便 容易更换器件和线路 而且可以反复使用 但是使用过多后面包板 中弹簧片会变松 弹性会变差 容易造成接触不良 这点需要注意 实验和调试常用的仪器有 信号发生器 稳压电源 万用表 示波器等 调试的主要步骤 a 调试前不加电源 对照电路图和实际线路检查连线是否正确 如少接 错接 多接等 电源端对地 是不是存在短路 元器件引脚之间有没有短路 连接处有没有接触不良 二极管 三 极管 集成电路和电解电容的极性是不是都正确 电源供电 极性 信号源 连线是 不是正确 用万用表电阻档检查焊接和接插是不是良好 电路经过上述检查 确认无 误后 可转入静态检测与调试 b 静态检测与调试 断开信号源 把经过准确测量的电源接入电路 用万用表电压档监测电源电压 观察有无冒烟 异常气味 异常声音等异常现象 如果发现异常情况 立即切断电源 排查除故障 如果没此类现象 分别测量静态工作点 数字电路各输入端和输出端的 高低电平值和逻辑关系等各关键点直流电压 是否都在正常工作状态下 如果不相符 就调整电路元器件参数 更换元器件等 使电路最终工作在合适的工作状态下 对于 放大电路还要用示波器观察是不是有自激发生 C 动态检测与调试 在静态调试的基础上动态调试 将所需的信号源加在电路的输入端 逐级检测有 关点的波形 参数和性能指标是否达到设计要求 发现问题 按照原理和常规知识找 出原因 排除故障 继续检测调试 此电路在正常工作状态下 当接通不同的开关时所显示的波型不一样 因为所设 计的遥控器电路是采用码分制遥控方式 d 调试注意事项 测量仪器的带宽必须大于被测量电路的带宽 测量电压所用仪器的输入阻抗必须远大于被测处的等效阻抗 屏蔽线连线常使用在在信号较弱的输入端 并且要注意将屏蔽线的外屏蔽层要 接到公共地线上 在频率较高时要设法隔离连接线分布电容的影响 测量仪器的接地端要正确使用 仪器的接地端与电路的接地端要可靠连接 6 结束语 经过几个月的努力 我在张老师的耐心帮助和自己的努力下终于完成了此次设计 并按设计要求实现了遥控器的各项功能 通过这次设计使我从中学到到了很多课本上 学不到的知识 了解了红外遥控器的现状和发展趋势 并学会了用单片机开发产品的 完整的过程 通过自己亲自去动手和调试我明白的实践的重要性 理论结合实践的含义 同时也大大的提高了自己的动手能力 这在我以后的工作中都是非常有用的 在这次设计中 张老师不厌其烦的给我讲解问题和修正错误 在此表示衷心的感 谢 附录 1 遥控发射部分程序 include define TIMEH 12 基于 22 1184M 时钟晶振 数字越大 时间越长 define TIMEL 50 基于 22 1184M 时钟晶振 数字越大 时间越长 define ROW P3 矩阵按键接口定义 define LINE P2 矩阵按键接口定义 extern void timer init void extern void delay unsigned int extern unsigned char scan key void unsigned char irm code sbit QD P1 0 void main unsigned char tmp irm code 0 xff timer init while 1 tmp scan key if tmp 0 xff if irm code 0 xff 一次键值发射完成后会将 irm code 置为 0 xff irm code tmp 键值传递 TR0 1 启动定时器 完成编码发射 delay 10 两次编码发射之间需要延时 连续发射会导致解码失败 void timer init void TMOD 0 x01 TH0 0 xff TL0 0 xff EA 1 ET0 1 TR0 0 定时中断 红外编码 void timer int void interrupt 1 static unsigned char i 0 flag 0 QD QD if i 10 连续发射 5 个 0 引导码 TH0 255 TIMEH 2 TL0 255 TIMEL 2 i else if i 18 数据编码 if irm code TL0 255 TIMEL irm code 1 i else TH0 255 TIMEH 2 TL0 255 TIMEL 2 if flag irm code 1 i flag 0 x01 else TR0 0 i 0 QD 1 irm code 0 xff TH0 0 xff TL0 0 xff void delay unsigned int t unsigned char i while t for i 0 i 230 i 矩阵按键扫描 unsigned char scan key void unsigned char j static unsigned char i 0 ROW 255 1 i 列扫描低电平有效 FE FD FB F7 if LINE 0 xff for j 0 j 8 j if LINE 255 1 j return j i 3 i i return 0 xff include define TIMEH 12 基于 22 1184M 时钟晶振 数字越大 时间越长 define TIMEL 50 define ROW P3 define LINE P2 extern void timer init void extern void delay unsigned int extern unsigned char scan key void unsigned char irm code turn flag sbit QD P1 0 void main unsigned char tmp 0 irm code 0 turn flag 0 timer init while 1 if turn flag 0 tmp scan key if tmp 0 xff irm code tmp TR0 1 turn flag 0 xff void timer init void TMOD 0 x01 TH0 0 xff TL0 0 xff EA 1 ET0 1 TR0 0 void timer int void interrupt 1 static unsigned char i 0 flag 0 QD QD if i 10 TH0 255 TIMEH 2 TL0 255 TIMEL 2 i else if i 18 if irm code TL0 255 TIMEL irm code 1 i else TH0 255 TIMEH 2 TL0 255 TIMEL 2 if flag irm code 1 i flag 0 x01 else TR0 0 i 0 QD 1 turn flag 0 TH0 0 xff TL0 0 xff void delay unsigned int t unsigned char i while t for i 0 i 230 i unsigned char scan key void static unsigned char i unsigned char tmp j unsigned char code row code 0 xfe 0 xfd 0 xfb 0 xf7 unsigned char code lin code 0 xfe 0 xfd 0 xfb 0 xf7 0 xef 0 xdf 0 xbf 0 x7f ROW row decode i tmp LINE for j 0 j 8 j if tmp lin code j return j switch tmp case 0 xfe return 0 x01 break case 0 xfd return 0 x02 break case 0 xfb return 0 x03 break case 0 xf7 return 0 x04 break case 0 xef return 0 x05 break case 0 xdf return 0 x06 break case 0 xbf return 0 x07 break case 0 x7f return 0 x08 break default break ROW 0 xfd tmp LINE switch tmp case 0 xfe return 0 x09 break case 0 xfd return 0 x0a break case 0 xfb return 0 x0b break case 0 xf7 return 0 x0c break case 0 xef return 0 x0d break case 0 xdf return 0 x0e break case 0 xbf return 0 x0f break case 0 x7f return 0 x10 break default break ROW 0 xfb tmp LINE 0 x80 switch tmp case 0 xfe return 0 x11 break case 0 xfd return 0 x12 break case 0 xfb return 0 x13 break case 0 xf7 return 0 x14 break case 0 xef return 0 x15 break case 0 xdf return 0 x16 break case 0 xbf return 0 x17 break case 0 x7f return 0 x18 break default break ROW 0 xf7 tmp LINE switch tmp case 0 xfe return 0 x19 break case 0 xfd return 0 x1a break case 0 xfb return 0 x1b break case 0 xf7 return 0 x1c break case 0 xef return 0 x1d break case 0 xdf return 0 x1e break case 0 xbf return 0 x1f break case 0 x7f return 0 x20 break default break 附录 2 遥控解码部分程序 include irm int h unsigned char irm code 红外解码键值返回全局变量 void irm int2 init void EA 1 IT0 1 下降沿中断 EX0 1 irm code 0 xff void irm int void interrupt 0 unsigned char i flag unsigned int counter unsigned int temp 0 EA 0 temp 0 xff counter 0 flag 0 for i 0 i300 break if counter 10 else flag 0 xff counter 0 while IRM DQ if counter 300 break if counter 10 else flag 0 xff irm code unsigned char temp IE0 0 EA 1 include irm int h unsigned char irm code 红外解码键值返回全局变量 void irm int2 init void EA 1 IT0 1 下降沿中断 EX0 1 irm code 0 xff void irm int void interrupt 0 unsigned char i flag unsigned int counter unsigned int temp 0 EA 0 temp 0 xff counter 0 flag 0 for i 0 i300 break if counter 10 else flag 0 xff counter 0 while IRM DQ if counter 300 break if counter 10 else flag 0 xff irm code unsigned char temp IE0 0 EA 1 include include irm int h extern void led disp unsigned int number 数码管地址定义 define SEG Q XBYTE 0 xffec 千位 LEFT define SEG B XBYTE 0 xffed 百位 define SEG S XBYTE 0 xffee 十位 define SEG G XBYTE 0 xffef 个位 RIGHT void main irm int2 init led disp 2009 while 1 if irm code 0 xff led disp irm code irm code 0 xff 通用数码管显示函数 传入数据 0 9999 void led disp unsigned int number unsigned char code tab1 20 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 unsigned char temp flag 0 if number 10000 千位数码管 temp number 1000 10 if temp SEG Q tab1 temp flag 1 else SEG Q 0 xff 数码管熄灭 flag 0 百位数码管 temp number 100 10 if flag temp SEG B tab1 temp flag 1 else SEG B 0 xff 数码管熄灭 flag 0 十位数码管 temp number 10 10 if flag temp SEG S tab1 temp else SEG S 0 xff 数码管熄灭 个位数码管 temp number 10 SEG G tab1 temp else S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时间的脚印app课件
- 有趣的发现作文500字8篇范文
- 时装销售专业知识培训课件
- 时政知识培训方案策划书课件
- 时尚品牌知识课件
- 农业产品供销合同及质量保障协议
- 作文之星谈攻略写作文打腹稿很重要11篇
- 纪检业务知识培训心得
- 纪昌学射课件
- 纪念鲁迅先生的课件
- 外周前庭系统解剖生理及原则课件
- 建筑工程技术标通用
- 临床执业助理医师呼吸系统
- 建设生态文明ppt模板课件
- T∕CGMA 033001-2018 压缩空气站能效分级指南
- 《创新方法》课程教学大纲
- 钻井作业现场常见安全风险及隐患ppt课件
- REFLEXW使用指南规范.doc
- 赛摩6001B皮带校验说明书
- 气动机械手系统设计(含全套CAD图纸)
- 常用处方药名医嘱拉丁文缩写
评论
0/150
提交评论