STC12LE5608AD 红外发射

2019-07-15 13:29发布

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低电平-后面就检测不到了,此红外接收程序可正常接收红外接收头的数据
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
chenwei6991627
1楼-- · 2019-07-15 15:57
你波形应该和datasheet的时序比较
LOP2012
2楼-- · 2019-07-15 19:34
chenwei6991627 发表于 2016-07-09 09:28
你波形应该和datasheet的时序比较

哪个datasheep,这种是没有载波的
flave
3楼-- · 2019-07-15 23:23
常用的红外发射都有载波,除非是不常见的特 {MOD}接收端
zslong511619
4楼-- · 2019-07-16 03:39
谢谢楼主分享
LOP2012
5楼-- · 2019-07-16 03:40
 精彩回答 2  元偷偷看……
LOP2012
6楼-- · 2019-07-16 07:37
chenwei6991627 发表于 2016-07-09 09:28
你波形应该和datasheet的时序比较

比较过了,一样的

一周热门 更多>