找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3709|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

51單片機紅外解碼過程時序圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:390416 發(fā)表于 2020-12-25 12:36 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 人人學(xué)會單片機 于 2020-12-25 12:37 編輯

紅外解碼過程:

Ray_Read_bit_timer  103us自增變量
Ray_Read_bit_count 保存位置編號
Ray_bit_timer_Buffer[33] 33字節(jié)數(shù)組
Ray_Flag 保存標(biāo)志
Ray_Read_ok 允許分析長短

(1)、按下遙控器,單片機就會有下降沿中斷。啟動定時器TR0=1;

(2)、定時器從0開始增加到255溢出,需要時間103us。

(3)、產(chǎn)生定時器中斷。中斷里面變量Ray_Read_bit_timer增加1。

(4)、在下降沿的中斷服務(wù),判斷這個時候Ray_Read_bit_timer * 103us,是不是大于11.5ms 。

(5)、如果大于11.5,肯定大于9ms,認為這是引導(dǎo)碼。否則 判斷為數(shù)據(jù)信號。

(6)、如果是引導(dǎo)碼,就把Ray_Read_bit_count等于0; 否則 增加一。Ray_Flag=1;

(7)、根據(jù)count的值,把Ray_Read_bit_timer的長度值,保存到數(shù)組Ray_bit_timer_Buffer[33]對應(yīng)的位置;

(8)、Ray_Read_bit_timer先保存到數(shù)組,再刪除,然后會自己增加。它就是下一個數(shù)據(jù)長度。

(9)、遙控器的下一位數(shù)據(jù),就會有下一個下降沿。重復(fù)上面的(3)、(4)、(5)、(6)、(7)。

(10)、直到Ray_Read_bit_count大于33,已經(jīng)接收完整的NEC協(xié)議數(shù)據(jù)!Ray_Read_ok=1;開始分析。Ray_Flag=0排除干擾。

(11)、關(guān)閉定時器,然后判斷Ray_bit_timer_Buffer[]里面的時間長短,長的為1,短的為0.每8個時間就表示一個字節(jié)!四個字節(jié)。

(12)、判斷新解碼的值是不是和原來的值一樣,如果是一樣的那就連按自加,如果不相等都寫255表示按鍵更新。






紅外遙控時序圖全圖.png (672.33 KB, 下載次數(shù): 115)

紅外遙控時序圖全圖.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:390416 發(fā)表于 2020-12-25 17:16 | 只看該作者
其他更多資料 可以這里下載 不加密的 https://pan.baidu.com/s/1bp4HLl9
回復(fù)

使用道具 舉報

板凳
ID:151846 發(fā)表于 2021-1-10 10:29 | 只看該作者
第7行根據(jù)count的值,保證到數(shù)組。沒立即處理嗎?如果引導(dǎo)碼的count值為30怎么處理?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表