




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 紅外遙控單片機(jī)解碼程序作者:harry用單片機(jī)解碼紅外遙控器 遙控器使用方便,功能多目前已廣泛應(yīng)用在電視機(jī)、VCD、DVD、空調(diào)等各種家用電器中,且價(jià)格便宜,市場上非常容易買到。如果能將遙控器上許多的按鍵解碼出來用作單片機(jī)系統(tǒng)的輸入則解決了常規(guī)矩陣鍵盤線路板過大、布線復(fù)雜、占用IO口過多的弊病。而且通過使用遙控器,操作時(shí)可實(shí)現(xiàn)人與設(shè)備的分離,從而更加方便使用。下面以TC9012編碼芯片的遙控器為例。談?wù)勅绾斡贸S玫?1系統(tǒng)單片機(jī)進(jìn)行遙控的解碼。 一、編碼格式 1、0和1的編碼 遙控器發(fā)射的信號由一串O和1的二進(jìn)制代碼組成不同的芯片對0和1的編碼有所不同。通常有曼徹斯特編碼和脈沖寬度編碼。TC
2、9012的O和1采用PWM方法編碼,即脈沖寬度調(diào)制,其O碼和1碼如圖1所示(以遙控接收輸出的波形為例)。O碼由O56ms低電平和056ms高電平組合而成脈沖寬度為112ms1碼由056ms低電平和169ms高電平組合而成脈沖寬度為225ms。在編寫解碼程序時(shí)通過判斷脈沖的寬度,即可得到0或1。 2、按鍵的編碼 當(dāng)我們按下遙控器的按鍵時(shí),遙控器將發(fā)出如圖2的一串二進(jìn)制代碼,我們稱它為一幀數(shù)據(jù)。根據(jù)各部分的功能??蓪⑺鼈兎譃?部分,分別為引導(dǎo)碼、地址碼、地址碼、數(shù)據(jù)碼、數(shù)據(jù)反碼。遙控器發(fā)射代碼時(shí)均是低位在前。高位在后。由圖2分析可以得到引導(dǎo)碼高電平為45ms,低電平為45ms。當(dāng) 接收到此碼時(shí)表示
3、一幀數(shù)據(jù)的開始。單片機(jī)可以準(zhǔn)備接收下面的數(shù)據(jù)。地址碼由8位二進(jìn)制組成,共256種圖中地址碼重發(fā)了一次。主要是加強(qiáng)遙控器的可靠性如果兩次地址碼不相同則說明本幀數(shù)據(jù)有錯(cuò)應(yīng)丟棄。不同的設(shè)備可以擁有不同的地址碼因此。同種編碼的遙控器只要設(shè)置地址碼不同,也不會相互干擾。圖中的地址碼為十六進(jìn)制的0EH(注意低位在前)。在同一個(gè)遙控器中所有按鍵發(fā)出的地址碼都是相同的。數(shù)據(jù)碼為8位,可編碼256種狀態(tài),代表實(shí)際所按下的鍵。數(shù)據(jù)反碼是數(shù)據(jù)碼的各位求反,通過比較數(shù)據(jù)碼與數(shù)據(jù)反碼可判斷接收到的數(shù)據(jù)是否正確。如果數(shù)據(jù)碼與數(shù)據(jù)反碼之間的關(guān)系不滿足相反的關(guān)系則本次遙控接收有誤數(shù)據(jù)應(yīng)丟棄。在同一個(gè)遙控器上所有按鍵的數(shù)據(jù)碼均
4、不相同。在圖2中,數(shù)據(jù)碼為十六進(jìn)制的0CH,數(shù)據(jù)反碼為十六進(jìn)制的0F3H(注意低位在前)兩者之和應(yīng)為0FFH。 圖1 二、單片機(jī)遙控接收電路 紅外遙控接收可采用較早的紅外接收二極管加專用的紅外處理電路的方法。如CXA20106,此種方法電路復(fù)雜,現(xiàn)在一般不采用。較好的接收方法是用一體化紅外接收頭,它將紅外接收二極管、放大、解調(diào)、整形等電路做在一起,只有三個(gè)引腳分別是+5V電源、地、信號輸出。常用的一體化接收頭的外形及引腳見圖3和圖4。紅外接收頭的信號輸 出接單片機(jī)的INTO或INTl腳典型電路如圖5所示圖中增加了一只PNP型三極管對輸出信號進(jìn)行放大。 三、遙控信號的解碼算法及程序編制 平時(shí)。遙
5、控器無鍵按下。紅外發(fā)射二極管不發(fā)出信號,遙控接收頭輸出信號1。有鍵按下時(shí)O和1編碼的高電平經(jīng)遙控頭倒相后會輸出信號O由于與單片機(jī)的中斷腳相連,將會引起單片機(jī)中斷(單片機(jī)預(yù)先設(shè)定為下降沿產(chǎn)生中斷)。單片機(jī)在中斷時(shí)使用定時(shí)器0或定時(shí)器1開始計(jì)時(shí)到下一個(gè)脈沖到來時(shí),即再次產(chǎn)生中斷時(shí),先將計(jì)時(shí)值取出。清零計(jì)時(shí)值后再開始計(jì)時(shí)通過判斷每次中斷與上一次中斷之間的時(shí)間間隔。便可知接收到的是引導(dǎo)碼還是 O和1。如果計(jì)時(shí)值為9ms。接收到的是引導(dǎo)碼,如果計(jì)時(shí)值等于112ms,接收到的是編碼O。如果計(jì)時(shí)值等于2 25ms接收到的是編碼1。在判斷時(shí)間時(shí),應(yīng)考慮一定的誤差值。因?yàn)椴煌倪b控器由于晶振參數(shù)等原因,發(fā)射及接
6、收到的時(shí)間也會有很小的誤差。 以接收TC9012遙控器編碼為例,解碼方法如下: (1)設(shè)外部中斷0(或者1)為下降沿中斷,定時(shí)器0(或者1)為16位計(jì)時(shí)器初始值均為O。 (2)第一次進(jìn)入遙控中斷后,開始計(jì)時(shí)。 (3)從第二次進(jìn)入遙控中斷起,先停止計(jì)時(shí)。并將計(jì)時(shí)值保存后,再重新計(jì)時(shí)。如果計(jì)時(shí)值等于前導(dǎo)碼的時(shí)間,設(shè)立前導(dǎo)碼標(biāo)志。準(zhǔn)備接收下面的一幀遙控?cái)?shù)據(jù),如果計(jì)時(shí)值不等于前導(dǎo)碼的時(shí)間,但前面已接收到前導(dǎo)碼,則判斷是遙控?cái)?shù)據(jù)的O還是1。 (4)繼續(xù)接收下面的地址碼、數(shù)據(jù)碼、數(shù)據(jù)反碼。 (5)當(dāng)接收到32位數(shù)據(jù)時(shí),說明一幀數(shù)據(jù)接收完畢。此時(shí)可停止定時(shí)器的計(jì)時(shí),并判斷本次接收是否有效如果兩次地址碼相同且
7、等于本系統(tǒng)的地址,數(shù)據(jù)碼與數(shù)據(jù)反碼之和等于0FFH,則接收的本幀數(shù)據(jù)碼有效。否則丟棄本次接收到的數(shù)據(jù)。 (6)接收完畢,初始化本次接收的數(shù)據(jù),準(zhǔn)備下一次遙控接收。 示例程序如下: E1INT: PUSHACC PUSH PSW CLRTR1 MOV RMTLEN,TH1 、 MOVTH1,#00H MOV TL1,#00H SETBTR1 MOV A,RMJLEN JNZ LBLRMDATBIT MOV RMADDR#00H MOV RMRADDR,#00H MOV RMDAT,#00H MOV RMRDAT,#00H MOV RMBIT_CNT,#00H CLR RMOK CLR RMGUI
8、DE POPPSW POPACC RET1 I BI RM DAT BIT: MOV A,RM_TLEN CJNE A,#23H,LBLRM_ADDR_DAT SETB RMGUIDE SJMP LBLE1 INT-RET LBLRM_ADDR_DAT; JNB RMGUIDE,LBLRMERROR CJNE A,#04H,LBL_RM_ONE CLR C SJMP LBL_RMSHIFT LBLRMONE: CJNE A。#08H。LBLRMERROR SETB C LBL_RM_SHIFT: MOV A,RMRDAT RRC A MOV RMRDATA MOV A,RMDAT RRC A
9、MOV RMDAT,A MOV A,RMRADDR RRC A MOV RM RADDRA MOV A。RM-ADDR RRC A MOV RMADDRA LBLRMEND: INC RMBITCNT MOV A,RM_BIT_CNT CJNE A,#32,LBLE1 INT_RET CLRTR1 MOV TH1,#00H MOVTL1,#00H MOV HOURRMADDR MOV MINUTE,RMDAT MOV RM_ADDR,#00H MOV RMRADDR,#00H MOV RMDAT,#00H MOV RMRDAT,#00H MOV RM一8IT_CNT,#00H CLR RMGU
10、IDE SEITB RMOK SJMP LBLE1 INTRET LBLRMERROR: CLRTR1 MOV TH1,#0OH MOVTL1,#00H MOV RM_ADDR,#00H MOV RMRADDR,#00H MOV RMDAT,#00H MOV RMRDAT,#00H MOV RMB1TCNT,#00H CLR RMGUIDE LBLE1 INTRET: POPPSW POPACC RETI 四、遙控代碼與鍵盤碼的轉(zhuǎn)換 在應(yīng)用系統(tǒng)中,帶遙控器的儀器設(shè)備一般都帶按鍵。而且二者功能相同。將遙控鍵值轉(zhuǎn)換成標(biāo)準(zhǔn)的按鍵值后。遙控按鍵散轉(zhuǎn)表格可以與鍵盤散轉(zhuǎn)表格復(fù)用。轉(zhuǎn)換方法可用查表法。通過查表。使遙控的按鍵值轉(zhuǎn)換成本機(jī)鍵盤的值。這樣既可以使用按鍵操作,也可以使用遙控操作,而且相應(yīng)的處理程序非常簡單。 以上以Tc9012編碼格式為例,說明了解碼的原理與方法。只要注意一幀數(shù)據(jù)的格式及引導(dǎo)碼、O碼和1碼的時(shí)間長度其它編碼芯片如 HT6121、M50560、LC7461等也非常容易解碼。 本人在做單片機(jī)培訓(xùn)時(shí),因要教紅外線通信原理部份,所以找了很久終于將之前網(wǎng)上下的一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福州墨爾本理工職業(yè)學(xué)院《企業(yè)資源規(guī)劃系統(tǒng)與應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州大學(xué)《機(jī)器人機(jī)械系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 衡水學(xué)院《影視文學(xué)研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 廂式改裝車、特種車輛項(xiàng)目效益評估報(bào)告
- 羅定職業(yè)技術(shù)學(xué)院《別墅建筑空間設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 《 峨日朵雪峰之側(cè)》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 揚(yáng)州大學(xué)廣陵學(xué)院《機(jī)器學(xué)習(xí)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆玉職業(yè)技術(shù)學(xué)院《工業(yè)機(jī)器人基礎(chǔ)與實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江外國語學(xué)院《水產(chǎn)養(yǎng)殖學(xué)創(chuàng)新創(chuàng)業(yè)教育》2023-2024學(xué)年第二學(xué)期期末試卷
- 【化學(xué)】認(rèn)識有機(jī)化合物 第一課時(shí)教學(xué)設(shè)計(jì) 2024-2025學(xué)年高一下學(xué)期化學(xué)人教版(2019)必修第二冊
- 2025年內(nèi)蒙古呼倫貝爾農(nóng)墾拉布大林上庫力三河蘇沁農(nóng)牧場招聘115人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- (2025)特種設(shè)備安全管理員考試題庫及參考答案
- 2025年廣東省廣州市食品檢驗(yàn)所事業(yè)單位招聘若干人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《移動(dòng)通信市場推廣策略》課件
- 2024年湖南工業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 2024年湖南司法警官職業(yè)學(xué)院高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 2025年國家藥品監(jiān)督管理局藥品審評中心招聘11人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年廣東省《輔警招聘考試必刷500題》考試題庫含必背答案
- 2025年中國南光集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 工程造價(jià)鑒定申請書
- 五年級下冊數(shù)學(xué)北師大版課件練習(xí)一
評論
0/150
提交評論