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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2260|回復(fù): 7
收起左側(cè)

單片機(jī)學(xué)習(xí)紅外遙控程序,求指導(dǎo)

[復(fù)制鏈接]
ID:437615 發(fā)表于 2019-10-22 13:36 | 顯示全部樓層 |閱讀模式
100黑幣
學(xué)習(xí)紅外線遙控好幾天,看了很多教程,感覺還是一頭霧水,最后自己估摸著寫了一個(gè)最小發(fā)射程序,不出意外,沒有任何動(dòng)靜,請(qǐng)大家?guī)兔匆幌拢@個(gè)程序錯(cuò)在哪兒,如果錯(cuò)的實(shí)在太多,能不能麻煩幫忙寫一個(gè)這樣的小程序,讓我學(xué)習(xí)一下,謝謝!(不要寫大的遙控器程序,我的智商,根本看不懂)
單片機(jī)源程序如下:
#include <stc52.h>
#include <intrins.h>

#define u8 unsigned char
#define u16 unsigned int

sbit plflag=P1^0;        //定義紅外發(fā)射口                                
sbit key=P1^1;                //定義一個(gè)發(fā)射開關(guān)

void time_init();        //定時(shí)器初始化,
void s0();                //發(fā)射一位0,
void s1();                //發(fā)射一位1,


void main()
        
{        
        plflag=0;        //P1.0口先置0,
        time_init();
        while(1)
        {
                if(key==0)
                {
               
                TL1 = 0x9A;                //定時(shí)器1延時(shí)9毫秒設(shè)定,
                TH1 = 0xDF;                //
                TR0 = 1;                //打開定時(shí)器0,
                TR1 = 1;                //打開定時(shí)器1,
                while(!TF1);                //等待9毫秒
                TR0 = 0;                //關(guān)閉定時(shí)器0
                TR1 = 0;                //關(guān)閉定時(shí)器1,
                plflag=0;                //P1.0口歸0,
                        
                        
                TL1 = 0xCD;                //定時(shí)器一延時(shí)4.5毫秒,
                TH1 = 0xEF;                //
                TF1 = 0;                //清空定時(shí)器1標(biāo)志位,
                TR1 = 1;                //打開定時(shí)器1,
                while(!TF1);                //等待4.5毫秒,
                TR1 = 0;                //關(guān)閉定時(shí)器1,

               
                s0();s0();s0();s0();s0();s0();s0();s0();        //測(cè)試寫三個(gè)字節(jié),0x00,0xff,0xff
                s1();s1();s1();s1();s1();s1();s1();s1();
                s1();s1();s1();s1();s1();s1();s1();s1();
                }
               
        }
        
}

void s0()                                //寫一位0的函數(shù),
        {
                TL1 = 0xFC;                //定時(shí)560微秒設(shè)置,
                TH1 = 0xFD;
                TF1 = 0;
                TR0 = 1;
                TR1 = 1;
                while(!TF1);
                TR0 = 0;
                TR1 = 0;
                plflag=0;
               
                TL1 = 0xFC;        
                TH1 = 0xFD;
                TF1 = 0;
                TR1 = 1;
                while(!TF1);
                TR1 = 0;
               
        }
        
void s1()                                //寫一位1的函數(shù),
        {
                TL1 = 0xFC;                //定時(shí)560微秒設(shè)置,
                TH1 = 0xFD;
                TF1 = 0;
                TR0 = 1;
                TR1 = 1;
                while(!TF1);
                TR0 = 0;
                TR1 = 0;
                plflag=0;
               
                TL1 = 0xEF;                //定時(shí)器1.685毫秒設(shè)置,
                TH1 = 0xF9;
                TF1 = 0;
                TR1 = 1;
                while(!TF1);
                TR1 = 0;
        }        

void time_init()                        定時(shí)器初始化函數(shù),定時(shí)器零產(chǎn)生38khz
{
        
        TMOD = 0x11;                        //定時(shí)器0定時(shí)器1,設(shè)置為工作模式1,
        TL0 = 0xF4;                        //
        TH0 = 0xFF;
        
        TF0 = 0;
        TF1 = 0;
        ET0 = 1;
        EA = 1;
}

void Timer0() interrupt 1                //定時(shí)器0中斷服務(wù)函數(shù)
        {

                TL0 = 0xf4;
                TH0 = 0xFF;
                plflag=~plflag;
               
        }


回復(fù)

使用道具 舉報(bào)

ID:351421 發(fā)表于 2019-10-22 17:11 | 顯示全部樓層
紅外遙控的話,你具體想實(shí)現(xiàn)什么功能,比如要控制一款空調(diào)的開關(guān),你要先讓程序?qū)W習(xí)他的編碼,然后發(fā)送正確的指令(包括格式和指令的內(nèi)容),才能實(shí)現(xiàn)
回復(fù)

使用道具 舉報(bào)

ID:149144 發(fā)表于 2019-10-22 19:21 | 顯示全部樓層
誰(shuí)來(lái)接收?要在接收端看數(shù)據(jù)啊,加個(gè)接收的,然后再串口里看數(shù)據(jù)
回復(fù)

使用道具 舉報(bào)

ID:437615 發(fā)表于 2019-10-22 20:37 來(lái)自手機(jī) | 顯示全部樓層
兄弟們我是問這個(gè)程序問題在什么地方,接收是連在電腦串口上自動(dòng)的,現(xiàn)在接收不到數(shù)據(jù)
回復(fù)

使用道具 舉報(bào)

ID:650660 發(fā)表于 2019-11-27 11:27 | 顯示全部樓層
沒耐心 發(fā)表于 2019-10-22 17:11
紅外遙控的話,你具體想實(shí)現(xiàn)什么功能,比如要控制一款空調(diào)的開關(guān),你要先讓程序?qū)W習(xí)他的編碼,然后發(fā)送正確 ...

我想要做一個(gè)電視的遙控器怎么做?
回復(fù)

使用道具 舉報(bào)

ID:25310 發(fā)表于 2019-11-27 17:56 | 顯示全部樓層
找個(gè)例程看看,正點(diǎn)原子也有,金沙灘哪個(gè)也不錯(cuò)。
回復(fù)

使用道具 舉報(bào)

ID:396245 發(fā)表于 2019-11-27 18:04 | 顯示全部樓層
首先,引導(dǎo)碼后面需要4個(gè)字節(jié)才能構(gòu)成一個(gè)完整的數(shù)據(jù)(引導(dǎo)碼  地址碼  地址反碼 數(shù)據(jù)碼 數(shù)據(jù)反碼)。
回復(fù)

使用道具 舉報(bào)

ID:396245 發(fā)表于 2019-11-27 18:07 | 顯示全部樓層
首先,一個(gè)完整的數(shù)據(jù)幀應(yīng)該是  引導(dǎo)碼 地址碼 地址反碼 數(shù)據(jù)碼 數(shù)據(jù)反碼。你引導(dǎo)碼后面只發(fā)送3個(gè)字節(jié),接收端無(wú)法檢驗(yàn)是否有數(shù)據(jù)錯(cuò)誤,會(huì)被拋棄。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日日 | 99精品免费久久久久久久久日本 | h视频在线免费看 | 国产超碰人人爽人人做人人爱 | 亚洲视频一区在线观看 | 久久久91精品国产一区二区精品 | 精品国产乱码久久久久久蜜退臀 | 欧美精品三区 | 精品国产区 | 亚洲成人精品在线 | 精品一区二区三区在线观看国产 | 九九精品久久久 | 日韩精品在线免费 | 天天干天天操天天爽 | 亚洲欧美一区二区三区视频 | 在线观看国产 | 午夜天堂精品久久久久 | 91网在线播放 | 国产中文在线观看 | 日韩精品一区二区三区中文在线 | 九九热精品免费 | 黄色网址在线免费播放 | 日韩第一区| 久久成人精品一区二区三区 | 免费日韩av网站 | 毛片com | 亚洲欧美aⅴ | 亚洲欧美激情精品一区二区 | 久久久久亚洲精品 | 综合色影院| 亚洲成人午夜在线 | 老牛影视av一区二区在线观看 | 国产一区二区三区在线视频 | 在线观看国产wwwa级羞羞视频 | 国产日韩一区二区三免费高清 | 国产免费观看一区 | 国产一区久久 | а天堂中文最新一区二区三区 | 午夜免费视频 | 亚洲一区二区三区福利 | 亚洲第一色站 |