一. 實(shí)驗(yàn)?zāi)康?br/>1. 了解紅外遙控編碼并用單片機(jī)捕捉信號(hào)及解碼 2. 熟悉LCD1602的驅(qū)動(dòng)
二.紅外遙控器編碼 遙控器編碼分好幾種,常見的32位編碼碼和42位編碼碼,目前我手中遙控器就是42位編碼,如圖1所示,當(dāng)有按鍵時(shí)就會(huì)產(chǎn)一個(gè)9.12ms低電平和4.5ms高電平的起始碼,緊接著是26位系統(tǒng)碼,此系統(tǒng)碼能區(qū)別不同的電器設(shè)備,防止不同機(jī)種遙控碼互相干擾,接下來是8位數(shù)據(jù)碼和8位數(shù)據(jù)反碼,間隔23ms的高電平后,再發(fā)一個(gè)與啟始碼完全一樣的結(jié)束碼
以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”,其波形如圖2所示。
圖2
再回頭看圖1,大家不難看出,圖1是遙控器按鍵1的一串編碼
三. 硬件連接 接收電咱我們使用一化紅外接紅外接收管3800,不需要任何外接無件,就能完成從紅外線接收到輸出與TTL電平信號(hào)兼容的所有工作,實(shí)物如圖所示
四. 解碼 以上我們了解了紅外遙控的編碼及硬件連接,現(xiàn)在就對(duì)其進(jìn)行解碼,所謂解碼就是能用單片機(jī)把以不同寬度的脈沖區(qū)別開來,一種比較好思路就是計(jì)算兩次下降沿間隔時(shí)間,當(dāng)單片機(jī)外部中斷1口有下降沿時(shí)中斷一次,并啟動(dòng)定時(shí)器,定時(shí)器定50us,當(dāng)下次下降沿到來時(shí)我們計(jì)算定時(shí)器中斷的次數(shù),這樣我們就能很好的區(qū)分不同寬度的脈沖了。 大家可能已經(jīng)迫不急待的要開始解碼了,別急,我們先把注意事項(xiàng)先講一下,實(shí)際上,我們紅外接收頭收到的信號(hào)的是有毛刺的,放大后就如下圖,所以在下降沿中斷觸發(fā)后,要做延時(shí)去抖處理
************以下是完整解碼程序***************
/********************************************* 用11.0592MHZ晶振 跳線設(shè)置:J7的23端插上跳線(實(shí)驗(yàn)完畢千萬計(jì)的要拔掉,不然會(huì)干擾其他實(shí)驗(yàn)切記!!) 其他默認(rèn).
**本程序適合42位碼遙控器,即26位系統(tǒng)碼,16位
數(shù)據(jù)碼,如:57L5,55K2,54B4,KD-29,55K8,5Z26A,等型號(hào)的遙控器
如果想要得到紅外遙控器的波形圖請(qǐng)看 "用51hei開發(fā)板制作紅外無線邏輯分析儀"一文介紹了得到和分析紅外的波形的方法 http://www.torrancerestoration.com/bbs/dpj-4524-1.html *********************************************/
點(diǎn)這里下載源代碼和hex文件:
http://www.torrancerestoration.com/ziliao/51hei-5/紅外解碼+1602液晶1.rar
[此貼子已經(jīng)被作者于2010-7-27 8:29:03編輯過]
|