單片機(jī)紅外控制設(shè)計(jì)_第1頁
單片機(jī)紅外控制設(shè)計(jì)_第2頁
單片機(jī)紅外控制設(shè)計(jì)_第3頁
單片機(jī)紅外控制設(shè)計(jì)_第4頁
單片機(jī)紅外控制設(shè)計(jì)_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、單片機(jī)紅外遙控器設(shè)計(jì)作者 :mcu110來源 :51hei點(diǎn)擊數(shù) :9672更新時(shí)間: 2007 年 08 月 01 日【字體:大中小】紅外線遙控是目前使用很廣泛的一種通信和遙控技術(shù)。由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),因而,繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空凋機(jī)以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可 * 而且能有效地隔離電氣干擾。紅外線是太陽光線中眾多不可見光線中的一種,由德國科學(xué)家霍胥爾于1800 年發(fā)現(xiàn), 又稱為紅外熱輻射,他將太陽光用三棱鏡分解開,在各種不同顏色的色帶位

2、置上放置了溫度計(jì),試圖測量各種顏色的光的加熱效應(yīng)。結(jié)果發(fā)現(xiàn),位于紅光外側(cè)的那支溫度計(jì)升溫最快。因此得到結(jié)論:太陽光譜中,紅光的外側(cè)必定存在看不見的光線,這就是紅外線。也可以當(dāng)作傳輸之媒界。太陽光譜上紅外線的波長大于可見光線,波長為0.75 1000m紅外線可分為三部分,即近紅外線,波長為0.75 1.50 m之間;中紅外線,波長為1.50 6.0 m之間;遠(yuǎn)紅外線,波長為6.0 l000 m之間。真正的紅外線夜視儀是光電倍增管成像,與望遠(yuǎn)鏡原理全完不同,白天不能使用,價(jià)格昂貴且需電源才能工作?!炯t外遙控系統(tǒng)】通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼專用集成電路芯片來進(jìn)行控制操作,

3、如圖1所示。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED 紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電1路。圖 1a紅外發(fā)射原理圖圖 1b 紅外接受原理圖【遙控發(fā)射器及其編碼】紅外遙控發(fā)射器專用芯片很多,根據(jù)編碼格式可以分成兩大類,這里我們以運(yùn)用比較廣泛,解碼比較容易的一類來加以說明,現(xiàn)以日本 NEC 的 uPD6121G 組成發(fā)射電路為例說明編碼原理。當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:采用脈寬調(diào)制的串行碼,以脈寬為 0.565ms、間隔 0.56ms、周期為 1.125ms 的組合表示二進(jìn)制的 “0”以脈;寬為 0.565ms、間隔

4、1.685ms、周期為 2.25ms 的組合表示二進(jìn)制的 “1,”其波形如圖 2 所示。2上述 “0和”“1組”成的 32 位二進(jìn)制碼經(jīng)38kHz 的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射,如圖3 所示,連發(fā)波形如圖4 所示。UPD6121G 產(chǎn)生的遙控編碼是連續(xù)的32 位二進(jìn)制碼組,其中前16 位為用戶識(shí)別碼,能區(qū)別不同的電器設(shè)備,防止不同機(jī)種遙控碼互相干擾。該芯片的用戶識(shí)別碼固定為十六進(jìn)制01H;后 16 位為 8 位操作碼 (功能碼)及其反碼。 UPD6121G 最多額 128 種不同組合的編碼。當(dāng)遙控器在按鍵按下后,周期性地

5、發(fā)出同一種32 位二進(jìn)制碼,周期約為108ms。一組碼本身的持續(xù)時(shí)間隨它包含的二進(jìn)制“0和”“1的”個(gè)數(shù)不同而不同,大約在45 63ms 之間,圖4 為發(fā)射波形圖。當(dāng)一個(gè)鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms 的編碼脈沖 ,這 108ms 發(fā)射代碼由一個(gè)起始碼( 9ms) ,一個(gè)結(jié)果碼( 4.5ms) ,低 8 位地址碼( 9ms18ms) ,高 8 位地址碼( 9ms18ms) ,8 位數(shù)據(jù)碼( 9ms18ms)和這 8 位數(shù)據(jù)的反碼(9ms18ms)組成。如果鍵按下超過108ms 仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼(2.5ms)組成。代

6、碼格式(以接收代碼為準(zhǔn),接收代碼與發(fā)射代碼反向) 位定義 單發(fā)代碼格式3 連發(fā)代碼格式注:代碼寬度算法:16 位地址碼的最短寬度:1.12 16=18ms 16 位地址碼的最長寬度:2.24ms16=36ms已知 8 位數(shù)據(jù)代碼及其8 位反代碼的寬度和不變:(1.12ms+2.24ms ) 8=27ms 32 位代碼的寬度為( 18ms+27ms ) (36ms+27ms)1 解碼的關(guān)鍵是如何識(shí)別“0和” “1,”從位的定義我們可以發(fā)現(xiàn)“0、”“1均”以 0.56ms 的低電平開始,不同的是高電平的寬度不同,“0為” 0.56ms, “1為” 1.68ms,所以必須根據(jù)高電平的寬度區(qū)別“0和”

7、 “1?!比绻麖?.56ms低電平過后,開始延時(shí),0.56ms 以后,若讀到的電平為低,說明該位為“0”反之則為, “1”為了可, * 起見,延時(shí)必須比 0.56ms 長些,但又不能超過1.12ms,否則如果該位為“0,”讀到的已是下一位的高電平,因此?。?.12ms+0.56ms) /2=0.84ms 最為可 * ,一般取 0.84ms 左右均可。2 根據(jù)碼的格式,應(yīng)該等待9ms 的起始碼和4.5ms 的結(jié)果碼完成后才能讀碼。【紅外遙控解碼實(shí)驗(yàn)硬件】4一體化紅外線接收器是一種集紅外線接收和放大整形于一體,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL 電平信號(hào)兼容的所有工作,而體積又

8、很小巧,它適合于各種紅外線遙控和紅外線數(shù)據(jù)傳輸,廣泛用于電視機(jī)、衛(wèi)星接收機(jī)、VCD 、DVD 、音響、空調(diào)等家用電器中接收紅外信號(hào),圖5 是一體化接收頭的引腳排列圖,圖6 是本站產(chǎn)品配套的采用屏蔽線焊接的一體化紅外接收頭,采用屏蔽線焊接,抗干擾能力強(qiáng),接收更可 * 。沒有購買實(shí)驗(yàn)板配套的一體化紅外接收頭的網(wǎng)友可以根據(jù)圖2 所示接收頭引腳排列圖自己焊接一個(gè)。圖 6:本站產(chǎn)品配套一體化紅外接收頭(已經(jīng)用屏圖 5:一體化紅外接收頭蔽線焊接好,抗干擾能力強(qiáng),插入實(shí)驗(yàn)板即可使(引腳排列圖)用)下面就是我們將要進(jìn)行紅外遙控解碼實(shí)驗(yàn)所要用到的硬件設(shè)備:S51 增強(qiáng)型實(shí)驗(yàn)板、ISP 編程器、 AT89S51實(shí)

9、驗(yàn)芯片、豪華型多功能紅外線遙控器。5圖 7: S51 增強(qiáng)型單片機(jī)實(shí)驗(yàn)板及防插反紅外遙控接口圖 8:豪華型多功能紅外遙控器高靈敏度一體化紅外接收頭(23 元)6圖 9: 32 鍵豪華型紅外遙控器原理圖7圖 10: ISP 編程器燒寫實(shí)驗(yàn)單片機(jī)芯片AT89S51【紅外遙控解碼實(shí)驗(yàn)】我們經(jīng)過對(duì)前面的遙控編解碼知識(shí)的學(xué)習(xí),對(duì)紅外遙控有了基本的了解,下面我們馬上進(jìn)行解碼實(shí)驗(yàn)。本紅外遙控解碼實(shí)驗(yàn)的的功能是:程序?qū)b控器發(fā)射的遙控碼進(jìn)行解碼,解碼成功時(shí)蜂鳴器發(fā)出 嘀嘀 的解碼成功提示音, 如果按壓的是數(shù)字鍵0 9就將按鍵值在實(shí)驗(yàn)板上的5 位數(shù)碼管上顯示出按鍵值,同時(shí)將按鍵的十六進(jìn)制值用 P1 口的 8 位

10、發(fā)光二極管指示出來;如果按壓的不是數(shù)字鍵0 9,就直接從P1 口輸出鍵值;下面是遙控解碼匯編源程序。實(shí)驗(yàn)時(shí)將先連接好硬件設(shè)備,將配套的一體化紅外遙控接收頭插入實(shí)驗(yàn)板上的紅外遙控 接口內(nèi),在Keil單片機(jī)集成開發(fā)環(huán)境中新建工程,通過 Keil 將源程序編譯得到HEX 格式目標(biāo)文件yk.hex ,最后使用ISP 編程器將目標(biāo)文件燒寫到AT89S51 單片機(jī)中,插到S51 增強(qiáng)型實(shí)驗(yàn)板上運(yùn)行,拿出配套的紅外遙控器進(jìn)行解碼測試,看看實(shí)驗(yàn)結(jié)果是否和程序相同。 點(diǎn)此下載HEX 格式目標(biāo)文件yk.hex 點(diǎn)此下載遙控解碼源程序和Keil 工程文件ORG0000H8MAIN:MOVSP,#60HMOVP0,#

11、0FFHMOVP1,#0FFHMOVP2,#0FFHMOVP3,#0FFHJNBP3.2,$; 等待遙控信號(hào)出現(xiàn)MOVR6,#10SB:ACALLYS1;調(diào)用 882 微秒延時(shí)子程序JBP3.2,MAIN;延時(shí) 882微秒后判斷P3.2 腳是否出現(xiàn)高電平如果有就退出解碼程序DJNZR6, SB; 重復(fù) 10次,目的是檢測在 8820 微秒內(nèi)如果出現(xiàn)高電平就退出解碼程序;以上完成對(duì)遙控信號(hào)的9000 微秒的初始低電平信號(hào)的識(shí)別。JNBP3.2, $; 等待高電平避開9 毫秒低電平引導(dǎo)脈沖ACALLYS2;延時(shí) 4.74 毫秒避開4.5 毫秒的結(jié)果碼MOVR1,#1AH;設(shè)定 1AH 為起始 RA

12、M 區(qū)MOVR2,#4PP:MOVR3,#8JJJJ:JNBP3.2,$;等待地址碼第一位的高電平信號(hào)LCALLYS1;高電平開始后用 882 微秒的時(shí)間尺去判斷信號(hào)此時(shí)的高低電平狀態(tài)MOVC,P3.2;將 P3.2 引腳此時(shí)的電平狀態(tài) 0 或 1 存入 C 中JNCUUU;如果為0 就跳轉(zhuǎn)到 UUUJBP3.2,$;如果為 1 就等待高電平信號(hào)結(jié)束UUU:MOVA,R1;將 R1 中地址的給 ARRCA; 將 C 中的值 0 或 1 移入 A 中的最低位MOVR1,A;將 A 中的數(shù)暫時(shí)存放在 R1 中DJNZR3,JJJJ;接收地址碼的高8 位INCR1;對(duì) R1 中的值加1,換成下一個(gè)

13、RAMDJNZR2,PP;接收完 16 位地址碼和8 位數(shù)據(jù)碼和 8 位數(shù)據(jù)反碼,存放在 1AH/1BH/1CH/1DH 的 RAM 中;以下對(duì)代碼是否正確和定義進(jìn)行識(shí)別MOVA,1AH;比較高 8 位地址碼9XRLA,#00000000B;判斷 1AH 的值是否等于00000000,相等的話 A 為 0JNZMAIN;如果不相等說明解碼失敗退出解碼程序MOVA,1BH;比較低 8 位地址XRLA,#B ;再判斷高8 位地址是否正確JNZMAIN;如果不相等說明解碼失敗退出解碼程序MOVA,1CH;比較數(shù)據(jù)碼和數(shù)據(jù)反碼是否正確 ?CPLAXRLA,1DH;將 1CH 的值取反后和1DH 比較

14、不同則無效丟棄,核對(duì)數(shù)據(jù)是否準(zhǔn)確JNZMAIN;如果不相等說明解碼失敗退出解碼程序LCALLSOUND; 解碼成功,聲音提示MOVA,1AHCPLAMOVP1,A;遙控碼十六進(jìn)制值通過P1 口 LED 顯示出來;-下面為0 9 鍵碼判斷并在實(shí)驗(yàn)板的5 位數(shù)碼管中顯示鍵值 -JZPD:MOVA,1AHIRD0:CJNEA,#00H,IRD1;按鍵 0 判斷顯示MOVP0,#0C0HMOVP2,#BAJMPMAINIRD1:CJNEA,#01H,IRD2;按鍵 1 判斷顯示MOVP0,#0F9HMOVP2,#BAJMPMAINIRD2:CJNEA,#02H,IRD3;按鍵 2 判斷顯示MOVP0,

15、#0A4HMOVP2,#BAJMPMAINIRD3:CJNEA,#03H,IRD4;按鍵 3 判斷顯示MOVP0,#0B0H10MOVP2,#BAJMPMAINIRD4:CJNEA,#04H,IRD5;按鍵 4 判斷顯示MOVP0,#99HMOVP2,#BAJMPMAINIRD5:CJNEA,#05H,IRD6;按鍵 5 判斷顯示MOVP0,#92HMOVP2,#BAJMPMAINIRD6:CJNEA,#06H,IRD7;按鍵 6 判斷顯示MOVP0,#82HMOVP2,#BAJMPMAINIRD7:CJNEA,#07H,IRD8;按鍵 7 判斷顯示MOVP0,#0F8HMOVP2,#BAJMPMAINIRD8:CJNEA,#08H,IRD9;按鍵 8 判斷顯示MOVP0,#80HMOVP2,#BAJMPMAINIRD9:CJNEA,#09H,IRDOR;按鍵 9 判斷顯示MOVP0,#90HMOVP2,#BAJMPMAINIRDOR:MOVP2,#0FFH;關(guān)閉數(shù)碼管使能。0 9以外的非數(shù)字功能按鍵鍵值不采用數(shù)碼管顯示,直接從P1 口輸出鍵值A(chǔ)JMPMAIN11YS1:MOVR4,#19 ; 延時(shí)子程序1D1:MOVR5,#18DJNZR5,$DJ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論