51微控制器實現NEC紅外通訊協議的解碼

2021-10-04 22:24:29 字數 1406 閱讀 9868

nec協議中1、0電平的表示

資料格式:

資料格式包括了引導碼、使用者碼、資料碼和資料碼反碼,編碼總佔32位。資料反碼是資料碼反相後的編碼,編碼時可用於對資料的糾錯。注意:第二段的使用者碼也可以在遙控應用電路中被設定成第一段使用者碼的反碼。

**實現:

標頭檔案nec.h

#ifndef nec

#define nec

#include

sbit inir=p3^2;

//紅外埠,同時是ex0中斷口

void

init()

;//初始化函式

void

delayus()

;//延時函式

unsigned

char time;

//計算電平長度

unsigned

char rec[4]

;//存放資料

#endif

主函式main.c

#include

"nec.h "

void

main()

void

delayus

(unsigned

char i)

//延時,單位約10us

void

init()

void

read

() interrupt 0

if(inir==1)

for(k=

0;k<

4;k++

)//四段資料

err=

300;if(

(inir==1)

&&(err>0)

)//計算高電平時長

rec[k]

>>=1;

//右移一位,留空以存放一位bit

if(time>80)

rec[k]|=

0x80

;//最高位賦1

time=0;

//time歸零}}

}if(rec[2]

!=~rec[3]

)//校驗資料是否正確

return;}

}//rec[0],rec[1]:使用者碼 rec[2]:資料碼 rec[3]:資料反碼

考慮硬體實際執行過程中的誤差,時間無法準確卡點,所以採取乙個時間段來估計判斷的方

51微控制器紅外通訊

本文是武漢市海聯天下物聯網 技術團隊內部學習筆記,將詳細講解紅外遙控的基本原理以及51微控制器如何利用外部中斷和定時器0對紅外訊號進行解碼。技術部 張傲 使用紅外遙控器對準hl stc51開發板紅外置收頭,按下不同的按鍵,在開發板數碼管上將顯示對應按鍵的數字。8位位址碼,8位命令碼 完整發射兩次位址...

微控制器 紅外通訊

人的眼睛能看到的可見光按波長從長到短排列,依次為紅 橙 黃 綠 青 藍 紫。其中紅光的波長範圍為0.62 0.76 m 紫光的波長範圍為0.38 0.46 m。比紫光波長還短的光叫紫外線,比紅光波長還長的光叫紅外線.紅外線遙控就是利用波長為0.76 1.5 m之間的近紅外線來傳送控制訊號的。紅外線遙...

51微控制器 紅外遙控

紅外遙控系統主要由紅外發射裝置和紅外置收裝置構成。紅外發射裝置主要由鍵盤電路 紅外編碼晶元 電源和紅外發射電路組成 比如遙控器 如圖 紅外置收裝置主要由紅外置收電路 紅外解碼晶元 電源和應用電路組成,在微控制器開發板上有紅外置收電路,而且微控制器充當解碼晶元。人的眼睛能看到的可見光按波長從長到短排列...