51单片机怎么驱动红外发射管,怎么用驱动接收头接受
我是个初学者,想了解下红外发射接收的工作流程(非具体原理),最好能附以一小段c程序来讲解怎么控制(汇编我不懂),就是简单的控制发射和检测接受,不需要编码解码的具体知识,请...
我是个初学者,想了解下红外发射接收的工作流程(非具体原理),最好能附以一小段c程序来讲解怎么控制(汇编我不懂),就是简单的控制发射和检测接受,不需要编码解码的具体知识,请大家帮帮忙吧,分我只有这么多,别嫌少呀,要助人为乐:)
展开
3个回答
展开全部
分我只有这么多,别嫌少呀,要助人为乐 这句我很蛋疼。。。
首先红外发射接收可以用串口。。
但是我先讲个比较简单的吧,刚开始你红外发射假设你发的是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。。。。
懂得? 然后给分吧, 打字较累!!谢谢
首先红外发射接收可以用串口。。
但是我先讲个比较简单的吧,刚开始你红外发射假设你发的是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。。。。
懂得? 然后给分吧, 打字较累!!谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |