从单片机基础到程序框架(全集 2019pdf版).pdf - 第647页

{ Gu8SetDa ta_4=9; } PartUpdate (Gu8Part) ; //当前局部更 新显示输出到 数码管 break; case 2: //局部 2 被选 中,代表 左起第 2 位数据 G u8SetData_ 3 被选中。 Gu8SetData _3++; if(Gu8SetD ata_3>9) { Gu8SetDa ta_3=9; } PartUpdate (Gu8Part) ; //当前局部更 新显示输出…

100%1 / 836
}
void KeyTask(void) //按键的任务函数
{
if(0==vGu8KeySec)
{
return;
}
switch(vGu8KeySec)
{
case 1: //局部切换的按键
switch(Gu8Wd) //在某个窗口
{
case 1: //在窗口 1
//以下之所以有两个 PartUpdate(Gu8Part),是因为相邻的两个局部发生了变化。
PartUpdate(Gu8Part); //切换之前的局部进行更新
Gu8Part++; //切换到下一个局部
if(Gu8Part>4)
{
Gu8Part=0;
}
PartUpdate(Gu8Part); //切换之后的局部进行更新
break;
}
vGu8BeepTimerFlag=0;
vGu16BeepTimerCnt=VOICE_TIME; //蜂鸣器发出“滴”一声
vGu8BeepTimerFlag=1;
vGu8KeySec=0;
break;
case 2: //累加的按键
switch(Gu8Wd) //在某个窗口
{
case 1: //在窗口 1
switch(Gu8Part) //二级支点的局部选
{
case 1: //局部 1 被选中,代表左起第 1 位数据 Gu8SetData_4 被选中。
Gu8SetData_4++;
if(Gu8SetData_4>9)
{
Gu8SetData_4=9;
}
PartUpdate(Gu8Part); //当前局部更新显示输出到数码管
break;
case 2: //局部 2 被选中,代表左起第 2 位数据 Gu8SetData_3 被选中。
Gu8SetData_3++;
if(Gu8SetData_3>9)
{
Gu8SetData_3=9;
}
PartUpdate(Gu8Part); //当前局部更新显示输出到数码管
break;
case 3: //局部 3 被选中,代表左起第 3 位数据 Gu8SetData_2 被选中。
Gu8SetData_2++;
if(Gu8SetData_2>9)
{
Gu8SetData_2=9;
}
PartUpdate(Gu8Part); //当前局部更新显示输出到数码管
break;
case 4: //局部 4 被选中,代表左起第 4 位数据 Gu8SetData_1 被选中。
Gu8SetData_1++;
if(Gu8SetData_1>9)
{
Gu8SetData_1=9;
}
PartUpdate(Gu8Part); //当前局部更新显示输出到数码管
break;
}
break;
case 2: //在窗口 2 下(本节只用到窗 1)
break;
}
vGu8BeepTimerFlag=0;
vGu16BeepTimerCnt=VOICE_TIME; //蜂鸣器发出“滴”一声
vGu8BeepTimerFlag=1;
vGu8KeySec=0;
break;
case 3: //递减的按键
switch(Gu8Wd) //在某个窗口
{
case 1: //在窗口 1
switch(Gu8Part) //二级支点的局部选
{
case 1: //局部 1 被选中,代表左起第 1 位数据 Gu8SetData_4 被选中。
if(Gu8SetData_4>0)
{
Gu8SetData_4--;
}
PartUpdate(Gu8Part); //当前局部更新显示输出到数码管
break;
case 2: //局部 2 被选中,代表左起第 2 位数据 Gu8SetData_3 被选中。
if(Gu8SetData_3>0)
{
Gu8SetData_3--;
}
PartUpdate(Gu8Part); //当前局部更新显示输出到数码管
break;
case 3: //局部 3 被选中,代表左起第 3 位数据 Gu8SetData_2 被选中。
if(Gu8SetData_2>0)
{
Gu8SetData_2--;
}
PartUpdate(Gu8Part); //当前局部更新显示输出到数码管
break;
case 4: //局部 4 被选中,代表左起第 4 位数据 Gu8SetData_1 被选中。
if(Gu8SetData_1>0)
{
Gu8SetData_1--;
}
PartUpdate(Gu8Part); //当前局部更新显示输出到数码管
break;
}
break;