这个有点像红外线遥控解码。。网上有,你可以参考一下。。
一定要外部中断的话
大概原理是
先设外部中断响应为下降沿响应,等到中断了就开始用定时器计时,并设置外部中断为上升沿响应。。等外部中断再次发生时,判断计时时间是否达到9MS(这个要接近,而不能定死),如果达到了就进入下一步,没达到或超过了,那就重新开始(可能是干扰信号)
在满足9MS时,设外部中断为下降沿响应,原理同上,判断560US是否满足了。。。。
这个是知道每个信号都知道的情况,我刚看了下 STC单片机的外部中断。。。只要有变化就能触发中断,这个时候对不确定的信号好处理(不知道下一个信号是高还是低的情况下)只要时间处理好就行!