51单片机捕捉外部脉冲的疑问

2020-01-23 14:42发布

我想使用STC12C5A60S2捕捉红外对管产生的脉冲,红外对管只有三个引脚,分别是电源、地、脉冲输出。
我的想法是直接把两个红外对管的脉冲输出引脚接到单片机的P3.2和P3.3外部中断,然后设置成下降沿触发中断,定义一个全局变量在中断函数里计数,再在其他函数调用这个变量。像下面
void InitInterrupt(void)//这个是设置外部中断触发,总中断在其他地方开启
{
    EX0 = 1;    //开外部中断INT0
    EX1 = 1;    //开外部中断INT1
    IT0 = 1;    //下降沿触发
    IT1 = 1;    //下降沿触发
}
//********左电机中断***********************
void GetLeftMotorPulse(void) interrupt 0
{
   g_uiLeftMotorPulse++;          //左电机脉冲计数
   return;

}
//********右电机中断***********************
void GetRightMotorPulse(void) interrupt 2
{
   g_uiRightMotorPulse++;                  //右电机脉冲计数
   return;
}
不知道我这思路是否可以计算红外对管的脉冲。请各位大虾指点一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。