从单片机基础到程序框架(全集 2019pdf版).pdf - 第569页
if(1==Gu 8RunStatus& &0==vGu16R unTimerCnt) / /当前处于“启 动”状态 ,并且定时器 等于 0 { P1_4=1; //第 1 个灯 灭 P1_5=1; //第 2 个灯 灭 P1_6=0; //第 3 个灯 亮 P3_3=1; //第 4 个灯 灭 vGu8RunT imerFlag=0; vGu16Run TimerCnt=RU N_TIME; //用于 控制跑马灯跑 动…

P3_3=1; //第 4 个灯灭
vGu8RunTimerFlag=0;
vGu16RunTimerCnt=RUN_TIME; //用于控制跑马灯跑动速度的定时器
vGu8RunTimerFlag=1; //启动定时器
//灵活切换“步骤变量”
if(0==Gu8RunDirection) //往右跑
{
Su8RunStep=2;
}
else //往左跑
{
Su8RunStep=4;
}
}
break;
case 2:
if(1==Gu8RunStatus&&0==vGu16RunTimerCnt) //当前处于“启动”状态,并且定时器等于 0
{
P1_4=1; //第 1 个灯灭
P1_5=0; //第 2 个灯亮
P1_6=1; //第 3 个灯灭
P3_3=1; //第 4 个灯灭
vGu8RunTimerFlag=0;
vGu16RunTimerCnt=RUN_TIME; //用于控制跑马灯跑动速度的定时器
vGu8RunTimerFlag=1; //启动定时器
//灵活切换“步骤变量”
if(0==Gu8RunDirection) //往右跑
{
Su8RunStep=3;
}
else //往左跑
{
Su8RunStep=1;
}
}
break;
case 3:

if(1==Gu8RunStatus&&0==vGu16RunTimerCnt) //当前处于“启动”状态,并且定时器等于 0
{
P1_4=1; //第 1 个灯灭
P1_5=1; //第 2 个灯灭
P1_6=0; //第 3 个灯亮
P3_3=1; //第 4 个灯灭
vGu8RunTimerFlag=0;
vGu16RunTimerCnt=RUN_TIME; //用于控制跑马灯跑动速度的定时器
vGu8RunTimerFlag=1; //启动定时器
//灵活切换“步骤变量”
if(0==Gu8RunDirection) //往右跑
{
Su8RunStep=4;
}
else //往左跑
{
Su8RunStep=2;
}
}
break;
case 4:
if(1==Gu8RunStatus&&0==vGu16RunTimerCnt) //当前处于“启动”状态,并且定时器等于 0
{
P1_4=1; //第 1 个灯灭
P1_5=1; //第 2 个灯灭
P1_6=1; //第 3 个灯灭
P3_3=0; //第 4 个灯亮
vGu8RunTimerFlag=0;
vGu16RunTimerCnt=RUN_TIME; //用于控制跑马灯跑动速度的定时器
vGu8RunTimerFlag=1; //启动定时器
//灵活切换“步骤变量”
if(0==Gu8RunDirection) //往右跑
{
Su8RunStep=1;
}
else //往左跑
{
Su8RunStep=3;
}

}
break;
}
}