分我只有这么多,别嫌少呀,要助人为乐 这句我很蛋疼。。。
首先红外发射接收可以用串口。。
但是我先讲个比较简单的吧,刚开始你红外发射假设你发的是01010101(八位),以450us的低电平和900us的高电平代表“0”;以450us的低电平和1200us的高电平代表“1”;如果发01010101
波形这个你应该可以想象吧?
然后接收的话你用一个以38khz为载波的红外一体化接收头(如:1838);
载波是需要加在发射端的,这个先不讲;
先说接收吧,既然发送的一个0,那怎么去检测一个0呢?
就用一个外部中断加上一个定时器可以吧?(51一般都这么用。如果有捕捉中断的话如avr那就跟方便了,但原理一样),外部中断以下降沿触发;当这个下降沿来的时候开始用定时器计时,一直计时到下一个下降沿,前面说的,(以450us的低电平和900us的高电平代表“0”;以450us的低电平和1200us的高电平代表“1”)如果我检测到两个下降沿之间的时间是1350us那是不是就代表是0,如果是1650us就是1,剩下的就同理了~~~不管你发几位,都是一位发过来我就记录一位,都记录好就开始处理你先接收到0然后是1(01010101) 那我等到这个值后,是不是就代表一种编码? 你也可以是00000000,或者11111111,你发射接收明白了就可以控制了。。。
再讲载波哈, 这个载波嘛就是一些接收头不同的,这个你可以看看接收头的资料。。。。
至于你要看程序? 有基础的51单片机知识,完全可以让你玩飞红外了。。。程序就不讲了,网上有太多了,多看几遍,几遍?懂得?几=N。。。。
懂得? 然后给分吧, 打字较累!!谢谢
做红外发射,51最好用汇编嵌套,控制反射频率。不然很难做到准确。用中断行不通的。
除非自身带有PWM的。
接收这边很好处理。专用的接收头。。。只需要解码就可以了。。。
频率发射