看了一下其他几位答的,觉得回答的都不好,你这个很像是工业控制,工业控制对实时性要求非常严格,第二个知友回答的居然出现了while循环,这不符合实时性,我做的工业控制程序,一个主循环一般不会超过10ms.我来说说我的思路吧,楼主可以用个定时器,根据你的脉冲参数,定时器中断时间一定要小于7ms,取5ms比较合适,然后.....看我的伪代码: bit Old_P17 = 1; //全局变量,用于检测脉冲unsigned char Counter = 0;void 定时器中断处理函数(){
Counter ++;
if(Old_P17!= P17)
{
...
|