C51
#include <stc12c5a60s2h>
sbit P3_2=P3^2;
sbit P2_0=P2^0; //P20接一个LED用于指示,led正极接单片机
void main()
{
while(1)
{
if(P3_2)
{
P2_0=0; //未对准,led灭
}
else
{
P2_0=1; //对准,led亮
}
}
}
整个单片机就干这么一个活,太浪费了。
如果还有其他的要执行,就用外部中断,下降沿触发。
首先你要知道红外传感器输出信号是什么?是数字信号,还是模拟信号。
是数据信号,有几个脚,就用单片机几个脚连接,然后根据输出信号的时序写程序读。
是模拟信号,就得用到A/D转换电路。
要是用STC单片机,内部就有A/D转换电路,就方便多了。
是这样的,一般的红外通信模块使用38kHz的载频,所以你必须提供一个38kHz的信号。
根据你的描述,可以这样设计:555产生38kHz的载波信号;该载波信号和单片机的TXD输出信号经过一个与门;那么与门输出的就是经过调制的信号;最后通过红外二极管将此信号发射出去。
接收端就很简单了,直接把红外接收模块的输出脚接RXD即可。
以上就是关于红单片机红外对管程序全部的内容,包括:红单片机红外对管程序、关于红外传感器与单片机的通信问题、单片机中红外通信TXD和RXD怎么使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)