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;
}
不知道我这思路是否可以计算红外对管的脉冲。请各位大虾指点一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
孤舟蓑笠翁
1楼-- · 2020-01-23 18:02
 精彩回答 2  元偷偷看……
oner
2楼-- · 2020-01-23 22:17
没人给点意见么T_T
oner
3楼-- · 2020-01-24 03:19
yahui123 发表于 2014-5-19 23:11
EA=1呢??  没有????

有的。在其他函数里面。上面没写出来而已。我是想问这个思路是否可行?

一周热门 更多>