久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: C51單片機(jī)發(fā)射紅外信號(hào)控制空調(diào),開不了機(jī),大神幫我看一下程序哪里出錯(cuò)了? [打印本頁]

作者: 鄭漢松    時(shí)間: 2019-4-18 16:58
標(biāo)題: C51單片機(jī)發(fā)射紅外信號(hào)控制空調(diào),開不了機(jī),大神幫我看一下程序哪里出錯(cuò)了?
論壇新人,求大神幫我解決
首先,我要控制的是我宿舍的空調(diào),美的的,型號(hào)如下:


然后聽說美的空調(diào)紅外協(xié)議是R05d,然后就根據(jù)協(xié)議寫了一個(gè)程序

以下是我程序的具體內(nèi)容:
1,端口和延時(shí)函數(shù)

2,中斷程序,產(chǎn)生38khz脈沖

3,引導(dǎo)碼程序


4,分隔符程序


5,數(shù)據(jù)發(fā)送程序(發(fā)送char型數(shù)據(jù)和它的反碼)
void senddata_data(char x)
{
    char irdata,i;
    irdata=x;
    for(i=0;i<8;i++)
    {
        endcount=14;
        flag=1;
        count=0;
        do{}while(count<endcount);
        if(irdata-(irdata/2)*2)
        {
            endcount=42;
        }
        else
        {
            endcount=14;
        }
        flag=0;
        count=0;
        do{}while(count<endcount);
        irdata=irdata>>1;
    }
    irdata=~x;
    for(i=0;i<8;i++)
    {
        endcount=14;
        flag=1;
        count=0;
        do{}while(count<endcount);
        if(irdata-(irdata/2)*2)
        {
            endcount=42;
        }
        else
        {
            endcount=14;
        }
        flag=0;
        count=0;
        do{}while(count<endcount);
        irdata=irdata>>1;
    }
}

6,終止程序


7,以下是主函數(shù),發(fā)送開機(jī)編碼

8,附帶程序源碼
#include <reg52.h>
sbit   P3_4 = P2^1;   //???????
sbit   key=P2^0;   //?????
static bit OP;    //????????0??1
static unsigned int count;    //???????
static unsigned int endcount;  //??????????????
static unsigned char flag;    //?????????
void delay()
{
    int i,j;
    for(i = 0; i < 400; i++){
        for(j = 0; j < 200; j++){
        }
    }
}
void sendbegin();
void senddata_data(char x);
void sendend();
void sendS();
void main(void)
{
count = 0;
    flag = 0;
    OP = 0;
    P3_4 = 0;
    EA = 1; //????CPU?ж?
    TMOD = 0x11; //?趨???0??1?16λ??1
    ET0 = 1; //?????0?ж?????
    TH0 = 0xFF;
    TL0 = 0xE8; //?趨??0?38K ????????26us?ж????  
    TR0 = 1;//???????
    do{
    if(key==0)
    {
     while(key==0);
        delay();
        sendbegin();
  senddata_data(0xb2);
  senddata_data(0x9f);
  senddata_data(0x00);
  sendS();
  sendbegin();
  senddata_data(0xb2);
  senddata_data(0x9f);
  senddata_data(0x00);
  sendend();
  }
    }while(1);
}

void timeint(void) interrupt 1
{
    TH0=0xFF;
    TL0=0xE8;
    count++;
    if (flag==1)
    {
        OP=~OP;
    }
    else
    {
        OP = 0;
    }
    P3_4 = OP;
}

void sendbegin()
{
    endcount=114;
    flag=1;
    count=0;
    do{}while(count<endcount);
    endcount=114;
    flag=0;
    count=0;
    do{}while(count<endcount);
}
void sendS()
{
    endcount=12;
    flag=1;
    count=0;
    do{}while(count<endcount);
    endcount=135;
    flag=0;
    count=0;
    do{}while(count<endcount);
}
void senddata_data(char x)
{
    char irdata,i;
    irdata=x;
    for(i=0;i<8;i++)
    {
        endcount=14;
        flag=1;
        count=0;
        do{}while(count<endcount);
        if(irdata-(irdata/2)*2)
        {
            endcount=42;
        }
        else
        {
            endcount=14;
        }
        flag=0;
        count=0;
        do{}while(count<endcount);
        irdata=irdata>>1;
    }
    irdata=~x;
    for(i=0;i<8;i++)
    {
        endcount=14;
        flag=1;
        count=0;
        do{}while(count<endcount);
        if(irdata-(irdata/2)*2)
        {
            endcount=42;
        }
        else
        {
            endcount=14;
        }
        flag=0;
        count=0;
        do{}while(count<endcount);
        irdata=irdata>>1;
    }
}
void sendend()
{
    endcount=10;
    flag=1;
    count=0;
    do{}while(count<endcount);
    flag=0;
}



數(shù)據(jù)0,1.png (11.09 KB, 下載次數(shù): 33)

數(shù)據(jù)0,1.png

端口延時(shí).png (121.17 KB, 下載次數(shù): 26)

端口延時(shí).png

作者: 鄭漢松    時(shí)間: 2019-4-18 17:01
暖一下
作者: 鄭漢松    時(shí)間: 2019-4-18 17:36
美的空調(diào)的編碼規(guī)則...
美的R05d電控功能說明書.doc (629.89 KB, 下載次數(shù): 17)


作者: Y_G_G    時(shí)間: 2019-4-18 19:04
我手頭上有兩個(gè)美的的遙控器,編碼的協(xié)議都不一樣的,不通用的,你就別想這個(gè)了
如果你一定要搞,你首先要確定的是你的程序?qū)Σ粚?duì),你得找到一個(gè)相同協(xié)議的接收器件來驗(yàn)證一下你的程序?qū)Σ?再去遙控美的
程序不對(duì),你按半天都沒有用
等到你驗(yàn)證了你程序是對(duì),按一下不行,就別再搞了,沒有必要了
作者: 小貓要吃魚    時(shí)間: 2019-4-18 20:15
你好!1、你的單片機(jī)程序支離破碎,沒有完整的工程文件
2、空調(diào)的紅外控制本來就比較難的
3、我做過美的、奧的斯空調(diào)控制(家中只有這兩個(gè)牌子空調(diào))
4、具體技術(shù)問題,歡迎繼續(xù)討論

作者: 鄭漢松    時(shí)間: 2019-4-19 09:42
Y_G_G 發(fā)表于 2019-4-18 19:04
我手頭上有兩個(gè)美的的遙控器,編碼的協(xié)議都不一樣的,不通用的,你就別想這個(gè)了
如果你一定要搞,你首先要確定 ...

我的編碼應(yīng)該是對(duì)的,因?yàn)槲覔Q成nec協(xié)議,然后用第二個(gè)單片機(jī)寫了一個(gè)接收程序,發(fā)送數(shù)據(jù)和接受數(shù)據(jù)對(duì)得上,可能是我的空調(diào)編碼不行吧,搞了兩個(gè)多星期了,學(xué)習(xí)型紅外遙控也沒搞成,哎……
作者: liuzx66    時(shí)間: 2019-4-19 10:17
你沒有搞明白空調(diào)的具體編碼,光是知道紅外協(xié)議是不行的。就像說話,你說的是中文,聽的人卻只懂外文,就算聽到了也是不明白什么意思。
作者: 小貓要吃魚    時(shí)間: 2019-4-19 17:09
你好!建議你做成學(xué)習(xí)型遙控器,通用型強(qiáng)一些
作者: SURUBU1976    時(shí)間: 2019-4-23 20:37
觸碼方與 NEC6222不一樣




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品99久久久久久 | 成人免费观看男女羞羞视频 | 瑟瑟视频在线看 | 成人在线免费 | 日韩视频一级 | 国产欧美视频一区二区 | 91视频网| av网站在线看 | 国产精品久久久久国产a级 欧美日韩国产免费 | 欧美日韩国产三级 | 大吊一区二区 | 日韩一区二区av | 91精品国产一区二区 | 国产精品有限公司 | 久草中文在线观看 | 一区二区三区播放 | 日韩精品视频在线 | 国产精品美女久久久久久久网站 | 日批日韩在线观看 | 国产激情精品一区二区三区 | 91porn国产成人福利 | 黑人巨大精品 | 911网站大全在线观看 | h视频免费在线观看 | 日本超碰 | 91中文字幕 | 国产精品久久久久久久久久免费看 | 手机看片在线播放 | 狠狠干美女 | 91国自视频 | 欧美在线日韩 | 成人精品一区二区三区 | 亚洲免费在线 | www.久久久.com| 精品国产色 | 日本视频一区二区 | 亚洲精品www| 成人欧美一区二区三区黑人孕妇 | 香蕉视频一区二区 | 麻豆av一区二区三区久久 | 人成精品 |