本帖最后由 cokesu 于 2020-3-30 14:05 編輯
ir讀取的程序經過修改也可以用做紅外解碼
51hei.png (5.43 KB, 下載次數: 62)
下載附件
2020-3-28 14:30 上傳
這個程序的主要用途是單線通信,用于兩個單片機傳送數據,只能單向通信。IRSEND() 和IRREAD()函數都需要放在定時器的125us中斷中,SDATA[5]這個數組為發送的數據其中SDATA[4]這個是用于校驗的如果不需要可以把IR_DELAY狀態下的SDATA[4]進行修改,并且把IRREAD()函數里的IR_FINISH狀態下的校驗程序刪掉,IRData[5];這個數組為讀回來的數據。這個是任意兩個單片機都可以是用只需把對應管腳修改為自己單片機的寄存器即可。補充一下發送IRSEND.c里面發送完5個數據以后可以直接跳轉到IR_DELAY無需執行IR_LAST,之前項目需要41位數據所以臨時添加而已,IRREAD.c只會讀40位而已,所以IRSEND.c的IR_LAST狀態的函數可以屏蔽掉,發送完5個數據直接跳轉到IR_DELAY即可
單片機源程序如下:
所有資料51hei提供下載:
IR通信.zip
(3.17 KB, 下載次數: 16)
2020-3-28 11:35 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|