单片机实--通过实例学习单片机(红外线遥控).docVIP

单片机实--通过实例学习单片机(红外线遥控).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实--通过实例学习单片机(红外线遥控)

实例C 红外线遥控应用实例 红外线遥控成本低,安全可靠,不会产生电器干扰,因此,在家电设备及其他近距离的遥控中得到广泛应用。本章将通过LED显示遥控器按键值实例、简易红外线遥控开关和红外线遥控七色小彩灯实例,介绍红外线遥控基本原理及其设计、应用方法。 C.1 LED显示遥控器按键值 功能说明:选用一种电视机遥控器,再利用接收模块结合单片机解码,控制P1端口所接的8个LED亮或灭。因此,8个LED的亮或灭的状态,即是显示红外遥控器的按键值。 8个LED视为8位二进制数,其中LED亮视为0,LED灭视为1。例如,按动红外遥控器按键1,8个LED中右边第一个灭,其他全亮,则表示二进制数,转换成十六进制数为01H,即红外遥控器按键1的控制编码为01H;如果按动红外遥控器按键2,8个LED中右边第二个灭,其他全亮,表示二进制数,转换成十六进制数为02H,即红外遥控器按键2的控制编码为02H。再如,按动红外遥控器“POWER”键,8个LED中第2、5灭,其他全亮,表示二进制数,转换成十六进制数为12H,即遥控器的POWER键控制编码为12H。二进制数转换十六进制数的方法可以参考书后附录B的制式转换表。 C.1.1 红外线遥控原理 1.红外线遥控系统结构 红外线遥控系统是由发射端和接收端两部分组成,如图C.1和C.2所示。 红外线发射端就是红外遥控器,主要包括键盘、编码调制芯片、红外线发射LED。当按下某一按键后,遥控器上的编码调制芯片便进行编码,并结合载波电路的载波信号而成为合成信号,再经红外线发射二极管,将红外线信号发射出去。 图C.1 红外线发射端工作方框图 图C.2 红外线接收端工作方框图 红外线接收端主要包括红外线接收模块、解码单片机。其中红外线接收模块里包括光、电转换放大器、解调电路。当红外线发射信号进入接收模块后,在其输出端便可以得到原先的数字控制编码,再经过单片机解码程序进行解码,便可以得知按下了哪一按键,从而完成红外线遥控的动作。 2.编码方式与解码原理 红外线遥控器的编码与所使用的编码芯片有关,不同的芯片编码有所不同,但基本原理相似。这里以SC9012芯片为例,说明遥控编码方式和解码原理。 SC9012一帧完整的发射码是由引导码、用户编码和键数据码3部分组成。编码的格式如图C.3所示。 图C.3 红外线发射码格式 引导码由一个4.5ms的高电平脉冲及4.5ms的低电平脉冲组成。八位的用户编码被连续发送两次,八位的键数据码也被发送两次,第一次发送的是键数据码的原码,第二次发送的是键数据码的反码,所以,整个数据编码占用32位。 数据编码方式是通过脉宽调制来实现的,以脉宽为0.56ms,间隔为0.56ms,周期为1.125ms的组合表示二进制的“0”;以脉宽为0.56ms,间隔为1.69ms,周期为2.25ms的组合表示二进制的“1”,其接收端波形如图C.4和图C.5所示。 图C.4 遥控码“0”波形图 图C.5 遥控码“1”波形图 单片机解码的关键是如何识别“0”和“1”,从上面遥控码“0”和“1”的波形图中可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,即“1”的高电平宽度是“0”的高电平宽度的3倍。如果延时0.56ms,若读到的电平为低,说明该位为“0”,反之则为“1”。或者设计一精确的延时时间,例如以0.093ms延时时间当作基础时间,以调用基础延时时间的次数来计数实际的波形宽度,若读值为6表示波形宽度为0.56ms,若读值为18则表示波形宽度为1.68ms,因此,可以直接通过判断高电平的宽度的计数值是6或是18,来判断接收的原编码为0或1。 C.1.2 硬件设计 红外线发射端采用市场上通用的一种红外遥控器(芯片为SC9012或TC9012系列等)。接收端采用一体化红外接收头,红外接收头只有3个引脚:引脚1为数字信号输出端(OUT),引脚2为接地端(GND),引脚3为电源输入(VCC)。红外接收头与单片机连接非常简单,只需将信号输出端(OUT)与单片机一个I/O引脚连接(P3.2),然后接上电源即可。单片机主要用于解码,P1端口所接的8个LED用来显示解码后红外遥控器的按键值。单片机的P2.4引脚通过限流电阻R与三极管基极相接,三极管的集电极接有蜂鸣器,电路如图C.6所示。 图C.6 红外线接收电路图 C.1.3 程序设计 程序中,主程序通过调用解码子程序,将接收到的红外线遥控器信号进行解码,再调用遥控执行子程序,将解码后的按键值由LED显示出来。所以,解码子程序是程序中的主要部分。 1.主要标号说明 ( MAIN:主程序。 ( IR_IN:解

文档评论(0)

yyongrjingd7 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档