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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3787|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

C51單片機發(fā)射紅外信號控制空調(diào),開不了機,大神幫我看一下程序哪里出錯了?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:514901 發(fā)表于 2019-4-18 16:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
10黑幣
論壇新人,求大神幫我解決
首先,我要控制的是我宿舍的空調(diào),美的的,型號如下:


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

以下是我程序的具體內(nèi)容:
1,端口和延時函數(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ā)送開機編碼

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

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

端口延時.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:514901 發(fā)表于 2019-4-18 17:01 | 只看該作者
暖一下
回復(fù)

使用道具 舉報

板凳
ID:514901 發(fā)表于 2019-4-18 17:36 | 只看該作者
美的空調(diào)的編碼規(guī)則...
美的R05d電控功能說明書.doc (629.89 KB, 下載次數(shù): 17)

回復(fù)

使用道具 舉報

地板
ID:401564 發(fā)表于 2019-4-18 19:04 | 只看該作者
我手頭上有兩個美的的遙控器,編碼的協(xié)議都不一樣的,不通用的,你就別想這個了
如果你一定要搞,你首先要確定的是你的程序?qū)Σ粚?你得找到一個相同協(xié)議的接收器件來驗證一下你的程序?qū)Σ?再去遙控美的
程序不對,你按半天都沒有用
等到你驗證了你程序是對,按一下不行,就別再搞了,沒有必要了
回復(fù)

使用道具 舉報

5#
ID:497670 發(fā)表于 2019-4-18 20:15 | 只看該作者
你好!1、你的單片機程序支離破碎,沒有完整的工程文件
2、空調(diào)的紅外控制本來就比較難的
3、我做過美的、奧的斯空調(diào)控制(家中只有這兩個牌子空調(diào))
4、具體技術(shù)問題,歡迎繼續(xù)討論
回復(fù)

使用道具 舉報

6#
ID:514901 發(fā)表于 2019-4-19 09:42 | 只看該作者
Y_G_G 發(fā)表于 2019-4-18 19:04
我手頭上有兩個美的的遙控器,編碼的協(xié)議都不一樣的,不通用的,你就別想這個了
如果你一定要搞,你首先要確定 ...

我的編碼應(yīng)該是對的,因為我換成nec協(xié)議,然后用第二個單片機寫了一個接收程序,發(fā)送數(shù)據(jù)和接受數(shù)據(jù)對得上,可能是我的空調(diào)編碼不行吧,搞了兩個多星期了,學(xué)習(xí)型紅外遙控也沒搞成,哎……
回復(fù)

使用道具 舉報

7#
ID:160500 發(fā)表于 2019-4-19 10:17 | 只看該作者
你沒有搞明白空調(diào)的具體編碼,光是知道紅外協(xié)議是不行的。就像說話,你說的是中文,聽的人卻只懂外文,就算聽到了也是不明白什么意思。
回復(fù)

使用道具 舉報

8#
ID:497670 發(fā)表于 2019-4-19 17:09 | 只看該作者
你好!建議你做成學(xué)習(xí)型遙控器,通用型強一些
回復(fù)

使用道具 舉報

9#
ID:507641 發(fā)表于 2019-4-23 20:37 | 只看該作者
觸碼方與 NEC6222不一樣
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 福利社午夜影院 | 精品久久影院 | 最近免费日本视频在线 | 国产乱码精品一区二区三区中文 | 在线观看国产三级 | 亚洲xxxxx | 久久精品国产99国产精品 | 午夜视频在线免费观看 | 欧美一区二区在线观看 | 欧美日韩高清一区 | 久在线 | 日韩欧美第一页 | 超碰97免费观看 | 中文字幕视频在线看 | 久久九九99| 成人免费在线视频 | 自拍视频网站 | 一级片网址 | 色视频在线播放 | 日韩欧美中文在线 | a级在线免费观看 | 毛片在线视频 | k8久久久一区二区三区 | 亚洲电影在线播放 | 91精品国产91久久久久青草 | www.一区二区 | 国产精品乱码一区二三区小蝌蚪 | 久草视频观看 | 亚欧性视频 | 91久久国产综合久久91精品网站 | 国产一区精品 | 日本成人免费观看 | 国产污视频在线 | 中文字幕第5页 | 欧美视频在线播放 | 成人一区二区三区 | 日韩欧美在线一区 | 日韩中文字幕在线观看视频 | 99免费视频| 亚洲精品欧美 | 日韩综合网 |