1: 使用红外遥控,将红外接收头的管脚直连模块A可以正确打印出数据
2: 用STC12LE5608AD IO口来模拟后直连模块A无反应
sbit IR_IN = P3^3;
#define IR_IN_H 1
#define IR_IN_L 0
void IR_sendData(unsigned char dat_1, unsigned char dat_2)
{
EA = 0;
IR_IN = IR_IN_L;
Delay9ms();
IR_IN = IR_IN_H;
Delay4500us();
IR_sendByte(IRIN_ADDR1);
IR_sendByte(IRIN_ADDR2);
IR_sendByte(dat_1);
IR_sendByte(dat_2);
IR_IN = IR_IN_H;
EA = 1;
}
void IR_sendByte(unsigned char tmp)
{
unsigned char i;
for(i = 0; i < 8; i++)
{
IR_IN = IR_IN_L;
Delay560us();
IR_IN = IR_IN_H;
if(tmp & 1)
{
Delay1680us();
}
else
{
Delay560us();
}
tmp >>= 1;
}
}
测试:用示波器测接收头的管脚波形与STC12管脚波形,进行比对,波形一致
不懂为什么,求各种建议,各种想法
补充内容 (2016-7-11 14:53):
现在写一红外接收程序,来测试,发现可以检测道9ms低电平-4.5ms高电平-560us低电平-后面就检测不到了,此红外接收程序可正常接收红外接收头的数据
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>