久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > AVR學習筆記--紅外遙控接收器使用

AVR學習筆記--紅外遙控接收器使用

作者: 時間:2016-11-23 來源:網絡 收藏
目前大多使用的是一體化紅外接收頭,它將紅外接收二極管、放大、解調、整形等電路做在一起,只有三個引腳.分別是+5V電源、地、信號輸出。所以只需要關心接收頭的輸出編碼格式。

[1]指令格式:前導碼 + 地址碼 + 地址碼反碼 + 數據 + 數據碼反碼

本文引用地址:http://cqxgywz.com/article/201611/320163.htm

[2]指令編碼:脈寬調制編碼

[3]識別算法:每兩次信號的下降沿表示1位數據,根據兩次下降沿之間的間隔時間,就可以判斷出是前導碼,還是數據1或數據0。

A、前導碼: 9ms

B、數據“1”:2.25ms

C、數據“0”:1.12ms


注意:[1]雖然0和1的占用時間長度不同,但因為同時其反碼的存在,所以整條指令的總長度是固定的。

[2]前導碼是固定格式,也是紅外指令的識別碼

[4]硬件電路:


[5]編程流程:

  • 一體化紅外接收頭的輸出腳接到外部硬件中斷I/O上,并設置成下降沿觸發。
  • CPU上電,初始化定時器,初值為0。
  • 每次觸發中斷,停止定時器,讀取定時器值,判斷定時器值,9ms表示前導碼,2.25ms表示1,1.12ms表示0。送入數據緩沖,并對數據隊列計數,初始化定時器,重新計時。
  • 判斷數據隊列長度,除前導碼外,接收到32位數據,表示指令接受完成。
  • 指令校驗,就是將數據和數據反碼,地址和地址反碼做加法處理,如果得到的結果是0xFF,表示校驗通過,否則,校驗失敗,丟棄數據。
  • 指令解讀,根據規則解讀。

[6]實例代碼:

等待補充



評論


技術專區

關閉