本帖最后由 cokesu 于 2020-3-30 14:05 编辑
ir读取的程序经过修改也可以用做红外解码
这个程序的主要用途是单线通信,用于两个单片机传送数据,只能单向通信。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)
|