花了一個(gè)多月的時(shí)間研究基于NEC協(xié)議的紅外遙控,下面是這次實(shí)習(xí)技術(shù)方面的總結(jié)。
一、NEC協(xié)議特征:
8位地址和8位命令長(zhǎng)度
每次傳輸兩遍地址(用戶碼)和命令(按鍵值)
通過(guò)脈沖串之間的時(shí)間間隔來(lái)實(shí)現(xiàn)信號(hào)的調(diào)制(PPM)
38Khz載波
每位的周期為1.12ms(低電平)或者2.25ms(高電平)
二、NEC協(xié)議的典型脈沖鏈:
上圖所示為NEC協(xié)議的典型脈沖鏈。協(xié)議規(guī)定低位首先發(fā)送。首先發(fā)送9ms+4.5ms的引導(dǎo)碼,接下來(lái)是兩字節(jié)用戶碼,第三字節(jié)是數(shù)據(jù)碼,用來(lái)判斷按鍵值,第四字節(jié)是數(shù)據(jù)反碼,可以用來(lái)校驗(yàn),提高按鍵的準(zhǔn)確性。
三、NEC協(xié)議脈沖鏈的其他圖片
除了引導(dǎo)碼、用戶碼和數(shù)據(jù)碼以外,協(xié)議最后還有一個(gè)1bit的停止位,用于數(shù)據(jù)發(fā)送完畢判斷。另外在NEC協(xié)議中,似乎沒(méi)有說(shuō)明停止位的高低電平持續(xù)時(shí)間。
四、NEC協(xié)議的高低電平辨別方式
用戶碼和數(shù)據(jù)碼中的‘0’和‘1’是利用脈沖的時(shí)間間隔來(lái)區(qū)分,這種編碼方式稱為脈沖位置調(diào)制方式(PPM)。
其中位0首先為0.56ms的高電平,然后是0.565ms的低電平;位1首先是0.56ms的高電平,然后是1.69ms的低電平。
五、編程注意事項(xiàng)
1.紅外接收頭引腳信號(hào)是相反的電平。以上電平是從發(fā)射頭角度來(lái)看,紅外接收頭引腳輸出的是相反的電平。
如圖,即沒(méi)有數(shù)據(jù)傳輸時(shí),P3.2引腳保持為高電平,當(dāng)接收到數(shù)據(jù)時(shí),首先是引導(dǎo)碼,9ms的低電平和4.5ms的高電平,然后是32位數(shù)據(jù)和1位停止位。一般來(lái)說(shuō),P3.2與單片機(jī)的某中斷引腳相連,當(dāng)接收數(shù)據(jù)時(shí),低電平會(huì)觸發(fā)中斷。
2.數(shù)據(jù)從LSB(低位)開始發(fā)送,所以選擇右移方式接收數(shù)據(jù)。
四個(gè)字節(jié)的數(shù)據(jù)都是先發(fā)送D0,最后發(fā)送D7。所以接收到1位數(shù)據(jù)后,給變量的最高位賦值,右移。或者先右移,再給變量的最高位賦值。
3.可以用一個(gè)數(shù)組保存32個(gè)數(shù)據(jù)的持續(xù)時(shí)間,用于后面判斷高低電平。
用定時(shí)器對(duì)兩個(gè)數(shù)據(jù)(中斷)之間的時(shí)間計(jì)時(shí),并保存這個(gè)持續(xù)時(shí)間用于以后判斷是位1還是位0。
4.可以用2字節(jié),4字節(jié)變量存儲(chǔ)32個(gè)數(shù)據(jù),以節(jié)省代碼空間。
可以用兩個(gè)16位的int型變量存儲(chǔ)數(shù)據(jù),第一個(gè)int變量存儲(chǔ)用戶碼,第二個(gè)存儲(chǔ)數(shù)據(jù)碼和數(shù)據(jù)反碼。也可以用一個(gè)32位long型的變量存儲(chǔ)所有數(shù)據(jù)。
5.判斷停止位。
接收到停止位后可以屏蔽紅外引腳的中斷,防止后面數(shù)據(jù)的干擾,解碼成功后在開啟中斷。
-
電平
+關(guān)注
關(guān)注
5文章
361瀏覽量
40029 -
NEC
+關(guān)注
關(guān)注
0文章
238瀏覽量
99200 -
紅外遙控
+關(guān)注
關(guān)注
22文章
347瀏覽量
45750
原文標(biāo)題:紅外遙控NEC協(xié)議使用總結(jié)
文章出處:【微信號(hào):eet-china,微信公眾號(hào):電子工程專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
如何連接PSoc4的紅外接收器,以檢查通過(guò)NEC協(xié)議輸入遙控器的數(shù)據(jù)?
藍(lán)牙學(xué)習(xí)型紅外線遙控器(NEC協(xié)議編解碼)
如何利用NEC協(xié)議實(shí)現(xiàn)紅外遙控?
什么是紅外遙控?紅外信號(hào)是怎么傳輸?shù)模?/a>
講述人機(jī)界面的概念以及紅外遙控相關(guān)的背景知識(shí)
NEC MCU在馬達(dá)方面的應(yīng)用
基于STM32的紅外遙控和解碼遙控程序解析
![基于STM32的<b class='flag-5'>紅外</b><b class='flag-5'>遙控</b>和解碼<b class='flag-5'>遙控</b>程序解析](https://file1.elecfans.com//web2/M00/A6/FB/wKgZomUMQaCAAqAmAAAPSxAYi-Y032.jpg)
評(píng)論