电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>嵌入式开发>51单片机红外遥控器解码资料下载

51单片机红外遥控器解码资料下载

2021-04-07 | pdf | 113.98KB | 次下载 | 免费

资料介绍

红外接收头的型号有很多HS0038 VS838等 功能大致相同,只是引脚封装不同。 红外接收有几种统一的编码方式,采样哪种编码方式取决于遥控器使用的芯片,接收头收到的都是一样的。 电视遥控器使用的是专用集成发射芯片来实现遥控码的发射,如东芝TC9012,飞利浦AA3010T等,通常彩电遥控信号的发射,就是将某个按键所对应的控制指令和系统码(由0和1组成的序列),调制在38KHz的载波上,然后经放大、驱动红外发射管将信号发射出去。不同公司的遥控芯片,采样的遥控码格式也不一样,较普遍的有两种,一种NEC标准,一种是PHILIPS标准。 NEC标准:遥控载波的频率为38KHz(占空比1:3)当某个键按下时,系统首先发射一个完整的全码,如果按键超过108ms仍未松开,接下来发射的代码(连发代码)将由起始码(9ms)和结束码(2.5ms)组成。 一个完整的全码 = 引导码 +用户码 +用户码 + 数据码 + 数据码 + 数据反码。 其中,引导码高电平9ms,低电平4.5ms;系统码8位,数据码8位,共32位;其中前16位为用户识别码,能区别不同的红外遥控设备,以防止不同的机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码,用于核对数据是否接收准确。收端根据数据码做出应该执行上面动作的判断。 连发代码是在持续按键时发送的码。它告知接收端。某键是在被连续的按着。 NEC标准下的发射码表示: 发射数据0时用”0.56ms高电平 + 0.565ms低电平 = 1.125ms”表示; 数据1用”高电平0.56ms + 1.69ms = 2.25ms”表示。 遥控器发射信号: 需要注意的是:当一体化接收头收到38kHz红外信号时,输出端输出低电平,否则为高电平。所以一体化接收头输出的波形和发射波形是反向的。 PHILIPS标准: 载波频率38KHz:没有筒,点按键时,控制码1和0之间切换,若持续按键,则控制码不变。 一个全码 = 起始码’11’ +控制码 + 用户码 + 用户码 数据0用“低电平1.778ms + 高电平1.778ms”表示; 数据1用“高电平1.778ms + 低电平1.778ms”表示。 连续码重复延时114ms。 所谓的解码就是一个区分脉冲宽度的过程。红矮信号的0和1是通过脉冲持续时间的长短来区分的, 我的遥控器使用的是NEC标准的WD6122芯片,遥控器编码如下: 以下是我用1602显示红外接收头接收到编码的程序: ①这个是对1602操作的函数 1 ------------------------------------------------*/ 2 #include "1602.h" 3 #include "delay.h" 4 5 #define CHECK_BUSY 6 7 8 sbit RS = P2^4; //定义端口 9 sbit RW = P2^5; 10 sbit EN = P2^6; 11 12 #define RS_CLR RS=0 13 #define RS_SET RS=1 14 15 #define RW_CLR RW=0 16 #define RW_SET RW=1 17 18 #define EN_CLR EN=0 19 #define EN_SET EN=1 20 21 #define DataPort P0 22 23 /*------------------------------------------------ 24 判忙函数 25 ------------------------------------------------*/ 26 bit LCD_Check_Busy(void) 27 { 28 #ifdef CHECK_BUSY 29 DataPort= 0xFF; 30 RS_CLR; 31 RW_SET; 32 EN_CLR; 33 _nop_(); 34 EN_SET; 35 return (bit)(DataPort & 0x80); 36 #else 37 return 0; 38 #endif 39 } 40 /*------------------------------------------------ 41 写入命令函数 42 ------------------------------------------------*/ 43 void LCD_Write_Com(unsigned char com) 44 { 45 // while(LCD_Check_Busy()); //忙则等待 46 DelayMs(5); 47 RS_CLR; 48 RW_CLR; 49 EN_SET; 50 DataPort= com;
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  6次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5基于FPGA的光纤通信系统的设计与实现
  10. 0.61 MB  |  2次下载  |  免费
  11. 6基于FPGA的C8051F单片机开发板设计
  12. 0.70 MB  |  2次下载  |  免费
  13. 751单片机窗帘控制器仿真程序
  14. 1.93 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33564次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21548次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6653次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537796次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191185次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183278次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费