现在大多运用的是一体化红外接纳头,它将红外接纳二极管、扩大、解调、整形等电路做在一同,只要三个引脚.分别是+5V电源、地、信号输出。所以只需要关怀接纳头的输出编码格局。
[1]指令格局:前导码 + 地址码 + 地址码反码 + 数据 + 数据码反码
[2]指令编码:脉宽调制编码
[3]辨认算法:每两次信号的下降沿表明1位数据,依据两次下降沿之间的间隔时刻,就可以判别出是前导码,仍是数据1或数据0。
留意:[1]尽管0和1的占用时刻长度不同,但由于一起其反码的存在,所以整条指令的总长度是固定的。
[4]硬件电路:
[5]编程流程:
- 一体化红外接纳头的输出脚接到外部硬件中止I/O上,并设置成下降沿触发。
- CPU上电,初始化定时器,初值为0。
- 每次触发中止,中止定时器,读取定时器值,判别定时器值,9ms表明前导码,2.25ms表明1,1.12ms表明0。送入数据缓冲,并对数据行列计数,初始化定时器,从头计时。
- 判别数据行列长度,除前导码外,接纳到32位数据,表明指令承受完结。
- 指令校验,便是将数据和数据反码,地址和地址反码做加法处理,假如得到的结果是0xFF,表明校验经过,不然,校验失利,丢掉数据。
- 指令解读,依据规矩解读。
[6]实例代码:
等候弥补