该例子处理了长延时与按钮响应速度的关联,同理亦可推理出长延时与中断的关联处理。
一个4缸发动机,分别用P1.0、P1.1、P1.2、P1.3所接LED代表1,2,3,4缸的喷油器,LED灯亮代表喷油。当按键S1被按下后,喷油器按1-3-4-2缸的顺序不断循环喷油。当按键S2被按下后,喷油器停止喷油。就是流水灯顺序变了而已,最简单程序就是几个互连判断或分支:
void main()
{
int a;
while(1)
{
if(P1==253)P1=254;
else if(P1==254)P1=251;
else if(P1==251)P1=247;
else if(P1==247)P1=253;
if(!s2)p1=255;
if(!s1)p1=254;
a=44444;
while(s1&&s2&&a--);
}
}