AVR單片機捕獲中斷實現(xiàn)紅外線解碼_第1頁
AVR單片機捕獲中斷實現(xiàn)紅外線解碼_第2頁
AVR單片機捕獲中斷實現(xiàn)紅外線解碼_第3頁
AVR單片機捕獲中斷實現(xiàn)紅外線解碼_第4頁
AVR單片機捕獲中斷實現(xiàn)紅外線解碼_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、AVR單片片機捕獲中中斷實現(xiàn)紅紅外線解碼碼摘要:AVVR單片機機是Atmmel公司司推出的一一個單片機機系列。由由于該系列列單片機的的集成度高高,因此,其其軟/硬件件設(shè)計都變變得更加簡簡潔。文中中介紹通過過AVR單單片機的捕捕獲中斷來來實現(xiàn)紅外外線通訊解解碼的一種種方法。 關(guān)關(guān)鍵詞:AAVR;紅紅外線解碼碼;輸入捕捕獲中斷1 紅外線線編碼紅外線編碼碼是數(shù)據(jù)傳傳輸和家用用電器遙控控常用的一一種通訊方方法,其實實質(zhì)是一種種脈寬調(diào)制制的串行通通訊。家電電遙控中常常用的紅外外線編碼電電路有PPD61221G型HHT6222型和74461型等等。本文就就以這些電電路的編碼碼格式來討討論怎樣使使用AVRR

2、單片機的的捕獲中斷斷功能來實實現(xiàn)其解碼碼。紅外線通訊訊的發(fā)送部部分主要是是把待發(fā)送送的數(shù)據(jù)轉(zhuǎn)轉(zhuǎn)換成一定定格式的脈脈沖,然后后驅(qū)動紅外外發(fā)光管向向外發(fā)送數(shù)數(shù)據(jù)。接收收部分則是是完成紅外外線的接收收、放大、解調(diào),還還原成同步步發(fā)射格式式相同(但但高、低電電位剛好相相反的脈沖沖信號。這這些工作通通常由一體體化的接收收頭來完成成,主要輸輸出TTLL兼容電平平。最后通通過解碼把把脈沖信號號轉(zhuǎn)換成數(shù)數(shù)據(jù),從而而實現(xiàn)數(shù)據(jù)據(jù)的傳輸。圖1是一一個紅外線線遙控制系系統(tǒng)的原理理框圖。圖2示出該該紅外遙控控系統(tǒng)的編編碼格式。圖中,PD61121G遙遙控器的二二進制“00”由0.56mss的間隔加加0.5665ms的的

3、脈沖表示示;二進制制“1”由由0.566ms的間間隔加1.685mms的脈沖沖表示。每每次發(fā)送的的32二進進制碼可分分成兩部分分,其中前前16位是是遙控器辨辨識碼,主主要用于區(qū)區(qū)別不同遙遙控器,后后16位是是操作碼。這兩個部部分的后88位都是前前8位的反反碼,用作作數(shù)據(jù)校驗驗。每幀數(shù)數(shù)據(jù)以9mms的間隔隔加4.55ms的脈脈沖作為數(shù)數(shù)據(jù)頭。2 AVRR單片機AVR系列列單片機是是Atmeel公司于于19977年推出的的一款全新新配置的、采用精簡簡指令(RRISC-Reduued IInstrructiion SSet CCPU)結(jié)結(jié)構(gòu)的新型型8位單片片機。由于于AVR單單片機采用用單指令操操作

4、,所以以,在相同同時鐘的情情況下,AAVR的指指令周期只只有80551型機的的1/2,而而且AVRR采用兩極極指令流水水線,可以以在執(zhí)行當當前指令的的同時獲取取下一條指指令,所以以具備1MMI/s/MHz的的調(diào)整處理理能力。不不同于80051型機機的是AVVR采用332個通用用工作寄存存器,克有有了單一累累加器數(shù)據(jù)據(jù)處理帶來來的瓶勁現(xiàn)現(xiàn)象,從而而使得指令令代碼更加加靈活,編編碼更容易易。此外,AAVR中還還集成了AA/D、PPWM、EEEPROOM、FLLASH、SPI、WTD、IIC、T/C等等功能,使使外圍電路路變得很簡簡單。3 基于AAVR單片片機的硬件件實現(xiàn)本文以AVVR系列中中高性價

5、比比的Atmmage88為例,利利用16位位時鐘單元元T/C11的捕獲中中斷來實現(xiàn)現(xiàn)紅外線解解碼。T/C1內(nèi)部部的輸入捕捕獲單元可可以應(yīng)用于于精確捕獲獲外部發(fā)生生的事情,亦亦即事件發(fā)發(fā)生的時間間印記(ttime-stammp)。當當一個輸入入捕獲事件件發(fā)生在外外部引腳IICPI上上的邏輯電電平也隨之之發(fā)生變化化時,T/C1的計計數(shù)值將被被拷貝到捕捕獲寄存器器ICR11并設(shè)置捕捕獲中斷標標志,如果果捕獲中斷斷允許并且且總中斷IIE打開,系系統(tǒng)則進入入中斷服務(wù)務(wù)程序。這這種捕獲中中斷通常用用于頻率和和周期的精精確測量,如如電機轉(zhuǎn)速速和轉(zhuǎn)向的的測量。本本文介紹怎怎樣利用這這一功能測測量紅外線線脈沖的

6、脈脈寬以實現(xiàn)現(xiàn)紅外傳輸輸?shù)慕獯a。捕獲中斷斷的觸發(fā)可可以是ICCP1引腳腳上電平變變化的上升升沿,也可可以是下降降沿。根據(jù)據(jù)前述脈沖沖調(diào)制規(guī)則則,現(xiàn)以下下降沿為觸觸發(fā)事件來來進行討論論。 圖3是是該系統(tǒng)的的工作時序序圖,圖中中,一個下下降沿到下下一個下降降沿之間剛剛好是一個個脈沖加一一個間隙的的時間,這這樣,根據(jù)據(jù)編碼規(guī)則則,這個時時間長度所所對應(yīng)的信信號關(guān)系如如下:數(shù)據(jù)頭的時時間:Thh=9+44.5=113.5mms數(shù)據(jù)“0”的時間:T0=00.5655+0.556=1.125mms數(shù)據(jù)“1”的時間:T1=11.6855+0.556=2.245mms4 軟件編編程基于AVRR單片機的的捕獲中

7、斷斷來實現(xiàn)紅紅外編碼的的軟件程序序流程如圖圖4所示。下面是其其C語言程序序代碼:C程序代碼碼*praggma iinterrruptt_hanndlerr IceeInt:6 /中斷程序序說明void ICEIInit(voidd) /T/C11初始化TIMSKK=0X220; /使能捕捕獲中斷TCCR11A=0XX00; /T/C1時鐘鐘與系統(tǒng)相相同,本文文使用系統(tǒng)統(tǒng)AVR內(nèi)內(nèi)部自帶11MHz振振蕩源.TT/C1時時鐘周期為為1sTCCR11B=0XX81; /使能能噪音抑制制,下降沿沿觸發(fā)中斷斷void IceIInt(vvoid)statiic niint ooldFaall;uint

8、tempp,newwFalll;newFaall=IICR1;temp=newFFall-oldFFall; /計計算脈沖加加間隔的時時間oldFaall=nnewFaall;if(teemp11024 & ttemp21455 & tempp134000 & temmp133600) /hheadeer信號bitcnnt=0;data00=0;data11=0returrn; /返回,等等待下次開開始接收else /干干擾信號returrn;bitcnnt+;if(biitcntt16) /開開始接收前前16位data00=datta0|(uintt)temmp;data00=datta01;else if(bbitcnnt=116)data00=datta0|(uintt)temmp;else if(bbitcnnt322) /開始接收收后16位位data11=datta1|(uintt)temmp;data11=datta110225 & temmp12225)這這條語句是是辨識“00”的代碼碼,它是以以T0-1100TT0T00+1000為范圍確確害的“00

溫馨提示

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

最新文檔

評論

0/150

提交評論