已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的遥控灯箱的设计基于单片机的遥控灯箱的设计 系 部 电子工程系 学生姓名 朱加巧 专业班级 电信 08C1 学 号 082221104 指导教师 张宇峰 二 一一年三月二十日 毕业设计 声声 明明 本人所呈交的本人所呈交的 是我在指导教师的指导 是我在指导教师的指导 和查阅相关著作下独立进行分析研究所取得的成果 除文中已经注明引用的内容外 和查阅相关著作下独立进行分析研究所取得的成果 除文中已经注明引用的内容外 本论文不包含其他个人已经发表或撰写过的研究成果 对本文的研究做出重要贡献的本论文不包含其他个人已经发表或撰写过的研究成果 对本文的研究做出重要贡献的 个人和集体 均已在文中作了明确说明并表示谢意 个人和集体 均已在文中作了明确说明并表示谢意 作者签名 作者签名 日期 日期 毕业设计 摘要摘要 在日常使用电子产品中 由于单片机具有功能强 体积小 功耗低 价格便宜 工作可靠 使用方便等特点 它在各个领域的使用越来越广泛 而单片机的发展也十 分迅速 遥控灯箱是用单片机根据接受信号 使直流电机正转 反转 停止 其的突 出优点是具有外观新颖 工作可靠 使用方便 灵活等特点 因此它在各个领域的使 用也很普及 本课题将通过 protel 软件来绘制原理图及 PCB 图然后进行设计一个遥控灯箱 使电 子专业学生对单片机与直流电机的工作原理 外加红外遥控等的实际应用有系统的了 解 与学生的培养目标 培养规格和教学计划要求相一致的 对检测学生所学专业知 识 理论 技能和培养学生独立完成基本科研任务的能力具有一定的效果和意义 关键词关键词 单片机 直流电机 遥控 Abstract Abstract ElectronicElectronic productsproducts inin everydayeveryday use use asas a a functionfunction ofof SCMSCM small small volume volume lowlow powerpower consumption consumption cheap cheap reliable reliable easyeasy toto useuse features features ifif isis moremore widelywidely usedused inin variousvarious fields fields andand thethe microcontrollermicrocontroller alsoalso growinggrowing veryvery rapidly rapidly RemoteRemote lightlight boxbox isis usedused microcontrollermicrocontroller accordingaccording toto thethe acceptedaccepted signalsignal toto thethe DCDC motormotor forward forward reverse reverse stop andstop and itsits outstandingoutstanding advantageadvantage isis thatthat withwith thethe appearanceappearance ofof new new reliable reliable easyeasy toto useuse andand flexibleflexible features features soso ifif isis usedused inin variousvarious fieldsfields isis alsoalso veryvery popular popular ThisThis topictopic willwill protelprotel softwaresoftware toto designdesign bothboth a a remoteremote lightlight box box soso thatthat e SCMe SCM andand professionalprofessional studentsstudents workingworking principleprinciple ofof DCDC motor motor plusplus IRIR remoteremote controlcontrol thethe practicalpractical applicationapplication ofof a a systematicsystematic understanding understanding andand studentstrainingstudentstraining objectives objectives trainingtraining requirementsrequirements specificationsspecifications andand consistentconsistent teachingteaching programs programs testingtesting studentsstudents onon professionalprofessional knowledge knowledge theory theory skills andskills and prepareprepare studentsstudents forfor independentindependent abilityability toto performperform basicbasic researchresearch taskstasks andand significancesignificance ofof thethe effecteffect ofof certaincertain Key Key words microcontroller words microcontroller motor motor remoteremote controlcontrol 毕业设计 目目 录录 一 引言一 引言 1 一 选题背景 1 二 研究目标与意义 1 二 方案设计与论证二 方案设计与论证 1 一 电机的选择 1 二 控制器件的选择 1 三 方案确定 2 三 硬件设计三 硬件设计 2 一 单片机 2 二 直流电机 5 三 红外遥控 9 四 四 软件设计软件设计 13 一 程序流程图 13 二 按键设计 14 三 红外遥控 16 四 程序 16 五 结束语五 结束语 20 致致 谢谢 20 参考文献参考文献 20 附录一附录一 主原理图主原理图 21 附录二附录二 红外遥控原理图红外遥控原理图 22 附录三附录三 主主 PCBPCB 图图 23 附录四附录四 红外遥控红外遥控 PCBPCB 图图 24 毕业设计 1 一 引言一 引言 一 一 选题选题背景背景 电机是一种能量转换的装置 在国民经济中起着重要作用 无论是在工农生产 交通运输 国防宇航 医疗卫生 商务与办公设备 还是日常生活中的家用电器 都 大量的使用着各种各样的电机 如汽车 电视机 电风扇 空调等等也离不开电机 同时 在越来越多的应用场合 只能旋转的电机己无法满足要求 而是要求能够实现 快速加速 减速或反转以及准确停止等功能 传统的灯箱一般只能实现其正转 没有反转 停止等功能 遥控灯箱更难见 遥 控灯箱不仅解决了以往灯箱的死板 单一的特点 而且其使用方便 简单 更能适应 生活的需求 也更具有新鲜感 二 研究目标与意义 二 研究目标与意义 此次课题设计一个遥控直流电机系统 用单片机设计并实现以键盘或红外遥控接受 器作为输入 单片机根据接受到的信号发出一定脉冲从而控制直流电机的开 关 正 反转动 停止 以达到遥控灯箱的基本功能 二 方案设计与论证二 方案设计与论证 一 一 电机的选择电机的选择 电机分类很多 比如有 直流电机 步进电机等 直流电机易于控制 平滑调节 且成本低 而步进电机价格昂贵 控制精度要求高 一般用于数控机床 自动绘图仪 等设备中 本课题对电机的要求不是很高 使用直流电机完全可以 充分利用了元器 件也节约了成本 而且直流电动机数字化已经走向实用化 其主要特点是 1 常规的晶闸管直流调速系统中大量硬件可用软件代替 从而简化系统结构 减 少了电子元件虚焊 接触不良和漂移等引起的一些故障 而且维修方便 2 动态参数调整方便 3 系统可以方便的设计监控 故障自诊断 故障自动复原程序 以提高系统的可 靠性 4 可采用数字滤波来提高系统的抗干扰性能 5 可采用数字反馈来提高系统的精度 6 容易与上一级计算机交换信息 7 具有信息存储 数据通信的功能 二 二 控制器件的选择控制器件的选择 方案一 通过输入电压的大小来控制电机的正转 反转以及停止 开关 只要使 输入电动机的相互转换即可实现电机的正 反转 但是电压的改变是连续的 不可以 跳跃 这样就会使电机在进行转动的时候产生不稳定 电机也容易破损 方案二 采用单片机进行控制电机 本设计需要使用的软件资源比较简单 只需 要完成红外线接收部分 键盘控制部分以及输出驱动功能 运用单片机进行控制比较 毕业设计 2 简单 易控制 可靠性高 抗干扰能力强 精度高且体积大大减小 AT89C51 是一种 带 4K 字节闪烁可编程可擦除只读存储器的低电压 高性能 CMOS8 位微处理器 具有 4K 字节可编程闪烁存储器 可擦除的的只读存储器 PEROM ATMEL 的 AT89C51 是一 种高效微控制器 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉 鉴于上面分析 方案一只能自以为改变所给电压值而能使电动机的改变正 反转 动 其不稳定性太大 方案二只是把理想的电压脉冲送动电机驱动电路 通过其放大 驱动电机的正 反转动以及停止 开关 其更具有稳定也容易操作 选用方案二 三 方案确定 三 方案确定 综上所述 电机采用直流电机 而主要的控制器件则采用 AT89C51 单片机 总的 设计框图见图 2 1 红外接受 AT89C51 电机驱动电路 直流电机 红外发射 键盘 图 2 1 系统框图 三 硬件设计三 硬件设计 一 单片机 一 单片机 1 AT89C51 单片机简介 AT89C51有 PDIP PLCC TQFP 三种封装方式 其中最常见的就是采用40PIN 封装的 双列直接 PDIP 封装 下面有 AT89C51的基本结构图 见图3 1 芯片共有40个引脚 见图3 1 引脚的排列顺序为从靠芯片的缺口左边那列逆时 针数起 依次为1 2 3 4 40 其中芯片的1脚顶上有一个凹点 见图3 1 在单片 机的40 个引脚中 电源引脚2根 外接晶体振荡器引脚2根 控制引脚4根以及4组8为 可编程 I O 引脚32根 主电源引脚 2根 1 VCC 电源输入 接 5V 电源 2 GND 接地线 外接晶振引脚 2根 毕业设计 3 图3 1 AT89C51基本结构图 1 XTAL1 片内晶振电路的输入端 2 XTAL2 片内晶振电路的输出端 图3 2 AT89C51单片机引脚配置图 控制引脚 4根 1 RST VPP 复位引脚 引脚上出现2个机器周期的高电平将使单片机复位 2 ALE PROG 地址所存允许信号 3 PSEN 外部存储器读选通讯信号 4 EA VPP 程序存储器的内外部选通 接低电平从外部程序存储器读指令 如 果接高电平则从内部程序存储器读指令 振荡与定时电 路 4KB程序存 储器 128B数据 存储器 CPU 并行端口总线控制串行端口 系 统 总 线 时钟源 P0 P1 P2 P3 TXD RXD 128B特殊功 能寄存器 内部中 断信号 外部中断 信号 控制信号 两个16位定时 器 计数器 T0 T1 毕业设计 4 可编程输入 输出引脚 32根 AT89C51单片机有4组8为可编程 I O 口 分别为 P0 P1 P2 P3口 每个口有8位 8根引脚 共32根 每一根引脚都可以编程 比如用来控制电机 交通灯等 开发 产品时就是利用这些可编程引脚来实现我们想要的功能 1 P0口 8位双向 I O 口线 名称为 P0 0 P0 7 2 P1口 8位准双向 I O 口线 名称为 P1 0 P1 7 3 P2口 8位准双向 I O 口线 名称为 P2 0 P2 7 4 P3口 8位准双向 I O 口线 名称为 P3 0 P3 7 2 时钟电路 XTAL1和 XTAL2引脚分别为单片机内反相放大器的输入 输出端 其频率范围为 1 2 12MHz XTAL2又是内部时钟发生器的输入端 这个内部反相器可与外部元件组成 的振荡器 见图3 3 采用石英晶体振荡器时 C 3010 pF 在任何情况下 振荡 器始终驱动内部时钟发生器向主机提供时钟信号 因为时钟发生器的输入是个二分频 触发器 所以对外部振荡信号的脉宽无特殊要求 但必须保证高低电平的最小宽度 图3 3 单片机振荡电路 3 复位电路 单片机的复位电路都是靠外部电路来实现的 在时钟电路工作后 只要单片机的 复位引脚 RET 上出现2个机器周期以上的高电平 单片机就实行初始化复位 其复 位电路见图3 4 复位脉冲信号使 PC 指针指向0000H 单元 复位脉冲信号使 SFR 得到固 定的初始值 图3 4 单片机复位电路 毕业设计 5 二 直流电机 二 直流电机 1 直流电机原理 直流电动机是根椐电磁力定律而工作的 电刷两端外加一直流电 通过换向器和 电刷的作用变换成电枢元件中的交流电 从而产生单方向的电磁转矩而旋转 直流电 机由定子和转子两部分构成 定子包括 主磁极 换向极 机座和电刷装置 其主要 作用是产生主磁场 见图 3 5 转子包括 电枢铁芯 电枢绕组 换向器和转轴 其 主要作用是产生感应电势和电磁转矩 T 是直流电机能量转换的核心 图 3 5 电刷两端的电势波型 直流斩波器又称直流调压器 是利用开关器件来实现通断控制 将直流电源电压 断续加到负载上 通过通 断时间的变化来改变负载上的直流电压平均值 将固定电 压的直流电源变成平均值可调的直流电源 亦称直流 直流变换器 它具有效率高 体积小 重量轻 成本低等优点 现广泛应用于地铁 电力机车 城市无轨电车以及 电瓶搬运车等电力牵引设备的变速拖动中 图 3 6 为直流斩波器的原理电路和输出电压波型 图中 VT 代表开关器件 当开关 VT 接通时 电源电压 U 加到电动机上 当 VT 断开时 直流电源与电动机断开 电动 机电枢端电压为零 图 3 6 斩波器原理电路及输出电压波型 a 原理图 b 电压波型 这样 电动机电枢端电压的平均值为 3 1 d ton SS UUU T 式中 T 开关器件的通断周期 毕业设计 6 开关器件的导通时间 on t 占空比 on on t tf T 开关频率 f 由式 3 1 可知 直流斩波器的输出电压平均值可以通过改变占空比 即通过改 d U 变开关器件导通或关断时间来调节 常用的改变输出平均电压的调制方法有以下三种 1 脉冲宽度调制 pulse width modulation 简称 PWM 开关器件的通断周期 T 保持不变 只改变器件每次导通的时间 也就是脉冲周期不变 只改变脉冲的宽 on t 度 即定频调宽 2 脉冲频率调制 pulse frequency modulation 简称 PFM 开关器件每次导 通的时间不变 只改变通断周期 T 或开关频率 也就是只改变开关的关断时间 on tf 即定宽调频 称为调频 3 两点式控制 开关器件的通断周期 T 和导通时间均可变 即调宽调频 亦 on t 可称为混合调制 当负载电流或电压低于某一最小值时 使开关器件导通 当电流或 电压高于某一最大值时 使开关器件关断 导通和关断的时间以及通断周期都是不确 定的 构成直流斩波器的开关器件过去用得较多的是普通晶闸管和逆导晶闸管 它们本 身没有自关断的能力 必须有附加的关断电路 增加了装置的体积和复杂性 增加了 损耗 而且由它们组成的斩波器开关频率低 输出电流脉动较大 调速范围有限 自 20 世纪 70 年代以来 电力电子器件迅速发展 研制并生产了多种既能控制其导通又能 控制其关断的全控型器件 如门极可关断晶闸管 GTO 电力电子晶体管 GTR 电 力场效应管 P MOSFET 绝缘栅双极型晶体管 IGBT 等 这些全控型器件性能优良 由它们构成的脉宽调制直流调速系统 简称 PWM 调速系统 近年来在中小功率直流传 动中得到了迅猛的发展 2 直流电机驱动 在直流电机驱动电路的设计中 主要考虑以下几点 1 功能 电机是单向还是双向转动 需不需要调速 对于单向的电机驱动 只要 用一个大功率三极管或场效应管或继电器直接带动电机即可 当电机需要双向转动时 可以使用由 4 个功率元件组成的 H 桥电路或者使用一个双刀双掷的继电器 如果不需 要调速 只要使用继电器即可 但如果需要调速 可以使用三极管 场效应管等开关 元件实现 PWM 调速 2 性能 对于电机驱动电路 主要有以下性能指标 a 输出电流和电压范围 它决定着电路能驱动多大功率的电机 毕业设计 7 b 效率 高的效率不仅意味着节省电源 也会减少驱动电路的发热 要提高电路 的效率 可以从保证功率器件的开关工作状态和防止共态导通入手 c 对控制输入端的影响 功率电路对其输入端应有良好的信号隔离 防止有高电 压大电流进入主控电路 这可以用高的输入阻抗或者光电耦合器实现隔离 d 对电源的影响 共态导通可以引起电源电压的瞬间下降造成高频电源污染 打 的电流可能导致地线电位浮动 e 可靠性 电机驱动电路应该尽可能做到无论加上何种控制信号 何种无源负载 电路都是安全的 采用 桥结构 以驱动直流电机的正 反转 见图 3 7 从图中可以看出 其形状类似于字母 H 而作为负载的直流电机是像 桥 一 样架在上面的 所以称之为 H 桥驱动 4 个开关所在位置就称为 桥臂 图 3 7 H 桥电路 从电路中不难看出 假设开关 A D 接通 电机为正向转动 则开关 B C 接通时 直流电机将反向转动 从而实现了电机的正反向驱动 以上只是从原理上描述了 H 桥驱动 而实际应用中很少用开关构成桥臂 通常使 用晶体管 因为控制更为方便 速度寿命都长于有接点的开关 继电器 双极性晶体管构成的 H 桥 见图 3 8 图 3 8 晶体管 H 桥电路 毕业设计 8 MOS 管构成的 H 桥 见图 3 9 图 3 9 MOS 管 H 桥电路 以下就分析一下这些电路的性能差异 几种典型 H 桥驱动电路分析 分析之前 首先要确定 H 桥要关注那些性能 1 效率 所谓驱动效率高 就是要将输入的能量尽量多的输出给负载 而 驱动电路本身最好不消耗或少消耗能量 具体到 H 桥上 也就是 4 个桥臂在导通时最 好没有压降 越小越好 2 安全性 不能同侧桥臂同时导通 3 电压 能够承受的驱动电压 4 电流 能够通过的驱动电流 大致如此 仔细考量 指标 2 似乎不是 H 桥本身的问题 而是控制部分要考虑的 而 后两个指标通过选择合适参数的器件就可以达到 只要不是那些特别大的负载需求 每种器件通常都能选择到 而且直流电机应用中所能遇到的电流 电压更是有限 只有指标 1 是由不同器件的性能所决定的 而且是运行中最应该关注的指标 因 为它直接影响了电机驱动的效率 所以 经分析的重点放在效率上 也就是桥臂的压 降上 为了使分析简单 便于比较 将 H 桥的驱动电流定位在 2A 水平上 而电压在 5 12V 之间 选择三个我所涉及到的器件 a 双极性晶体管 D772 D882 b MOS 管 2301 2302 c 集成电路 H 桥 L298 根据查阅的资料可知 如果均心 2A 电流驱动计算 三种驱动自身消耗的功率如下 D772 D882 0 5 0 5 2 2 W 2301 2302 0 26 0 12 2 0 76 W 毕业设计 9 L298 4 9 2 9 8 W 如果以驱动一个 4 5V 2A 的直流电机为例 电机得到的功率是 4 5 2 9W 用 D772 D882 则需要供电 5 5V 效率为 9 5 5 2 81 用 2301 2302 则需要供电 4 88V 效率为 9 4 88 2 92 用 L298 则需要供电 9 4V 效率为 9 9 4 2 48 综合考虑 运用 MOS 管驱动直流电机其性能最好 3 PWM 控制电机 由单片机发出 PWM 信号输入电机驱动电路 进而控制电机 一般电机运用 PWM 都 是用来实现其调速功能 而本设计中并没有涉及其调速 那为什么还要用 PWM 来控制 呢 主要原因是其稳定性高且容易调节 只要改变其输出电压的大小就可以控制直流 电机的正 反转动与停止 由按键发出信号 进行编码送往发射器并发出信号 接受器接受信号解码并送往 主单片机 单片机根据输入信号发出相应的 PWM 脉冲以控制直流电机的开 关 正 反转 停止 PWM 的产生主要利用 CPU 内部的双计数器 T0 T1 来分别控制 PWM 信 号的振荡周期和脉宽 见图 3 10 u 5V t T0 T1 图 3 10 脉冲图 由于 T0 的计数时间总是小于或是等于 T1 的计数时间 因此 T0 必先产生中断 而由 CPL 指令来改变波形 同时关断 T0 计数器 TR0 等待 T1 产生中断 重新开启 TR0 重新计数 PWM 系统有以下优点 1 采用全控型器件的 PWM 系统 其脉宽调制电路的开关频率高 一般在几 kHz 因此系统的频带宽 响应速度快 动态抗扰能力强 2 由于开关频率高 仅靠电动机电枢电感的滤波作用就可以获得脉动很小的直 流电流 电枢电流容易连续 系统的低速性能好 稳速精度高 调速范围宽 同时电 动机的损耗和发热都较小 3 PWM 系统中 主回路的电力电子器件工作在开关状态 损耗小 装置效率高 而且对交流电网的影响小 没有晶闸管整流器对电网的 污染 功率因数高 效率高 毕业设计 10 4 主电路所需的功率元件少 线路简单 控制方便 3 3 红外遥控红外遥控 1 红外遥控原理 红外线是一种电磁波 具有与无线电波及可见光一样的本质 人的眼睛能看到的 可见光按波长从长到短排列 依次为红 橙 黄 绿 青 蓝 紫 其中红光的波长 范围为0 62 0 76 m 紫光的波长范围为0 38 0 46 m 比紫光波长还短的光叫紫外线 比红光波长还长的光叫红外线 红外线的波长在0 76 100 m之间 位于无线电波与可 见光之间 红外线遥控就是利用波长为0 76 1 5 m之间的近红外线来传送控制信号的 红外线遥控器是以红外线发光LED 发射波长940nm的红外线不可见光 来传送信号 整个遥控器系统分为发射端及接收端两部分 发射端经过红外线发射LED送出红外线 控制信号 这些信号经过红外线接收模块接收端接收进来 并对其控制信号做译码而 做相对的动作输出完成遥控的功能 红外线遥控器已被广泛使用在各种类型的家电产品上 它的出现给使用电器提供 了很多的便利 红外遥控系统一般由红外发射装置和红外接收设备两大部分组成 红 外发射装置又可由键盘电路 红外编码芯片 电源和红外发射电路组成 红外接收设 备可由红外接收电路 红外解码芯片 电源和应用电路组成 通常为了使信号能更好 的被传输发送端将基带二进制信号调制为脉冲串信号 通过红外发射管发射 常用的 有通过脉冲宽度来实现信号调制的脉宽调制 PWM 和通过脉冲串之间的时间间隔来 实现信号调制的脉时调制 PPM 两种方法 在同一个遥控电路中通常要使用实现不同的遥控功能或区分不同的机器类型 这 样就要求信号按一定的编码传送 编码则会由编码芯片或电路完成 对应于编码芯片 通常会有相配对的解码芯片或包含解码模块的应用芯片 在实际的产品设计或业余电 子制作中 编码芯片并一定能完成我们要求的功能 这时我们就需要了解所使用的编 码芯片到底是如何编码的 只有知道编码方式 我们才可以使用单片机或数字电路去 定制解码方案 下面收集整理的一些常用遥控编码芯片的编码方式和常用一体化接收 芯片的引脚示意图 见图3 11 图3 11 常见的红外接收器 数据格式 毕业设计 11 数据格式包括了引导码 用户码 数据码和数据码反码 编码总占 32 位 数据 反码是数据码反相后的编码 编码时可用于对数据的纠错 注意 第二段的用户码也 可以在遥控应用电路中被设置成第一段用户码的反码 见图3 12 图 3 12 数据格式 2 编码与解码 1 0和1的编码 遥控器发射的信号由一串O和1的二进制代码组成 不同的芯片对0和1的编码有所 不同 通常有曼彻斯特编码和脉冲宽度编码 TC9012 p htm target blank title TC9012货源和PDF资料 TC9012的O和1采用PWM方法编码 即脉冲宽度调制 其O码和1码如图1所示 以遥控接收输出的波形为例 O码由O 56ms低电平和 0 56ms高电平组合而成 脉冲宽度为1 12ms 1码由0 56ms低电平和1 69ms高 电平组合而成 脉冲宽度为2 25ms 在编写解码程序时 通过判断脉冲的宽度 即 可得到0或1 2 按键的编码 当我们按下遥控器的按键时 遥控器将发出如图2的一串二进制代码 我们称它为 一帧数据 根据各部分的功能 可将它们分为5部分 分别为引导码 地址码 地址码 数据码 数据反码 遥控器发射代码时 均是低位在前 高位在后 由图2分析可以得 到 引导码高电平为4 5ms 低电平为4 5ms 当接收到此码时 表示一帧数据的 开始 单片机可以准备接收下面的数据 地址码由8位二进制组成 共256种 图中地 址码重发了一次 主要是加强遥控器的可靠性 如果两次地址码不相同 则说明本帧 数据有错 应丢弃 不同的设备可以拥有不同的地址码 因此 同种编码的遥控器只 要设置地址码不同 也不会相互干扰 图中的地址码为十六进制的0EH 注意低位在前 在同一个遥控器中 所有按键发出的地址码都是相同的 数据码为8位 可编码256种 状态 代表实际所按下的键 数据反码是数据码的各位求反 通过比较数据码与数据 反码 可判断接收到的数据是否正确 如果数据码与数据反码之间的关系不满足相反 的关系 则本次遥控接收有误 数据应丢弃 在同一个遥控器上 所有按键的数据码 均不相同 在图2中 数据码为十六进制的0CH 数据反码为十六进制的0F3H 注意低 位在前 两者之和应为0FFH 3 单片机遥控接收电路 红外遥控接收可采用较早的红外接收二极管加专用的红外处理电路的方法 如 CXA20106 此种方法电路复杂 现在一般不采用 较好的接收方法是用一体化红外 毕业设计 12 接收头 它将红外接收二极管 放大 解调 整形等电路做在一起 只有三个引 脚 分别是 5V电源 地 信号输出 常用的一体化接收头的外形及引脚见图3 11 红外接收头的信号输出接单片机的INTO或INTl脚 平时 遥控器无键按下 红外发射二极管不发出信号 遥控接收头输出信号1 有 键按下时 O和1编码的高电平经遥控头倒相后会输出信号O 由于与单片机的中断脚 相连 将会引起单片机中断 单片机预先设定为下降沿产生中断 单片机在中断时使用 定时器0或定时器1开始计时 到下一个脉冲到来时 即再次产生中断时 先将计时值 取出 清零计时值后再开始计时 通过判断每次中断与上一次中断之间的时间间隔 便可知接收到的是引导码还是 O和1 如果计时值为9ms 接收到的是引导码 如果计 时值等于1 12ms 接收到的是编码O 如果计时值等于2 25ms 接收到的是编码1 在判断时间时 应考虑一定的误差值 因为不同的遥控器由于晶振参数等原因 发射 及接收到的时间也会有很小的误差 3 电路设计 由于红外发射部分不止发射一种信号 其有正 反转 开 关 停止 5 种工作状 态故采用集成电路 T9148 T9148 是通用红外线遥控发射集成电路 与 TC9148P 兼容 内部电路由键盘输入电路 振荡电路 分频电路 单拍 连续指令控制电路 时钟信号 发生电路 指令数据控制电路和调制电路等组成 其特点为 1 采用 CMOS 工艺 功耗极低 2 电源电压范围为 2 2 5 5V 3 外围元件少 4 外接晶振 LC 或陶瓷滤波器 5 配套使用型号为 T9149A 及各种单片机接收电路 6 16 脚双列直插及贴片封装 7 典型振荡频率为 455KHz 发射载波频率为 38KHz 引脚配置 见图 3 13 毕业设计 13 图 3 13 T9148 引脚图 其中 2 3 脚为外接振荡电路 4 9 脚为键盘输入端 10 11 12 脚为时序输出 端 13 脚为用户码设定 14 脚为测试端 15 脚为信号输出端 1 脚接地 16 脚外接电 源 而红外接收电路只需要选用常用的红外接收器即可 见图 3 11 四 四 软件设计软件设计 一 程序流程图 一 程序流程图 是 解 码 开 关 停 止 正 转 反 转 是否有红外遥控 信号输入 否 扫描键盘或红外输入口 开 始 初始化 直流电机 结束 电机驱动电路 单片机输出相应的 PWM 脉冲 毕业设计 14 图 4 1 程序流程图 开机时单片机进行初始化操作 一切都回归到原始位置 这时单片机开始扫描是 否有红外遥控信号输入 如果有 单片机则进行接受信号并进行相应的解码 通过 P1 口输出相应的 PWM 脉冲波形给电机驱动电路控制直流电机的动作 其程序流程图见图 4 1 二 按键设计 二 按键设计 键码识别是指矩阵结构的键盘识别被按键的方法 一般有行扫描法 行列反转法 和行列扫描法 行扫描法的工作原理是这样的 CPU 首先向所有行输出低电平 如果没有按键按下 则所有列线输出为高电平 如果有某一键按下 则该键所在的列因为与行线低电平短 该 列线变为低电平 CPU 在此时通过读取列线的值即可判断有无键按下 在有键按下的 情况下 CPU 再来确定是哪一个键按下 采用的方法是行扫描法 先向第 0 行输出低电 平 其余行输出高电平 然后读取所有列线的电平值 如果有某一列为低电平 则说 明 0 行和该列跨接位置的那个键被按下了 确定了键的位置就可以退出扫描了 如果 列线全为高电平 说明本行没有键按下 则继续将下一行输出低电平 其余行输出高 电平 然后读取所有列线的电平值 依此类推 直到找到按下键的位置 则退出扫描 找到按下键的位置 即该键的行号和列号 就可以获得该键的键码 这种通过行列位 置表示的键码称为行列码或扫描码 也称为键盘扫描码 行列反转法也是常用的识别闭合键的方法 其工作原理是 首先对所有行线输出 低电平 列线输出高电平 同时读入列线 如果有键按下 则该键盘所在的列线为低 电平 而其它列线为高电平 由此获得列号 然后向所有列线输出低电平 行线输出 高电平 读行线 确定按键的行号 通过行号和列号确定按键的位置和编码 行列扫描法也是键盘使用的主要键码识别方法 其工作原理如下 首先向每一行 依次输出低电平 其余各行为高电平 每扫描一行 读取一次列线 如果列线全为高 电平 说明没有键按下 如果有一列为低电平 则说明有键按下 此时可以确定行号 和列号 行扫描完成 接下来依次向每一列输出低电平 读行线 再次确定按键的行 号和列号 两次获得的行号和列号相同 则键码正确 即获得按下键的行列扫描码 综上所述 在键盘设计中 采用行列扫描法 可以节省 I O 操作也方便 简单 除了识别有无键按下 按下键的行列扫描码以外 还要解决抖动和重键问题 一个键 按下和释放的时候 按键开关会在闭合和断开位置间跳动几次后达到稳定状态 这就 是抖动问题 抖动的存在会使得脉冲的开头和尾部出现一些毛刺波 持续时间一般小 毕业设计 15 于 10ms 如果不处理抖动问题 就可能被误作多次按键 抖动的消除可以通过硬件方 法 采用 RC 滤波电路消除抖动的波形 也可以采用软件方法 在读取键码的时候延 时一段时间 等信号稳定后再去识别键码 重键问题是指由于误操作 两个或以上的 键被同时按下 此时行列扫描码中就会产生错误的行列值 重键处理的方法有连锁法 和顺序法 连锁法是不停地扫描键盘 仅承认最后一个闭合键 顺序法是识别到一个 闭合键后 直到该键被释放后再去识别其他按键 详情见其流程图 4 2 否 是 开始 是否有 键按下 延时 10ms 是否有键 按下 编码并发出红外信号 初始化 是 否 图 4 2 按键流程图 T9148 其键盘输入端 K1 K6 和时序输出端 T1 T3 构成 6 3 矩阵 见图 4 3 T1 列的 6 键 1 6 可以任意组合 共有 63 种状态 当有键按下时 输出端 TxOUT 产生 连续输出脉冲直至松开键为止 T2 和 T3 两列的 12 个键 7 18 只能单件使用 每按 一次键且无论按下多长时间 TxOUT 端只发射一组脉冲 两个周期 同一行上的键 例如 1 7 13 无多键功能 若同时按下数键 则只有一个键起作用 其优先次序 为 1 7 13 T2 和 T3 列上的键也无多键功能 毕业设计 16 图 4 3 键盘矩阵图 三 红外遥控 三 红外遥控 由于红外发光二极管的发射功率一般都较小 100mW 左右 所以红外接收二极 管接收到的信号比较微弱 因此就要增加高增益放大电路 因此在红外线发射端红外 线信号加载在一个 38kHz 载波上发射出去 这样即增加了信号强度 也增强了信号的 传输距离 使用起来更加方便 图 4 4 红外遥控流程图 四 程序 四 程序 include include 毕业设计 17 sbit hw P3 2 sbit fmq P3 6 sbit zheng P2 0 sbit fan P2 1 define uchar unsigned char define uint unsigned int uchar data a 4 uint HighTime LowTime 函数功能 延时1毫秒 void delay1ms uint i 1000 uint j while i for j 0 j 125 j 函数功能 红外解码 bit Decode uchar i j uchar temp 0 x00 for i 0 i 4 i for j 0 j 1 TH0 0 TL0 0 TR0 1 while hw 0 TR0 0 毕业设计 18 LowTime TH0 256 TL0 TH0 0 TL0 0 TR0 1 while hw 1 TR0 0 HighTime TH0 256 TL0 if LowTime620 return 0 if HighTime 420 if a 2 0 xb0 beep zheng 0 控制直流电机顺时针转动 fan 1 if a 2 0 xa0 beep 控制直流电机逆时针转动 zheng 1 fan 0 if a 2 0 x4c 毕业设计 20 beep 直流电机停止转动 zheng 0 fan 0 五 结束语五 结束语 转眼间我的课题设计已经基本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论