求助:51单片机脉宽宽度测量;如何用外部中断测量下面没一个高低电平的宽度;请用C语言帮忙写下程序!!

2025-03-31 23:04:39
推荐回答(1个)
回答1:

这个有点像红外线遥控解码。。网上有,你可以参考一下。。

一定要外部中断的话

大概原理是

  1. 先设外部中断响应为下降沿响应,等到中断了就开始用定时器计时,并设置外部中断为上升沿响应。。等外部中断再次发生时,判断计时时间是否达到9MS(这个要接近,而不能定死),如果达到了就进入下一步,没达到或超过了,那就重新开始(可能是干扰信号)

  2. 在满足9MS时,设外部中断为下降沿响应,原理同上,判断560US是否满足了。。。。

    这个是知道每个信号都知道的情况,我刚看了下 STC单片机的外部中断。。。只要有变化就能触发中断,这个时候对不确定的信号好处理(不知道下一个信号是高还是低的情况下)只要时间处理好就行!