AVR單片機(jī)捕獲中斷實(shí)現(xiàn)紅外線解碼_第1頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、avr單片機(jī)捕獲中斷實(shí)現(xiàn)紅外線解碼1 線編碼紅外線編碼是數(shù)據(jù)傳輸和家用電器遙控常用的一種通訊辦法,其實(shí)質(zhì)是一種脈寬調(diào)制的串行通訊。家電遙控中常用的紅外線編碼有pd6121g型ht622型和7461型等。本文就以這些電路的編碼格式來研究怎樣用法的捕捉中斷功能來實(shí)現(xiàn)其解碼。紅外線通訊的發(fā)送部分主要是把待發(fā)送的數(shù)據(jù)轉(zhuǎn)換成一定格式的脈沖,然后驅(qū)動紅外發(fā)光管向外發(fā)送數(shù)據(jù)。接收部分則是完成紅外線的接收、放大、解調(diào),還原成同步放射格式相同(但高、低電位剛好相反的脈沖信號。這些工作通常由一體化的接收頭來完成,主要輸出ttl兼容電平。最后通過解碼把脈沖信號轉(zhuǎn)換成數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)的傳輸。圖1是一個紅外線遙控制系

2、統(tǒng)的原理框圖。圖2示出該紅外遙控系統(tǒng)的編碼格式。圖中,pd6121g遙控器的二進(jìn)制“0”由0.56ms的間隔加0.565ms的脈沖表示;二進(jìn)制“1”由0.56ms的間隔加1.685ms的脈沖表示。每次發(fā)送的32二進(jìn)制碼可分成兩部分,其中前16位是遙控器辨識碼,主要用于區(qū)分不同遙控器,后16位是操作碼。這兩個部分的后8位都是前8位的反碼,用作數(shù)據(jù)校驗(yàn)。每幀數(shù)據(jù)以9ms的間隔加4.5ms的脈沖作為數(shù)據(jù)頭。2 avr單片機(jī)avr系列單片機(jī)是公司于1997年推出的一款全新配置的、采納精簡命令(risc-redued instruction set cpu)結(jié)構(gòu)的新型8位單片機(jī)。因?yàn)閍vr單片機(jī)采納單命

3、令操作,所以,在相同時(shí)鐘的狀況下,avr的命令周期惟獨(dú)8051型機(jī)的1/2,而且avr采納兩極命令流水線,可以在執(zhí)行當(dāng)前命令的同時(shí)獵取下一條命令,所以具備1mi/s/mhz的調(diào)節(jié)處理能力。不同于8051型機(jī)的是avr采納32個通用工作寄存器,克有了單一累加器數(shù)據(jù)處理帶來的瓶勁現(xiàn)象,從而使得命令代碼越發(fā)靈便,編碼更簡單。此外,avr中還集成了a/d、eeprom、flash、spi、wtd、iic、t/c等功能,使外圍電路變得很容易。3 基于avr單片機(jī)的硬件實(shí)現(xiàn)本文以avr系列中高性價(jià)比的atmage8為例,利用16位時(shí)鐘單元t/c1的捕捉中斷來實(shí)現(xiàn)紅外線解碼。t/c1內(nèi)部的輸入捕捉單元可以應(yīng)

4、用于精確捕捉外部發(fā)生的事情,亦即大事發(fā)生的時(shí)光印記(time-stamp)。當(dāng)一個輸入捕捉大事發(fā)生在外部引腳icpi上的規(guī)律電平也隨之發(fā)生變幻時(shí),t/c1的計(jì)數(shù)值將被拷貝到捕捉寄存器icr1并設(shè)置捕捉中斷標(biāo)記,假如捕捉中斷允許并且總中斷ie打開,系統(tǒng)則進(jìn)入中斷服務(wù)程序。這種捕捉中斷通常用于頻率和周期的精確測量,如電機(jī)轉(zhuǎn)速和轉(zhuǎn)向的測量。本文介紹怎樣利用這一功能測量紅外線脈沖的脈寬以實(shí)現(xiàn)紅外傳輸?shù)慕獯a。捕捉中斷的觸發(fā)可以是icp1引腳上電平變幻的升高沿,也可以是下降沿。按照前述脈沖調(diào)制規(guī)章,現(xiàn)以下降沿為觸發(fā)大事來舉行研究。圖3是該系統(tǒng)的工作時(shí)序圖,圖中,一個下降沿到下一個下降沿之間剛好是一個脈沖加

5、一個間隙的時(shí)光,這樣,按照編碼規(guī)章,這個時(shí)光長度所對應(yīng)的信號關(guān)系如下:數(shù)據(jù)頭的時(shí)光:th=9+4.5=13.5ms數(shù)據(jù)“0”的時(shí)光:t0=0.565+0.56=1.125ms數(shù)據(jù)“1”的時(shí)光:t1=1.685+0.56=2.245ms4 軟件編程基于avr單片機(jī)的捕捉中斷來實(shí)現(xiàn)紅外編碼的軟件程序流程4所示。下面是其程序代碼:c程序代碼:*pragma interrupt_handler iceint:6 /中斷程序解釋void iceinit(void) /t/c1初始化timsk=0x20; /使能捕捉中斷tccr1a=0x00; /t/c1時(shí)鐘與系統(tǒng)相同,本文用法系統(tǒng)avr內(nèi)部自帶1mhz振蕩源.t/c1時(shí)鐘周期為1stccr1b=0x81; /使能噪音抑制,下降沿觸發(fā)中斷void iceint(void)static nint oldfall;uint temp,newfall;newfall=icr1;temp=newfall-oldfall; /計(jì)算脈沖加間隔的時(shí)光oldfall=newfall;if(temp>1024 %26;amp;%26;amp; temp2

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論