版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本文是對(duì)與以前發(fā)表的程序做個(gè)適當(dāng)更改,因?yàn)樵谑褂玫倪^(guò)程中出現(xiàn)了一個(gè)問(wèn)題,也就是在外部中斷的處理函數(shù)里面處理欠妥。在執(zhí)行外部中斷函數(shù)的時(shí)候,本意以定時(shí)器中斷來(lái)代表解碼超時(shí),可實(shí)際情況是,即使解碼超時(shí),定時(shí)器產(chǎn)生溢出,但是程序卻不能按照正常程序跳進(jìn)定時(shí)器中斷,執(zhí)行定時(shí)中斷函數(shù),本以為是中斷優(yōu)先級(jí)的原因,但是在設(shè)置了定時(shí)器中斷優(yōu)先級(jí)為最高,也還是不能正常進(jìn)入。隨后本人想到了解決辦法,利用定時(shí)器0溢出標(biāo)志TF0作為判斷超時(shí)的依據(jù),因?yàn)楫?dāng)TF0為
2、1時(shí),定時(shí)器向CUP申請(qǐng)中斷,我們可以通過(guò)查詢的方式,當(dāng)TF0為1,則解碼超時(shí),退出解碼。此時(shí)不需要定時(shí)器中斷函數(shù),也可判斷解碼是否超時(shí)。有人就說(shuō)了,那我判斷超時(shí)是否我可以定義變量,當(dāng)變量超過(guò)一定數(shù)值時(shí)代表超時(shí)。我想說(shuō),何必呢,本身定時(shí)器0溢出標(biāo)志就是TF0,紅外解碼用到定時(shí)器,那不就剛好么,何必再去定義變量呢。按照了解,通用的紅外信號(hào)電平持續(xù)最長(zhǎng)的時(shí)間是起始電平,一個(gè)9ms的低電平時(shí)間,定時(shí)器從0開(kāi)始計(jì)時(shí)到溢出,如果是52單片機(jī)12M
3、晶振速度,按照12分頻,一個(gè)定時(shí)器脈沖時(shí)間是1us,溢出所需要的時(shí)間是65ms左右。所以當(dāng)定時(shí)器溢出,我們就不必等待,TF0作為停止解碼的標(biāo)志也只能用在這種速度比較低的單片機(jī)上,對(duì)于高速單片機(jī),假如定時(shí)器溢出只需要2ms,那要是再使用TF0做判斷,也就無(wú)意義了。好了,廢話不多說(shuō)了。注:主函數(shù)由讀者自己編寫,本程序只用于解碼,最終得出的按鍵碼存于變量Key_Temp中。本人習(xí)慣寫某個(gè)器件的程序的時(shí)候,習(xí)慣創(chuàng)建.c和.h文件,因?yàn)檫@樣方便移
4、植,在新建的程序中只需添加.C文件和include.h文件就行了,很方便。本人用芯片是STC15W4K32S4。自己用這塊芯片做有開(kāi)發(fā)板,平時(shí)寫程序都用它。也可用一般的51單片機(jī),但要注意定時(shí)器的時(shí)間和外部中斷的端口。本程序只適用NEC編碼的解碼,RC5編碼請(qǐng)繞道。以下是頭文件信息:#ifndef__IR_H__#define__IR_H__sbitIR=P3^6externunsignedLong_PressLong_Press1長(zhǎng)按
5、計(jì)數(shù),用作長(zhǎng)按判斷externunsignedKey_Temp保存按鍵變量voidInit_IR()初始化紅外有關(guān)參數(shù)#endif以下是.c文件:#include也可以用reg52.h一般的編譯器沒(méi)有這個(gè)頭文件,因?yàn)檫@是我個(gè)人添加進(jìn)編譯器里面的#include“IR.h“#include“IR.h“return返回:即結(jié)束整個(gè)中斷服務(wù),退出當(dāng)前中斷服務(wù)TR0=0關(guān)閉定時(shí)器L_Time=(TH08000)先右移一位TH0=0TL0=0TR
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 紅外遙控器解碼程序
- 紅外遙控解碼資料
- 遙控器解碼程序流程圖.DWG
- 遙控器解碼程序流程圖.DWG
- 遙控器解碼程序流程圖.DWG
- 遙控器解碼程序流程圖.DWG
- 開(kāi)題報(bào)告--基于單片機(jī)的紅外遙控解碼系統(tǒng)設(shè)計(jì)
- 紅外遙控系統(tǒng)
- 紅外遙控電路
- 紅外遙控風(fēng)扇
- 紅外遙控檢測(cè)系統(tǒng)
- 紅外遙控?zé)粼O(shè)計(jì)報(bào)告
- 紅外遙控檢測(cè)系統(tǒng).pdf
- 紅外遙控課程設(shè)計(jì)
- 紅外遙控系統(tǒng)外文翻譯
- 紅外遙控?zé)粼O(shè)計(jì)報(bào)告
- 紅外接收解碼匯編
- 畢業(yè)論文基于紅外傳輸技術(shù)利用單片機(jī)集成電路進(jìn)行編碼解碼的紅外遙控收發(fā)系統(tǒng)
- 課程設(shè)計(jì)-紅外遙控開(kāi)關(guān)
- 紅外遙控系統(tǒng)原理框圖.DWG
評(píng)論
0/150
提交評(píng)論