医疗电子技术网|技术阅读
登录|注册

您现在的位置是:医疗电子技术网 > 技术阅读 > 51单片机解码红外遥控器原理

51单片机解码红外遥控器原理

电视遥控器使用的是专用集成发射芯片来实现遥控码的发射,如东芝TC9012,飞利浦SAA3010T等,通常彩电遥控信号的发射,就是将某个按键所对应的控制指令和系统码(由0和1组成的序列),调制在38KHz的载波上,然后经放大、驱动红外发射管将信号发射出去。不同公司的遥控芯片,采用的遥控码格式也不一样。较普遍的有两种,一种是NEC标准,一种是PHILIPS 标准。

NEC标准:遥控载波的频率为38KHz(占空比为1:3);当某个按键按下时,系统首先发射一个完整的全码,如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。 一个完整的全码=引导码+用户码+用户码+数据码+数据反码。其中,引导码高电平4.5ms,低电平4.5ms;系统码8位,数据码8位,共32位;其中前 16 位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后 16 位为 8 位的操作码和 8位的操作反码,用于核对数据是否接收准确。收端根据数据码做出应该执行什么动作的判断。连发代码是在持续按键时发送的码。它告知接收端,某键是在被连续地按着。

NEC标准下的发射码表示


发射数据时0用“0.56ms高电平+0.565ms低电平=1.125ms”表示,数据1用“高电平0.56ms+低电平1.69ms=2.25ms”表示

即发射码“0”表示发射38khz的红外线0.56ms,停止发射0.565ms,发射码“1”表示发射38khz的红外线0.56ms,停止发射1.69ms

需要注意的是:当一体化接收头收到38kHz 红外信号时,输出端输出低电平,否则为高电平。所以一体化接收头输了的波形是与发射波形是反向的,如图


PHILIPS标准:载波频率为38KHz;没有简码,点按键时,控制码在1和0之间切换,若持续按键,则控制码不变。一个全码=起始码„11‟+控制码+用户码+用户码,如图所示。
 

数据0用“低电平1.778ms+高电平1.778ms”表示;数据1用“高电平1.778ms+低电平1.778ms”表示。

连续码重复延时114ms。
NEC、TOSHIBA、SAMSONG公司的编码格式有其共通之处:遥控全码都由“引导码+系统码+系统码(或系统码取反)+数据码+数据码取反”组成;数据“0”和“1”的定义相同;不同的只是引导码高低电平的持续时间不同,系统码位数有长有短,第一个简码和全码最后一位之间的延时不同,简码的引导脉冲不同等;所以可以把相同的部分做成通用子程序,包括产生数据“0”和“1”的子程序“ONE”和“ZERO”,9ms、4.5ms、2.25ms、22ms、45ms等时间控制子程序。
键值处理,可采用外中断的方式,有键按下时,就向CPU发出中断请求,当然这里面还包括了去抖动、多键同时按时只处理一键的处理部分。

机芯的不同状态由单片机P3口的P3.5、P3.4、P3.1、P3.0四位的输入数值来区分判断,比如“0000”表示工作于东芝TC90××系列状态,“0001”则表示要求工作于NEC公司的PD61××系列状态。

判断了是哪一只键按下以及处于机芯的哪种状态以后,程序就严格按照相应的遥控编码方式来进行遥控码的发射,也就是说将一定时段、一定数值的电平脉冲调制在38KHz载波上,逐一发射出去。

流程图如图所示

按以下识别二维码关注!


电子路上一起走!