家电维修网

 找回密码
 注册
查看: 2159|回复: 1

1T-12T单片机中断方式格力空调遥控器(YB0F2)解码(22-07-2011)

[复制链接]

中级维修师

Rank: 5Rank: 5

回帖
9
主题
10
积分
315
在线时间
43 小时
注册时间
2008-8-19
最后登录
2020-5-29
发表于 2011-7-25 21:52 | 显示全部楼层 |阅读模式
本帖最后由 lbq691477940 于 2011-7-25 21:54 编辑

分享一下格力空调遥控器读码程序,有了这么码自己就可以做一个遥控器出来了
下图为 28度、风速自动、模式制冷、健康、超强、上下送风、灯光开时由开到关及由关到开的发码过程:
QQ截图未命名.jpg
/*******************************************************************************************
                                                格力空调遥控器(YB0F2)解码                                                       
                                CUP:STC89C52RC                                        晶振:11.0569MHz
                                直接由串口输出                                         波特率:57600
************************************   说 明 **********************************************
解码方式:
以一个9ms的低电平和4.5ms的高电平为引导码,后跟35位二进制代码 接着0.565ms低电平和20MS高电平跟32位二进制代码
        前4个字节每个字节为8位,中间1个字节只有3位,接着为20MS高电平,跟后4个字节每个字节为8位
    以低电平为0.565ms、高电平为0.56ms、 周期为1.125ms的组合表示"0";
    以低电平为0.565ms、高电平为1.685ms、周期为2.25ms的组合表示"1"。
注意:经过红外接收头解调后单片机接收到的高低电平是和遥控器发射时是相反的一个过程
*        兼容        1T-12T单片机中断方式红外接收数据,并通过串口发送
程序编辑: lbq691477940                                                                        22/07/2011
/*******************************************************************************************/
/*******************************************************************************************/
#include <reg52.h>
typedef unsigned char uint8;
sbit Ir_Pin = P3^2;
uint8 Ir_Buf[9]; //用于保存解码结果
/*******************************************************************************************
* 外部中断0初始化
/*******************************************************************************************/
void int1_init(void)
{
        IT0 = 1; //下降沿有效
        EX0 = 1;
        EA = 1;
}
/*******************************************************************************************
* UART初始化
* 波特率:9600                        波特率:57600
/*******************************************************************************************/
void uart_init(void)
{
    TMOD = 0x21;
    /* SCON = 0x50;
    TH1 = 0xFD;                 //9600bps @ 11.0592MHz
    TL1 = 0xFD;
    TR1 = 1; */
        SCON = 0x50;
        PCON |= 0x80;
        TH1 = 0xff;     //57600bps @ 11.0592MHz
        TL1 = 0xff;
        TR1 = 1;
}
/******************************                 延时21ms子程序                 ************************************
void delay21ms(void)   //
{
    uint8 a,b;
    for(b=150;b>0;b--)
        for(a=63;a>0;a--);
}
/*******************************************************************************************/
/*******************************************************************************************
* UART发送一字节
/*******************************************************************************************/
void UART_Send_Byte(uint8 dat)
{
        SBUF = dat;
        while (TI == 0);
        TI = 0;
}
/*******************************************************************************************
* 获取低电平时间
/*******************************************************************************************/
unsigned int Ir_Get_Low()
{
        TL0 = 0;
        TH0 = 0;
        TR0 = 1;
        while (!Ir_Pin && (TH0 & 0x80)==0);//一直计到Ir_Pin不等0与计到大于1.085*32768=35553.28us
        TR0 = 0;           
        return (TH0 * 256 + TL0);        //返回T1 高八位和低八位计数值
}
。。。。。。。。。。。。。。。。。。。。。略!
下图为 28度、风速自动、模式制冷、健康、超强、上下送风、灯光开时由开到关及由关到开的按键码
下面是这个读码固件,电路连接请看程序的开头说明: 格力空调遥控器(YB0F2)解码.rar (755 Bytes, 下载次数: 7)
QQ截图未命名1.jpg

新手入门

Rank: 1

回帖
1
主题
0
积分
13
在线时间
0 小时
注册时间
2013-8-23
最后登录
2013-8-23
发表于 2013-8-23 14:54 | 显示全部楼层
试下的,看能够行的吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|门户地图|网站地图|家电维修|手机版|家电维修技术论坛 ( 蜀ICP备14030498号-16 川公网安备51102502000162号 )

GMT+8, 2025-4-30 19:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表