红外遥控器信号接收和显示的设计_第1页
红外遥控器信号接收和显示的设计_第2页
红外遥控器信号接收和显示的设计_第3页
红外遥控器信号接收和显示的设计_第4页
红外遥控器信号接收和显示的设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

电子电路综合设计总结报告电子电路综合设计总结报告 题目 题目 红外遥控器信号接收和显示的设计 设计选题十四 姓名 姓名 宋程程 班级 班级 070813 班 学号 学号 07081310 成绩 成绩 2 摘要 摘要 随着电子技术的发展 红外遥控器越来越多的应用到电器设备 中 但各种型号遥控器的大量使用带来的遥控器大批量多品种的生 产 使得检测成为难题 因此智能的红外遥控器检测装置成为一种 迫切的需要 在该红外遥控器信号的接收和显示电路以单片机和一 体化红外接收器为核心技术 具体由单片机最小系统 单片机与 PC 机间的通信模块 红外接收模块 数码管显示模块和流水灯模块组 成 在本系统的设计中 利用红外接收器接收遥控器发出的控制信 号 并通过软件编程将接收信号存储 处理 比较 并将数据处理 送至数码管显示模块 总之 通过对电路的设计和实际调试 可以 实现红外遥控器信号的接收与显示功能 根据比较接收信号的不同 在数码管显示电路及流水灯电路上显示相应的按键数字或闪烁变化 功能 并可实现单片机及 PC 机之间的通信功能 使得控制信号能在 PC 机上显示 关键词 关键词 单片机 红外接收器 HS0038 解码 串口调试 3 设计任务设计任务 结合单片机最小电路和红外线接收接口电路共同设计一个基于单片机的红外遥控信号 接收与转发系统 用普通电视机遥控器控制该系统 使用数码管显示信号的接收结果 1 实现单片机最小系统的设计 2 当遥控器按下数字键时 在数码管上显示其键值 如按下数字键 1 则在数码管上显示 号码 01 3 当遥控器按下音量 及音量 时 用两位数码的周围段实现顺时针或者逆时针旋转的 流水灯功能 为使得音量的增减清晰显示 试验中在单片机的 P1 口外接一排流水灯 具体功能的实现见方案的可行性论证 运用串口调试助手 在遥控器有按键按下时 将其键值显示在 PC 机上 当遥控器按下频道 及频道 时 在数码管上显示加 1 或减 1 后的数值 一 一 系统方案比较与论证系统方案比较与论证 1 方案比较与选择 为了实现系统整体功能 红外解码部分是核心 红外解码是指将遥控发射器所产生的 红外遥控编码脉冲所对应的键值翻译出来的过程 下面将系统方案做一论证 通常有硬件 解码和软件解码两种方案 方案一 此方案中 使用专用遥控器作为控制信号发出装置 当按下遥控器的按键后 一 体化红外接收装置接收到遥控器发出的设置控制信号 然后将信号送到专用的解码芯片中 进行解码 解码后将信号送到单片机 由单片机查表判断这个信号是按键数值信号或控制 音量 频道等信号 当确认是何种信号后 启动子程序 然后进行查询 每次红外接收头 接收到红外信号传到解码器中 解码器解码完毕后送到单片机 单片机再通过查表确定这 些数值并进行相应功能的控制 设计原理图如图1所示 遥控信号发射遥控信号接收专用解码器单片机 信号存储信号比较发出控制信息被控电路 图 1 方案一设计原理图 方案二 此方案中 采用普通的家用遥控器作为控制信号发出装置 当按下遥控器的按键 后 一体化红外接收装置接收到遥控器发出的红外线控制信号 然后把这个信号转换成电 信号 传到单片机中 利用单片机对这个信号进行解码 解码完成后查表确定是按键数值 信号或控制音量 频道等信号 启动子程序 进行相应的显示数字等功能 然后查询 重 复上述流程 设计原理图如图2所示 4 遥控信号发射遥控信号接收单片机解码 信号存储信号比较发出控制信息被控电路 图 2 方案二设计原理图 方案三 此方案中采用分立元件实现红外接收装置 通过外围电路实现将遥控信号的接收 放大 检波 整形等功能 并将信号转换成单片机识别的 TTL 信号 其余与方案二相同 方案的比较如下 方案一为硬件解码方案 硬件解码需要使用与遥控器相配套的专用的解码器芯片 而 解码芯片一般不易得到 价格也较贵 或者自行开发解码电路 但电路太复杂 性能欠佳 方案二为软件解码方案 软件解码可以不考虑遥控器的芯片是什么型号的 因为我们 只需检测到它的发射编码 然后用软件方式来对它进行处理 从而得到所要的信息 软件 解码具有灵活 硬件精简 仅需集成红外接收头和一片单片机 可靠性高 成本低等特 点 方案三所用的红外接收外围电路设计工作复杂 电路复杂程度相对较大 不方便使用 并且性能欠佳 经以上的论证 我采用方案二的软件解码方案 成本低 方便实现 并且系统整体性 能和可靠性高 2 方案的可行性论证 采用方案二的具体思路如下 遥控器为控制信号的发出装置 用一体化红外接收装置 HS0038 接收遥控器发出的红外 线控制信号 并与单片机相连实现数据传输 将信号解码成二进制编码 并按位进行存储 通过单片机编程将接收到的数字编码在数码管上显示出来 编程比较若接收到信号为音量 增减则实现数码管外围段的流水灯显示功能 在实验中我在 P1 口连接了 8 个流水灯 使 得音量增加或减少在流水灯上显示为自下向上流动或自上向上流动 在比较中若接收到 的信号为频道的增减则实现在原本显示数值上加 1 或减 1 的功能 用单片机的 P0 口控制数 码管的段选 P3 2 及 P3 3 控制数码管的位选 在数码管显示模块中 利用动态扫描的方 式来显示数字或数码管流水灯 使用 MAX232 芯片 串口及若干电容来完成串口模块 以 实现单片机和 PC 机的通信功能并且达到可以使用串口调试助手的目的 有上述论证可知 此方案可行 5 3 经以上方案的选择和论证 确定总体系统框图如下 HS0038红外接收 单片机数码管显示通信模块 流水灯 图 3 总体系统框图 二 二 系统各单元电路的设计与分析系统各单元电路的设计与分析 1 单片机最小系统 单片机的主要功能是负责整个系统的控制及数据的存储和处理 因此在设计本系统时 选用 STC89C51 其中 系统的时钟电路设计是采用的内部方式 即利用芯片内部的振荡 电路 引脚 XTAL1 和 XTAL2 分别是振荡器的高增益反相放大器的输入端和输出端 这个放 大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器 外接晶体谐振器以及电 容 C3 和 C4 构成并联谐振电路 接在放大器的反馈回路中 根据情况本设计中选择 12MHz 的晶振 补偿电容选择 30pF 左右的瓷片电容 如图中 Y1 C3 C4 复位电路则采用手动 按键复位方式 通过按键将电阻 R9 与 VCC 接通 复位脉冲的高电平宽度大于 2 个机器周 期 即可实现复位 如图中的 R9 C1 所示 P0 口外接上拉电阻 其结构如图中 103 采 用 10K 的排阻以提供给 I O 口合适的电流 在焊接刷电路板时 晶体振荡器和电容应尽可 能安装得与单片机芯片靠近 以减少寄生电容 更好地保证震荡器稳定和可靠地工作 单 片机最小系统电路图如图 4 所示 6 图 4 单片机最小系统电路图 2 通信模块的设计 通信模块选用 MAX232 芯片 MAX232 是 MAXIM 公司专门为 PC 视 RS 232 标准串 口设计的电平转换电路 该芯片与 TTL COMS 电平兼容 片内有 2 个发送器 2 个接收 器 且使用 5 V 单电源供电 使用非常方便 现从 MAX232 芯片中两路发送接收中任选 一路作为接口 其发送接收的引脚一一对应 本系统中使 T2in 接单片机的发送端 TXD 同时 R2out 接单片机的 RXD 端 1 3 脚和 4 5 脚接 104 瓷片电容 其接口电路如图 5 所示 图 5 通信模块电路图 3 红外接收模块设计 一体化的红外接收装置将遥控信号的接收 放大 检波 整形集于一身 并且输出可 以让单片机识别的TTL 信号 这样大大简化了接收电路的复杂程度和电路的设计工作 方 便使用 在本系统中我们采用红外一体化接收头HS0038 HS0038 黑色环氧树脂封装 不 7 受日光 荧光灯等光源干扰 内附磁屏蔽 功耗低 灵敏度高 在用小功率发射管发射信 号情况下 其接收距离可达35 m 它能与TTL COMS 电路兼容 HS0038 为直立侧面收 光型 它接收红外信号频率为38 kHz 周期约26 s 同时能对信号进行放大 检波 整形 得到TTL 电平的编码信号 三个管脚分别是地 5 V 电源 解调信号输出端 解调信号 输出端与单片机P3 4相连 Vcc与GND间接104瓷片电容滤波整形 电路图如图6所示 图 6 红外接收模块电路图 4 数码管显示电路设计 数码管显示电路采用两位共阳数码管LG5022BH 具体电路如图7 其中由单片机的P3 2 和P3 3作为位选口 输出低电平时数码管被选中 P0口外接上拉电阻后作为段选 输出低 电平时相应的段被点亮 数码管的驱动选用三极管S8550 图中的电阻R10和R11选取1K的阻 值大小 以提供合适的电流使三极管导通 图 7 数码管显示电路电路图 5 流水灯电路设计 8 流水灯电路采用八个发光二极管 所有发光二极管的正极接到单片机的P1口 负极分 别通过一个1k的限流电阻接到GND端 当单片机的相应端口为高电平时发光二极管点亮 通 过控制单片机P1端口的高低电平实现流水灯功能 电路图如图8所示 图 8 流水灯电路 6 程序设计和说明 在本设计中 数据的处理 存储 比较以及芯片的控制都是由单片机编程实现的 其 中 判断是显示按键数值或按键为音量增减键调用流水灯函数或按键为频道增减键调用加 减函数及显示加 1 或减 1 后的数值信息等 均是使用单片机的软件部分实现 在整个设计 中还存在较多的延时函数的调用和循环语句 具体程序见附录 主函数软件流程图如下图 9 所示 9 开始 定时器模式选 择初始化 读取P3端口 P3 4是否为低电平 延时100us 否 是 P3 4是否为高电平 否 P3 4是否为低电平 读取P3端口 读取P3端口 定时器初始化 关闭定时器 调用解码函数 解码后数据是否为 0 x1a 音量加按键 解码后数据是否为 0 x1e 音量减按键 解码后数据是否为 0 x1b 频道加按键 解码后数据是否为 0 x1f 频道减按键 延时9000us 调用显示函数 是 是 否 否 否 否 否 调用显示加函数 调用显示减函数 调用流水灯逆函数 调用流水灯顺函数 是 是 是 是 图 9 主函数软件流程图 三 三 系统的安装调试及测试数据分析系统的安装调试及测试数据分析 1 测试仪器 晶体管直流稳压电源 1 台 数字万用表 1 块 10 示波器 1 台 2 硬件调试的方法和过程 完成电路设计后 采用整体布局 分模块安装调试再连调的方法 整个过程中对出现 的问题进行了比较适当的解决 a 单片机最小系统焊接完成后 不能正常工作 经观察发现单片机的 Vcc 没有和电源 正极相连 连接完成后用示波器观察晶振两端起振 且 30 管脚有波形 单片机最小系统正 常工作 b 数码管显示部分在安装调试过程工作不稳定 经老师提醒 是数码管管脚过细与插 槽接触不良导致 将管脚镀锡后在进行调试 问题得到了良好的解决 c 在焊接完通信模块后单片机不能与 PC 机之间进行通信 仔细检查电路 发现 MAX232 的 V 管脚没有接地 将此电路焊接完成后 单片机和 PC 机之间的通信功能得以实 现 在硬件调试的过程中有两处失误的原因均为电路芯片的管脚没有和公共的 Vcc 或 GND 接到一起 寻找错误的原因是在焊接电路的过程中均将 Vcc 和 GND 悬空 待其它电路焊接 完成 最后焊接公共端 在最后寻找的过程中由于不细心导致有遗漏 对此颇有体会 在 以后的实验或是工程中将更加细心 3 软件调试问题及解决方法 A 首先在将最初编写好的程序下载到电路板上后 只能接受一次数据 第二次发送 数据后不能再数码管上显示其结果 后经细心研究 增加无条件转移指令 使得能端口能 一直查询红外接收电路是否有电平的变化 从而达到每次发送信号时均能在数码管上显示 B 其次 在将数码管流水灯及外接的流水灯程序加进后 当程序走到流水灯的循环之 后 不能自动的跳转出循环 经耐心的学习探讨 找到两种解决方案 一是用外部中断 使得程序能挑出循环 但由于中断的功能及调用的方法不能灵活运用 所以又经细心的研 究选择使用查询的方法 同样达到了目的 也使程序简单易懂 C 再次 使用示波器测得音量及频道增减按键的编码时 由于示波器显示的时间以及 人为按下按键时间间隔不好掌控 需要测量很多次 方可测得所需要的编码 将编码测得 后 写入相应的程序 若编码错误则不能实现相应按键按下所要得到的功能 在此过程中 需要耐心细致 最后均测得了正确的编码 D 再次 在写数码管和流水灯的显示数组时 将有的数组编写错误 这是较容易发 现及解决的问题 经细心修正后 使得所有的数组均能正确的显示想要表示的功能 E 再次 在显示数值时发生过数值跳变的情况 由一个数值跳变为乱码 后经在程序 中增加延时函数解决此问题 F 再次 当按键按下频道的增减按键时 每按下一次时增加或减少的数值不均为 1 经过多次试验调试 在函数中增加了延时函数以达到消除抖动的目的 使得此问题得到良 好的解决 G 最后 在使用串口调试助手实现单片机与 PC 机之间的通信时 PC 机接收到得数据 有误 后经程序修正及调节串口调试助手的比特率 使得两机之间的通信顺利进行 并且 没有误差 经过以上的硬件以及软件的调试工作 基本排除了电路上或软件编程上的问题 4 整机调试及实现的功能 11 在最后的整机调试过程中 能很好的完成老师的功能 并且在要求的基础上 自己将 电路的部分功能进行了扩展 完成的功能如下 1 能实现按下数字键时在两位数码管上显示其数值 按下按键 9 显示 09 2 按下音量 及音量 时可以实现数码管外围段的顺时针或逆时针流水灯功能 并再 此增加了外围的流水灯 使在音量增加或减少时流水灯能自下向上流动或自下向上流动 使得按键的功能一目了然 3 能够使用串口调试助手实现单片机及 PC 机之间的通信功能 可以在 PC 机上显示按 键的数值 按键按下 1 时 PC 机上显示 01 4 在此实验中除增加流水灯的功能外还实现了当按下频道的增减按键时 数码管上显 示的数值为原数值加 1 或减 1 的功能 总体来说本次试验得到了良好的试验效果 四 四 结论与改进意见及鸣谢结论与改进意见及鸣谢 由整机测试的结果可知 本设计较好地满足了题目要求 在红外接收数据及其显示等 功能方面得到了良好的稳定性 并且在整个设计与装调过程中出现的问题得到了较好的解 决 并最终完成了基于单片机的红外遥控信号接收和显示的设计与实现 其实本次实验设计还有一定的提升空间和改进措施 比如本次实验所用到的遥控器为 一种固定编码的遥控器 当遥控器的型号不同即遥控器内部的红外线发射器的编码不同时 本程序并不一定能得到想要的预期结果 同时软件程序中的解码部分由了更高的要求 现 在市面上的遥控器种类有很多 增加软件部分的功能及外围电路即可实现不同型号遥控器 的解码功能 使得功能更加完善 但由于时间原因以及理论水平有限 没能很好的达到 通过本次设计 我了解了红外线解码的基本工作原理和设计方法 掌握了流水灯及数 码显示电路的实际使用方法 了解了单片机最小系统的构成及应用设计 熟悉了单片机串 行通信模块的设计 最为重要的是 在我掌握了电子电路系统设计的基本方法的同时 提 高了综合利用多学科相关知识并且进行初步工程实践与实际装调系统电路的能力 可谓是 收获颇丰 最后 在整个实验过程中 我还得到了指导老师高敬鹏老师的悉心指点 在这里也表 示我衷心的感谢 五 五 参考文献参考文献 1 龚运新 单片机 C 语言开发技术 北京 清华大学出版社 2006 2 戴佳 戴卫恒 51 单片机 C 语言应用程序设计实例精讲 北京 电子工业出版社 2006 3 喻宗泉 喻晗 李建民 单片机原理与应用技术 西安 西安电子科技大学出版社 2006 4 戴仙金 51 单片机及其 C 语言程序开发实例 北京 清华大学出版社 2008 5 王伟生 郑小真 红外遥控在节能和无线操作方面的应用 河南 郑州 河南工业大学 2006 附录一 元件清单表元件清单表 12 元器件名称数量 40 脚 IC 座1 16 脚 IC 座1 STC89C511 HS00381 MAX2321 两位共阳数码管 LG5022BH 1 串口1 开关1 按键1 12M 晶振1 发光二极管8 三极管 85502 电容 104 6 电容 30pF 2 电容 10uF 1 电阻 10K 1 电阻 1K 10 排阻 10k 1 单排座1 万用板1 13 附录二 程序 include define uchar unsigned char define uint unsigned int 宏定义 sbit shu1 P3 3 sbit shu2 P3 2 int a read bj result yiweiresult nuresult k 0 gewei gaowei gewei1 gaowei1 uchar table 4 0 定义数组用来存放用户码和数据码 uchar dis 16 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 0 x88 0 x83 0 xc6 0 xa1 0 x86 0 x8e 数码管显示编码 uchar tablea 3 0 xef 0 xdf 0 xfe 0 xef 0 xdf 0 xfe uchar tableb 4 0 xfe 0 xfd 0 xfb 0 xf7 0 xfe 0 xfd 0 xfb 0 xf7 uchar tableaf 2 0 xef 0 xf7 0 xef 0 xf7 uchar tablebf 2 0 xfe 0 xdf 0 xfe 0 xdf 数码管流水灯数组 uchar new1 4 0 x20 0 x10 0 x08 0 x04 uchar new 2 0 x01 0 x02 uchar new2 2 0 x40 0 x80 uchar old 3 0 x80 0 x40 0 x20 uchar old1 4 0 x10 0 x08 0 x04 0 x02 流水灯数组 void delay 9000us uint i j for i 0 i 5 i for j 0 j 308 j 延时 9 0ms void delay 5000us uint i j for i 0 i 2 i for j 0 j 308 j 延时 5 0ms void delay 100us uint i j for i 0 i 1 i for j 0 j 11 j 延时 100us void delay 6ms uint i j for i 0 i 1 i 14 for j 0 j 660 j 延时 6ms void delay 500ms uint j for j 0 j0 i for j 8 j 0 j dat 1 do rd P3 while rd 等待高电平 start t0 初始化定时器 do rd P3 while rd 等待低电平 TR0 0 关闭定时器 pd TH0 if pd 0 x03 dat dat 0 x80 接收 1 并存储 else dat dat 接收 0 并存储 table i dat 接收 8 位数据完毕 接受 32 位数据完毕 return table 2 返回数据码 15 流水灯子函数 zheng 数码管顺时针循环 流水灯由下向上循环点亮 void liushuideng int i 0 while 1 for i 0 i 3 i shu2 1 shu1 0 P0 tablea i 数码管顺时针循环数组 1 P1 old i 流水灯自下向上循环点亮数组 1 delay 500ms for i 0 i 4 i shu1 1 shu2 0 P0 tableb i 数码管顺时针循环数组 2 P1 old1 i 流水灯自下向上循环点亮数组 2 delay 500ms for i 0 i 1 i shu1 0 shu2 1 P0 0 xf7 P1 0 x01 delay 500ms delay 6ms read P3 if read 流水灯子函数 fan 数码管逆时针循环 流水灯由上向下循环点亮 void fanliushuideng int i 0 while 1 for i 0 i 0 i shu1 1 shu2 0 P0 tableb i P1 new1 i delay 500ms for i 0 i 2 i shu1 0 shu2 1 P0 tablebf i P1 new2 i delay 500ms delay 6ms read P3 if read 显示子函数 jia 频道键加 void displayjia if nuresult 9 nuresult nuresult 1 gewei1 nuresult 10 gaowei1 nuresult 10 else nuresult yiweiresult 1 gewei1 nuresult 10 gaowei1 nuresult 10 while 1 shu1 1 shu2 0 P0 dis gewei1 17 delay 5000us P0 0 xff shu1 0 shu2 1 P0 dis gaow

温馨提示

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

评论

0/150

提交评论