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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1086|回復: 0
打印 上一主題 下一主題
收起左側

AI8051U單片機TCL空調紅外發送和接收程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:621776 發表于 2024-12-10 15:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本例程基于AI8051U為主控芯片的實驗箱進行編寫測試。

使用Keil C51編譯器,為了達到比較高的效率,一般建議選擇"Small"模式。

當編譯器出現 "error C249: 'DATA': SEGMENT TOO LARGE" 錯誤時,則需要手動將部分比較大的數組通過"xdata" 強制分配到 XDATA 區域(例如:char xdata buffer [256];)。

通過硬件I2C接口讀取AT24C02前8個字節數據,通過串口打印讀取結果.

將讀取的數據加1后寫回AT24C02前8個字節.

重新讀取AT24C02前8個字節數據,通過串口打印讀取結果.

MCU上電后執行1次以上動作,可重復斷電/上電測試AT24C02前8個字節的數據內容.

串口配置UART1(P3.0,P3.1): 115200,N,8,1.

MCU上電后執行1次以上動作,可重復斷電/上電測試AT24C02前8個字節的數據內容.

下載時, 選擇時鐘 24MHZ (用戶可自行修改頻率).


發送部分:void start2(void)
{
        uint8_t i=0;
        for(i=0;i<239;i++)
        {
                Delay13us();
                P03=~P03;
        }
        P03=0;
        Delay1600us();
}

void send_38k(void)
{
        uint8_t i=0;
        for(i=0;i<34;i++)
        {
                Delay13us();
                P03=~P03;
        }
        P03=0;
}

void send_IR_Ctl(uint8_t *buf)
{
        uint8_t i=0,j=0,tp;
        start2();
        for(i=0;i<14;i++)
        {
                        tp=buf[ i];
                        for(j=0;j<8;j++)
                        {
                                send_38k();
                                if(tp&0x01)
                                {
                                        Delay450us();
                                }else
                                {
                                        Delay1150us();
                                }
                                tp>>=1;
                        }
        }
        send_38k();
}

接收部分:
void Get_Infrared_Code(uint8_t *buf)
{
        uint8_t data_bits=0,timer_10us=0;
        while(1)
        {
                if(P22==1)
                {
                        if(timer_10us<255)
                                timer_10us++;
                }else
                {
                                
                        buf[data_bits/8]&=~(0x01<<(data_bits%8));
                        if(timer_10us<70)
                                buf[data_bits/8]|=(0x01<<(data_bits%8));

                        if(timer_10us>140)
                                data_bits=0;
                        else
                                data_bits++;
                        timer_10us=0;
                        while(P22==0);
                }
                if(data_bits==112)
                        break;
                Delay10us();
        }
}

硬件連接:
P22->紅外接收輸出腳
P03->紅外接收發送腳
P24->OLED SCL  
P23->OLED SDA
keil c51 編譯器
IRC 時鐘 33.176MHz

原理圖: 無
仿真: 無
代碼: 紅外遙控器.7z (63.44 KB, 下載次數: 0)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级片av | 日韩在线播放第一页 | 久久国内 | 91国内精品久久 | 伊人在线| 在线成人www免费观看视频 | 日韩av成人 | 欧美一级在线观看 | 三级黄色片在线播放 | 久久国产精品久久久久 | 亚洲国产精品第一区二区 | www.婷婷 | 九九精品视频在线 | 三区在线| 亚洲欧美国产精品久久 | 国产一级片免费视频 | 国产成人午夜精品影院游乐网 | 色男人天堂av | 看一级毛片视频 | 欧美片网站免费 | 欧美黄色一级毛片 | 久久久久国产精品一区二区 | 亚洲精品一区二区二区 | 黄色免费观看网站 | 亚洲精品在线观看网站 | 一区二区三区欧美 | 一区二区视频在线观看 | 婷婷国产一区二区三区 | 91网视频| 中文字幕一级 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 国产日韩精品一区 | 亚洲三区视频 | 欧美成人一区二区三区 | 国产精品美女www爽爽爽 | 亚洲精品在线免费观看视频 | 亚洲黄色国产 | 国产亚洲精品综合一区 | 51ⅴ精品国产91久久久久久 | 国产精品久久久久无码av | 日本不卡一二三 |