
单片机外部中断0接收外部脉冲的问题。。
我写了一个程序,测量直流电机的速度。用红外线对管测量,直流电机每转动一圈红外线对管会发出4个脉冲信号,高低电平。然后把这个信号经过处理后加到单片机的P3.2口。可是加上去...
我写了一个程序,测量直流电机的速度。用红外线对管测量,直流电机每转动一圈红外线对管会发出4个脉冲信号,高低电平。然后把这个信号经过处理后加到单片机的P3.2口。可是加上去之后就出现问题了。单片机的外部中断0设置的是下降沿有效。想着是每来一个脉冲,计数一次。单片机的io口又上啦电阻,正常情况下是高电平。而且这个高电平信号不稳定。当外部脉冲来的时候。下降沿到了,外部中断INT0进去了,记一次数。当外部信号处在低电平信号的这一段时间的时候。单片机的IO口的电压和这个低电平相互作用后,会出现许多下降沿,所以就造成计数的误差。测得的数据是真实数据的几十倍。这个问题该怎么解决?
展开
展开全部
单片机外部中断0, 有两种情况
1 是 设置错误 如果设置 成低电平 中断 那么 只要 低电平 进入中断服务程序,中断结束
还是 低电平 继续 进入中断服务程序,产生重复计数,检查中断设置。
2 脉冲信号波形不好,产生多个下降沿, 可以加滤波电容 (103 & 104 )
1 是 设置错误 如果设置 成低电平 中断 那么 只要 低电平 进入中断服务程序,中断结束
还是 低电平 继续 进入中断服务程序,产生重复计数,检查中断设置。
2 脉冲信号波形不好,产生多个下降沿, 可以加滤波电容 (103 & 104 )
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询