标题:
关于两种红外遥控器的编码方式的单片机解码
[打印本页]
作者:
Young_man_ZS
时间:
2018-5-25 16:17
标题:
关于两种红外遥控器的编码方式的单片机解码
前段时间,朋友做了一个遥控台灯,我用了一个遥控器好用,但是为啥用另外一个海信电视机上的遥控就不好用呢,遥控器是好的,上网看说是有红外遥控器按编码格式分两种。我的那种是日本NEC的uPD6121G组成的发射电路,大家帮帮忙告诉我一下另外一种遥控的用法,最好能给个程序参考一下,或者我的程序修改哪些地方就可以实现,谢谢
另外我把我现在用的程序发上来,希望能帮助一下新手
/************************* 说 明 *********************************/
/* 以一个9ms的低电平和4.5ms的高电平为引导码,后跟32位二进制代码 */
/* 前16位为8位用户码及其反码,后16位为8位的操作码及其反码 */
/* 以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示"0"; */
/* 以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示"1"。 */
/* 注意:接收码的脉宽与间隔是对发射码取反的,即间隔是0.565ms */
/******************************************************************/
#include<reg52.h>
#define uchar unsigned char
uchar data IRcode[4]; //定义一个4字节的数组用来存储代码
uchar zima[]={"abcd"};
uchar CodeTemp; //编码字节缓存变量
uchar i,j,k; //延时用的循环变量
sbit IRsignal=P3^2; //HS0038接收头OUT端直接连P3.2(INT0)
sbit p21=P0^1;
sbit p22=P0^2;
sbit p23=P0^3;
sbit p24=P0^4;
sbit p25=P0^5;
sbit p26=P0^6;
sbit p27=P0^7;
sbit p28=P1^0;
/**************************延时0.9ms子程序**********************/
void Delay0_9ms(void)
{
uchar j,k;
for(j=18;j>0;j--)
for(k=20;k>0;k--) ;
}
/****************************************通过串口把代码发送******/
void send(void)
{
// for(i=0;i<4;i++) //通过串口将代码发出
{
SBUF=IRcode[2];
while(!TI); //等待一个字节发送完毕
TI=0;
}
}
void send1(void)
{
……余下详见附件(下载附件不要黑币的)
复制代码
红外遥控器解码程序.doc
2018-5-25 16:38 上传
点击文件名下载附件
714.47 KB, 下载次数: 47
作者:
xiaoshan7748
时间:
2018-5-25 16:50
红外的编码不止两种,你可以上网搜下,不同编码是不通用的.
作者:
小猫猫爱吃鱼
时间:
2018-5-25 17:45
你好!遥控器的编码很多很多种,不是所有的遥控器都能解码;
给你两个实物案例你看看
一体化红外学习型遥控器,NEC解码、发射测试成功 - 51单片机 单片机论坛
http://www.51hei.com/bbs/dpj-119972-1.html
红外遥控时钟(DS1302) -单片机论坛
http://www.51hei.com/bbs/dpj-114217-1.html
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1