|
|
大家好,我是陳濱。說到紅外遙控,大家都使用過了,目前紅外遙控器有兩種格式,一種是飛利浦格式,一種是NEC格式,當(dāng)然,牛逼的SONY也有自己的格式,這個(gè)不屬于地球的廠家我就不說了啊,呵呵...但是使用最多的還是NEC格式,還是日本鬼子的,哎!如果可以,我希望是飛利浦的,因?yàn)槲覀円蕾嚾毡镜募夹g(shù)方面太多了。說到題外話了,但是 希望每個(gè)中國(guó)人都要自己努力,希望我們的下一代能開發(fā)各種比日本更加先進(jìn)的技術(shù)。嗯!下面開始講解如何利用51單片機(jī)這個(gè)功能很弱的單片機(jī)進(jìn)行紅外解碼。如果你對(duì)這個(gè)熟悉,那么你可以使用任何一個(gè)NEC格式的遙控對(duì)你家里的任何一切東西進(jìn)行遙控,你的風(fēng)扇,你的抽油煙機(jī),甚至你的日光燈,通通都可以!紅外線遙控由于成本低廉,抗干擾能力好,目前廣泛使用在各種家用電器上。紅外線遙控NEC協(xié)議是這樣的,它是一個(gè)9ms的高電平和一個(gè)4.5ms的低電平作為接收的引導(dǎo)碼,然后以一個(gè)560us的高電平和一個(gè)560us的低電平表示位0,以一個(gè)560us的高電平和一個(gè)1.685ms的低電平表示位1,前16位是用戶碼,后16位是按鍵碼,每個(gè)16位分別是8位正碼和8位反碼,這樣設(shè)計(jì)就是為了區(qū)分不同的設(shè)備以及抗干擾。當(dāng)用戶按下遙控某個(gè)按鍵時(shí),遙控內(nèi)部的編碼器就會(huì)發(fā)送一組108ms組成的數(shù)據(jù)碼,如果按住不放,接下來是9ms和2.5ms的連發(fā)碼。下面是時(shí)序圖,本人自己畫的,畫得不好看,不要見笑啊:
實(shí)際上,我們接收頭收到的信號(hào)電平是跟遙控相反的,比如遙控發(fā)的是1,我們收到的實(shí)際上0,利用這個(gè)原理,為我們的51單片機(jī)解碼提供好條件 。網(wǎng)上很多人大多利用中斷和定時(shí)器中斷來解碼,甚至更笨的采用延時(shí),這樣的做法占用單片機(jī)資源是很嚴(yán)重的,而且程序很長(zhǎng),難懂。本人經(jīng)過研究,發(fā)現(xiàn)51單片機(jī)其實(shí)有一個(gè)功能很好用,就是門控方式,利用單片機(jī)門控方式,在進(jìn)入中斷時(shí)自動(dòng)關(guān)閉定時(shí)器,通過讀取計(jì)數(shù)值就可以得知電平的寬度,從而識(shí)別0和1.這樣的方法占用單片機(jī)資源少,效率高,準(zhǔn)確性可靠。
下面是本人自己制作的一個(gè)遙控解碼器:

上面第一個(gè)是收到的上面一個(gè)收到的是用戶碼和反碼, 下面是按鍵碼和反碼 。大家發(fā)現(xiàn)規(guī)律沒有?正碼和反碼剛加在一起剛好是15.好了,大家如果對(duì)這個(gè)有興趣,可以加我QQ 具體keilc51源碼請(qǐng)到 http://m.raoushi.com/mcu/184.html 這里去下載
|
評(píng)分
-
查看全部評(píng)分
|