紅外濾光片的作用和原理「手機加裝紅外遙控模塊」

讓紅外線模塊工作起來,首先你得給它供電,然後你得有個CPU來處理它發送數據,通過單片機處理以後,我們才能知道紅外模塊發送的是什麼數據。紅外接收端和CPU連接,紅外接收端給CPU的數據,是一些PWM波,也就是一些高低電平組成連續波形。因此,我們需要CPU具有處理這些波形的能力。

CPU需要的功能:

1、定時功能:也就是計時用;

2、捕獲功能:上升沿捕獲,下降沿捕獲;

3、中斷功能:定時時間,上升沿捕獲,下降沿捕獲;

首先將CPU的捕獲IO設置為上升沿捕獲,等待上升沿到來,上升沿到來,定時器開始計時;然後將CPU的捕獲IO口捕獲設置為下降沿捕獲,等待下降沿到來,下降沿到來,停止計時,計算這2個沿的時間Time,這個時間,也就是高電平的時間。

通過這個高電平時間來確定收到數據是0或者1,也有可能是重複碼和引導碼。

電子哥分析紅外遙控模塊工作原理

1、Time為0.56ms(高電平時間)時,收到的電平為0;

2、Time為1.685ms(高電平時間)時,收到的電平為1。

3、Time為2.25ms(高電平時間)重複碼;重複碼,就是重複按某一個鍵。

電子哥分析紅外遙控模塊工作原理

4、Time為4.5ms(高電平時間),引導碼;

電子哥分析紅外遙控模塊工作原理

紅外線發送的每一幀數據,除了引導碼以外,有32位有效數據,每個位元組為8位,一幀數據的有效數據也就是4個位元組。

從高位到低位,高兩個位元組為地址碼和地址反碼,後面兩個位元組為數據碼和數據反碼。

電子哥分析紅外遙控模塊工作原理

得到32位數據後,需要對數據進行處理:

我們定義一個32位的變數RevData。

同時定義4個8位的變數,地址碼AdrCode,地址反碼AdrInv,數字碼keyValue,數字反碼keyIvalue。

將變數RevData右移24位後,將值賦給地址碼AdrCode;

將變數RevData右移16位後,和0xff進行與運算後賦值給地址反碼AdrInv。

如果將AdrCode取反後,等於AdrInv,說明接收的數據是正確的。

將變數RevData右移8位後賦值給數字碼keyValue

直接將變數RevData賦予給數字反碼keyIvalue

如果將keyValue取反後,與keyIvalue相等,說明接收到數據無誤。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/268993.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-16 13:13
下一篇 2024-12-16 13:13

相關推薦

發表回復

登錄後才能評論