国产精品国产三级国产三级人妇_欧美日韩成人高清_欧美xxx久久_亚洲人吸女人奶水_成人精品高清在线_国产欧美在线观看一区_日本一区二区久久_日韩激情av在线_成人在线综合网_国产一区二区三区美女_国产精品亚洲综合一区在线观看_91精品国产欧美一区二区18_成人av综合一区_国产精品盗摄一区二区三区_免费看欧美美女黄的网站_精品在线免费视频

紅外遙控器進(jìn)行紅外信號的發(fā)射選擇一體化紅外接收頭

   2023-06-24 網(wǎng)絡(luò)整理0091610
核心提示:接收端通過紅外監(jiān)測二極管接收到紅外信號后再經(jīng)過放大、濾波、解調(diào)等操作輸出高低電平,這樣就完成了紅外信號的收發(fā)。一體化紅外接收頭共有三個(gè)引腳,將有凸起的一面對準(zhǔn)自己后從左到右依次是信號輸出、GND、VCC,它的工作電壓為5V,可以選擇一體化紅外接收模塊,我們在使用的時(shí)候只需要給它接上5V電源,接地,然后將信號輸出腳連接到單片機(jī)就可以使用了。

介紹

紅外遙控作為一種應(yīng)用廣泛的遙控方式,紅外遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低的特點(diǎn)。 錄音機(jī)、空調(diào)、音響等大型家用電器大多采用紅外遙控器。 控制住。 在這篇文章中,我將詳細(xì)講解紅外遙控信號的解碼方法。 這里只是簡單了解一下紅外信號的發(fā)送和接收原理。 紅外遙控系統(tǒng)必須有發(fā)射端和接收端。 發(fā)射端通過芯片調(diào)制信號,然后紅外發(fā)光晶閘管將信號以紅外光的形式發(fā)送出去。 接收端通過紅外檢測晶閘管接收紅外信號,然后通過放大、濾波、解調(diào)等操作輸出高低電平,從而完成紅外信號的發(fā)送和接收。本教程中我選擇的是紅外遙控器右圖傳輸紅外信號

選擇集成紅外接收頭作為紅外信號的接收端。 這是一種特殊的紅外接收電路。 它將紅外接收管和放大電路集成為一體。 外觀上只有二極管大小,如圖所示。

集成紅外接收頭共有三個(gè)引腳。 將突出的一側(cè)與自身對齊,從左到右依次為信號輸出、GND、VCC。 其工作電流為5V。 您可以選擇集成紅外接收模塊。 我們在使用時(shí),只需要將其連接到5V電源,接地,然后將信號輸出引腳連接到單片機(jī)即可使用。 在本文中,我使用51單片機(jī)進(jìn)行實(shí)驗(yàn)。 51單片機(jī)足以解碼紅外信號,而且簡單易懂。 文章主要講解解碼原理。

紅外收發(fā)二極管電路_紅外收發(fā)二極管電路_紅外通信收發(fā)系統(tǒng)實(shí)驗(yàn)

硬件連接

第一步是硬件連接,所用的硬件非常簡單,只有集成紅外接收頭和單片機(jī)的最小系統(tǒng)。 首先我們將電源連接到單片機(jī)和紅外接收器的最小系統(tǒng),注意共地,然后將紅外接收器的信號輸出引腳連接到單片機(jī)的外部中斷引腳單片機(jī),從而完成硬件連接。 信號輸出引腳之所以與單片機(jī)的外部中斷引腳相連,是因?yàn)槿缟纤觯t外接收器接收到紅外信號后會輸出高低電平。 連接外部中斷引腳后,單片機(jī)可以快速響應(yīng),旁邊的程序也是由中斷程序?qū)崿F(xiàn)的。

NEC合同

后面會提到紅外收發(fā)二極管電路,紅外接收器接收到紅外信號后會輸出高低電平,然后我們可以通過我們的程序分析電平變化來識別接收到的信號內(nèi)容。 為了在接收端對信號進(jìn)行解碼紅外收發(fā)二極管電路,我們需要知道發(fā)送端的數(shù)據(jù)是如何編碼的。 本文使用的紅外遙控器采用的是NEC編碼合約,所以我們首先需要解釋一下NEC合約的相關(guān)信息。 NEC合約是用于紅外通信的合約。 通過NEC合約發(fā)送的信息格式如右圖所示:

紅外收發(fā)二極管電路_紅外收發(fā)二極管電路_紅外通信收發(fā)系統(tǒng)實(shí)驗(yàn)

信息的開頭是一個(gè)9ms的高電平加上一個(gè)4.5ms的低電平引導(dǎo)代碼,用于告訴設(shè)備通信已經(jīng)開始,信號已經(jīng)發(fā)送。 然后是8位地址碼和原來的8位地址碼。 地址碼的作用是區(qū)分不同的接收部件,實(shí)現(xiàn)對某個(gè)部件的單獨(dú)控制。 最后是8位數(shù)據(jù)碼和8位原始數(shù)據(jù)碼。 數(shù)據(jù)代碼就是功能代碼。 我們可以為不同的數(shù)據(jù)代碼設(shè)置不同的功能。 原代碼的作用是檢查接收到的數(shù)據(jù)是否正確。 里面的信息中,‘0’用560us高電平加560us低電平表示,‘1’用560us高電平加低電平表示。 需要注意的是,里面的波形圖是發(fā)送端的波形。 我們的紅外接收端接收到的信號高低電平與上圖相反。 還需要注意的是,發(fā)送端是從最高位開始發(fā)送數(shù)據(jù)的,所以我們接收到的信號也是從最高位開始的。 另外,當(dāng)我們持續(xù)按下同一個(gè)按鈕時(shí),發(fā)射器不會重復(fù)發(fā)送地址碼和數(shù)據(jù)碼,而是發(fā)送一次后每隔一段時(shí)間發(fā)送一次啟動碼(重復(fù)),間隔約為108ms。 右圖為接收端導(dǎo)頻碼、導(dǎo)頻碼(重復(fù))、‘0’、‘1’的波形:

了解了NEC合約的信息后,我們就可以開始編寫程序來控制MCU解碼紅外信號了。 首先解釋一下解碼程序的思路。 之前,我們將紅外接收器的信號輸出引腳連接到單片機(jī)的外部中斷引腳。 我們設(shè)置外部中斷的觸發(fā)方式為邊沿觸發(fā)。 當(dāng)接收器收到信號后,會輸出低電平,低電平觸發(fā)外部中斷。 我們在中斷程序中啟動定時(shí)器,這樣在下一次低電平觸發(fā)中斷之前,我們可以比較這段時(shí)間定時(shí)器設(shè)定的時(shí)間來確定脈沖。 值的長度決定數(shù)據(jù)是“0”還是“1”。 那我就根據(jù)具體代碼來介紹一下。

紅外收發(fā)二極管電路_紅外通信收發(fā)系統(tǒng)實(shí)驗(yàn)_紅外收發(fā)二極管電路

#include"reg52.h"#define uint unsigned int #define uchar unsigned charuchar IRtime;        //儲存檢測紅外高低電平持續(xù)時(shí)間uchar IRcord[4];    //儲存解碼后的4個(gè)字節(jié)數(shù)據(jù)uchar IRdata[33];    //包含起始碼在內(nèi)的33位數(shù)據(jù)bit IRpro_ok;        //解碼后4個(gè)數(shù)據(jù)接收完成標(biāo)志位bit IRok;            //33位數(shù)據(jù)接收完成標(biāo)志位

在前面的函數(shù)中,我們添加了相應(yīng)的頭文件和一些宏定義,然后我們定義了一些變量和鏈表作為一些標(biāo)志位和一些數(shù)據(jù)存儲。 每個(gè)定義前面都有注釋來解釋相應(yīng)的功能。 這里我就不重復(fù)了。

void init(){    TMOD |= 0x02;    //設(shè)置定時(shí)器0工作模式2    TL0 = TH0 = 0;    //初始化定時(shí)器0寄存器    EA = 1;    ET0 = 1;    TR0 = 1;    IT0 = 1;    EX0 = 1;    TMOD |= 0x20;    //設(shè)置定時(shí)器1工作模式2    TL1 = TH1 = 0xfd;    //比特率9600    SM1 = 1;    //設(shè)置串口工作模式1,10位異步收發(fā)    TR1 = 1;    //啟動定時(shí)器1    }

然后我們定義一個(gè)初始化函數(shù),用于定時(shí)器和中斷的初始化。 我們使用定時(shí)器0來估算紅外信號高低電平的時(shí)間,并使用定時(shí)器1通過并口發(fā)送數(shù)據(jù)。

紅外收發(fā)二極管電路_紅外收發(fā)二極管電路_紅外通信收發(fā)系統(tǒng)實(shí)驗(yàn)

void T0_ISR(void) interrupt 1    //定時(shí)器0中斷一次277.76us{    IRtime++;}

上一段是定時(shí)器0的程序,用于估算上面的時(shí)間。 定時(shí)器0的中斷時(shí)間為277.76us,我們可以通過它來估算紅外信號的持續(xù)時(shí)間。

void int0(void) interrupt 0{    static uchar i;        //靜態(tài)變量用于存入33次數(shù)據(jù)計(jì)數(shù)    static bit startflag;    //開始存儲脈寬標(biāo)志位    if(startflag)    {        if((IRtime < 53) && (IRtime >= 32))        //判斷是否為引導(dǎo)碼 若為引導(dǎo)碼則從起始碼開始存        {i = 0;}        IRdata[i] = IRtime;        //以T0溢出的次數(shù)來計(jì)算脈寬把這個(gè)時(shí)間存放在數(shù)組中            IRtime = 0;        //計(jì)數(shù)清零        i++;    //計(jì)數(shù)脈寬存入次數(shù)自加        if(i == 30)        {            IRok = 1;    //脈寬檢查完成            i = 0;        //把脈寬計(jì)數(shù)清零準(zhǔn)備下次存入        }    }    else    {        IRtime = 0;        //定時(shí)器0計(jì)數(shù)清零        startflag = 1;        //開始處理標(biāo)志位置1    }}

上述程序是外部中斷處理程序。 當(dāng)紅外接收頭接收到紅外信號時(shí),會輸出相應(yīng)的高低電平變化。 接收端波形圖中已經(jīng)畫出了導(dǎo)頻碼和“1”、“0”的波形。 這樣,當(dāng)接收端為高電平時(shí),就會觸發(fā)外部中斷。 這是將要檢查的值。 根據(jù)這個(gè)值來判斷是否是9ms的啟動代碼。 如果是引導(dǎo)碼,則先清零,然后保存后續(xù)的脈沖時(shí)間,如果不是則清零,這樣紅外接收頭接收到的33個(gè)脈沖的長度就會保存在[]字段中。

紅外通信收發(fā)系統(tǒng)實(shí)驗(yàn)_紅外收發(fā)二極管電路_紅外收發(fā)二極管電路

void IRcordpro(){    uchar i;    //用于計(jì)數(shù)處理4個(gè)字節(jié)    uchar j;    //用于計(jì)數(shù)處理1個(gè)字節(jié)的8位數(shù)據(jù)    uchar k;    //用于計(jì)數(shù)處理33次脈寬    k = 1;        //從第一位開始處理 丟掉起始碼    for(i = 0;i < 4;i++)    {        for(j = 0;j <8;j++)        {            if(IRdata[k] > 5)    //如果脈寬大于數(shù)據(jù)0標(biāo)準(zhǔn)的1125us就判定為數(shù)據(jù)1            {                IRcord[i] |= 0x80;        //置于最高位            }            if(j < 7)    //從最高位移位置低位            {                IRcord[i] >>= 1;            }            k++;    //處理下一次脈寬        }    }    IRpro_ok = 1;    //解碼完成}

前面的函數(shù)是用來處理我們之前保存的33個(gè)脈沖長度,轉(zhuǎn)換成4個(gè)字節(jié)的數(shù)據(jù)存放在[]字段中。 具體操作是根據(jù)脈沖時(shí)間判斷是“1”還是“0”。 大家可以按照程序旁邊的注釋來了解函數(shù)的內(nèi)容。

void main(){    uchar i;    //計(jì)數(shù)串口發(fā)送字節(jié)數(shù)    init();        //初始化    while(1)    {        if(IRok)    //判斷33次脈寬是否提取完成        {            IRcordpro();    //根據(jù)脈寬解碼出4字節(jié)數(shù)據(jù)            IRok = 0;        //清零脈寬檢查完成標(biāo)志位等待下一次脈寬檢查            if(IRpro_ok)    //判斷解碼是否完成            {                for(i = 0;i < 4;i++)                {                    SBUF = IRcord[i];                    while(!TI);                    TI = 0;                }                           IRpro_ok = 0;        //清零解碼標(biāo)志位            }        }    }}

最后我們在主函數(shù)中調(diào)用前面的函數(shù),但是等待解碼完成后,我們將解碼后的4字節(jié)數(shù)據(jù)通過并口發(fā)送給筆記本。 最后我們來看看實(shí)際效果。 首先打開并口助手,將碼率設(shè)置為9600,接收模式設(shè)置為HEX模式,這樣當(dāng)按下紅外遙控器的按鈕時(shí),就會返回遙控器的通配符。

好了,本教程就到此結(jié)束,感謝您的觀看。

186信息網(wǎng)原創(chuàng)文章,轉(zhuǎn)載請注明本文來自:m.yjdjwpb.cn

 
舉報(bào)收藏 0打賞 0評論 0
 
更多>同類資訊
推薦圖文
推薦資訊
點(diǎn)擊排行
網(wǎng)站首頁  |  支付和聯(lián)系方式  |  發(fā)布規(guī)則-默認(rèn)已知  |  發(fā)布文章網(wǎng)站出現(xiàn)亂碼怎么辦  |  微信支付寶付款碼  |  短信收費(fèi)  |  如何續(xù)費(fèi)  |  防騙指南  |  專場采購  |  買賣商機(jī)  |  營銷推廣  |  網(wǎng)站地圖  |  排名推廣  |  廣告服務(wù)  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報(bào)
 
国产精品国产三级国产三级人妇_欧美日韩成人高清_欧美xxx久久_亚洲人吸女人奶水_成人精品高清在线_国产欧美在线观看一区_日本一区二区久久_日韩激情av在线_成人在线综合网_国产一区二区三区美女_国产精品亚洲综合一区在线观看_91精品国产欧美一区二区18_成人av综合一区_国产精品盗摄一区二区三区_免费看欧美美女黄的网站_精品在线免费视频

          日韩av图片| 日韩一区日韩二区| 欧美极品一区二区| caoporn国产精品免费公开| 成人精品免费网站| 92精品国产成人观看免费| 不卡视频一二三四| 成人精品水蜜桃| 久久影视中文粉嫩av| 久久久99爱| 视频一区二区精品| 日本精品视频一区二区| 欧美日韩美少妇| 欧美成人免费网站| 中文在线资源观看网站视频免费不卡| 国产精品麻豆久久久| 亚洲欧美日韩在线| 亚洲成人av电影在线| 免费日本视频一区| 国产精品888| 成人免费视频网站| 少妇免费毛片久久久久久久久 | 欧美一区二区三区不卡| 日韩欧美资源站| 亚洲国产电影在线观看| 一级特黄大欧美久久久| 六月丁香综合在线视频| 国产大陆a不卡| 高清不卡一区二区三区| 日韩免费电影一区二区| 日本乱人伦aⅴ精品| 欧美一区二区精美| 国产精品视频线看| 亚洲成a人v欧美综合天堂下载 | 99精品视频在线观看| 国产伦精品一区二区三区视频黑人| 免费精品视频一区| 欧美日韩一区在线观看| 精品美女一区二区| 亚洲激情自拍视频| 精品一二三四在线| 国产成人精品自拍| 亚洲三区在线| 成人av在线电影| 玛丽玛丽电影原版免费观看1977 | 国产乱码精品1区2区3区| 成人18视频在线播放| 久久丁香综合五月国产三级网站| 97se亚洲国产综合自在线| 欧美一区二区综合| 欧美日韩国产高清一区二区| 欧美激情一区二区三区在线| 三级欧美在线一区| 北条麻妃一区二区三区| 一个色的综合| 国产无人区一区二区三区| 日韩国产一区二| 风间由美久久久| 欧美日韩国产电影| 一二三四社区欧美黄| 不卡一区二区中文字幕| 在线观看成人av电影| 精品国产sm最大网站| 日韩高清不卡在线| 韩国成人动漫在线观看| 欧美日韩国产高清一区| 一个色妞综合视频在线观看| 97se亚洲国产综合自在线不卡| 色综合中文字幕国产 | 国产亚洲午夜高清国产拍精品| 亚洲亚洲人成综合网络| 91久久爱成人| 91.麻豆视频| 亚洲成人第一页| 高清国产一区| 欧美va亚洲va| 久久99日本精品| 神马影院一区二区| 国产精品久久看| 99久久99久久久精品齐齐| 欧美在线免费视屏| 亚洲综合男人的天堂| 国产激情一区二区三区在线观看| 91精品国产麻豆| 美女精品一区二区| 日韩在线a电影| 国产伦精品一区二区三区免费视频| 日韩一区二区三区观看| 老色鬼精品视频在线观看播放| 欧美高清性xxxxhdvideosex| 中文字幕va一区二区三区| 豆国产96在线|亚洲| 欧美日韩小视频| 美女www一区二区| 亚洲视频小说| 一区二区三区欧美久久| 国产一区二区三区av在线| 久久久久久久性| k8久久久一区二区三区| 91精品欧美久久久久久动漫| 蜜臀av性久久久久av蜜臀妖精| 亚洲伊人婷婷| 一二三区精品福利视频| 精品久久中出| 亚洲人成网站影音先锋播放| 成人在线观看网址| 国产日本一区二区| 成人综合色站| 国产精品素人视频| 狠狠色综合一区二区| 综合激情成人伊人| 鲁丝一区二区三区免费| 亚洲蜜臀av乱码久久精品蜜桃| 欧美精品国产精品久久久| 一区二区成人在线视频| 欧美一区激情视频在线观看| 亚洲欧美福利一区二区| 欧美日韩一区在线播放| 亚洲成a人v欧美综合天堂下载| 正在播放91九色| 蜜桃精品视频在线观看| 欧美三级三级三级| 国产成人精品亚洲777人妖| 日韩欧美视频在线| 91丝袜呻吟高潮美腿白嫩在线观看| 久久色.com| 久久本道综合色狠狠五月| 一区二区三区资源| 色综合一区二区| 精品一区二区三区视频| 日韩你懂的在线观看| 99精品国产高清一区二区| 国产精品不卡在线观看| 色综合久久av| 国产一区二区三区视频在线播放| 日韩欧美自拍偷拍| 国产麻豆一区二区三区在线观看| 亚洲一区二区美女| 欧美日韩中文字幕一区| 成人国产精品视频| 亚洲欧洲无码一区二区三区| 午夜精品一区二区三区四区| 美美哒免费高清在线观看视频一区二区 | 精品国偷自产国产一区| 91视频在线观看免费| 樱桃国产成人精品视频| 在线天堂一区av电影| 国产一区二区免费在线| 久久久蜜桃精品| 日韩一区二区电影在线观看| 久久精品国产亚洲aⅴ| 精品国产乱码久久久久久免费 | 国产伦精一区二区三区| 久久久美女毛片| 色吧亚洲视频| 国产凹凸在线观看一区二区| 中文字幕一区二区三区乱码在线 | 欧洲精品亚洲精品| 久久99国内精品| 国产精品美女久久久久久久网站| 亚洲日本精品一区| 91在线观看一区二区| 亚洲一区二区三区自拍| 91精品欧美福利在线观看| 麻豆成人小视频| 精品一区二区在线免费观看| 国产精品视频免费| 欧美日韩在线精品一区二区三区激情| 666精品在线| 久久99精品国产| 亚洲三级理论片| 日韩精品一区二区三区老鸭窝 | 国产经典欧美精品| 一区二区久久久久| 精品久久人人做人人爽| 一区二区不卡视频| 波多野结衣久草一区| 亚洲免费在线观看视频| 日本一区二区高清视频| 成人av免费在线观看| 日韩黄色一级片| 中文字幕中文在线不卡住| 91麻豆精品国产| 夜夜爽99久久国产综合精品女不卡| eeuss鲁片一区二区三区在线看| 婷婷成人综合网| 亚洲欧洲一区二区在线播放| 欧美一级一区二区| 欧美性感一区二区三区| 日韩伦理一区二区三区av在线| a4yy欧美一区二区三区| 久久99精品网久久| 亚洲午夜久久久久久久久电影网| 国产婷婷精品av在线| 91精品国产入口| 在线免费观看一区| 亚洲精品视频一二三| 久久99导航| 成人免费看片网站| 成人黄色片视频网站|