📄 khts52.c
字号:
break;
case 1:
i = DisBuf[0];
i += DisBuf[1]<<8;
DisBuf[0] = i%10;
i = i/10;
DisBuf[1] = i%10;
i = i/10;
DisBuf[2] = i%10;
i = i/10;
DisBuf[3] = i%10;
i = i/10;
DisBuf[4] = i%10;
SetByte = 0;
SetData = DisBuf[0];
t = 4;
break;
case 2:
SetJS = DisBuf[0];
if(DisBuf[1]!=0) SetJS += DisBuf[1]*10;
if(DisBuf[2]!=0) SetJS += DisBuf[2]*100;
if(DisBuf[3]!=0) SetJS += DisBuf[3]*1000;
if(DisBuf[4] >5) DisBuf[4] = 5; // JS <= 5999.9 m
if(DisBuf[5]!=0) SetJS += DisBuf[5]*10000;
i = DisBuf[2];
i += DisBuf[3]<<8;
DisBuf[0] = i%10;
i = i/10;
DisBuf[1] = i%10;
i = i/10;
DisBuf[2] = i%10;
i = i/10;
DisBuf[3] = i%10;
i = i/10;
DisBuf[4] = i%10;
SetByte = 0;
SetData = DisBuf[0];
t = 4;
break;
case 3:
SetXS = DisBuf[0];
if(DisBuf[1]!=0) SetXS += DisBuf[1]*10;
if(DisBuf[2]!=0) SetXS += DisBuf[2]*100;
if(DisBuf[3]!=0) SetXS += DisBuf[3]*1000;
if(DisBuf[4] >5) DisBuf[4] = 5; // XS <= 59999
if(DisBuf[4]!=0) SetXS += DisBuf[4]*10000;
i = DisBuf[4];
DisBuf[0] = i%10;
i = i/10;
DisBuf[1] = i%10;
i = i/10;
DisBuf[2] = i%10;
SetByte = 0;
SetData = DisBuf[0];
t = 1;
break;
case 4:
SetSD1 = DisBuf[0];
if(DisBuf[1]!=0) SetSD1 += DisBuf[1]*10;
if(DisBuf[2] >1) DisBuf[2] = 1; // SD1 <= 19.9 m/s
if(DisBuf[2]!=0) SetSD1 += DisBuf[2]*100;
i = DisBuf[5];
DisBuf[0] = i%10;
i = i/10;
DisBuf[1] = i%10;
i = i/10;
DisBuf[2] = i%10;
SetByte = 0;
SetData = DisBuf[0];
t = 1;
break;
case 5:
SetSD2 = DisBuf[0];
if(DisBuf[1]!=0) SetSD2 += DisBuf[1]*10;
if(DisBuf[2] >1) DisBuf[2] = 1; // SD1 <= 19.9 m/s
if(DisBuf[2]!=0) SetSD2 += DisBuf[2]*100;
i = DisBuf[6];
i += DisBuf[7]<<8;
DisBuf[0] = i%10;
i = i/10;
DisBuf[1] = i%10;
i = i/10;
DisBuf[2] = i%10;
i = i/10;
DisBuf[3] = i%10;
i = i/10;
DisBuf[4] = i%10;
SetByte = 0;
SetData = DisBuf[0];
t = 4;
break;
case 6:
SetTB1 = DisBuf[0];
if(DisBuf[1]!=0) SetTB1 += DisBuf[1]*10;
if(DisBuf[2]!=0) SetTB1 += DisBuf[2]*100;
if(DisBuf[3]!=0) SetTB1 += DisBuf[3]*1000;
if(DisBuf[4] >5) DisBuf[4] = 5; // TB1 <= 5999.9
if(DisBuf[4]!=0) SetTB1 += DisBuf[4]*10000;
i = DisBuf[8];
i += DisBuf[9]<<8;
DisBuf[0] = i%10;
i = i/10;
DisBuf[1] = i%10;
i = i/10;
DisBuf[2] = i%10;
i = i/10;
DisBuf[3] = i%10;
i = i/10;
DisBuf[4] = i%10;
SetByte = 0;
SetData = DisBuf[0];
t = 4;
break;
case 7:
SetTB2 = DisBuf[0];
if(DisBuf[1]!=0) SetTB2 += DisBuf[1]*10;
if(DisBuf[2]!=0) SetTB2 += DisBuf[2]*100;
if(DisBuf[3]!=0) SetTB2 += DisBuf[3]*1000;
if(DisBuf[4] >5) DisBuf[4] = 5; // TB2 <= 5999.9
if(DisBuf[4]!=0) SetTB2 += DisBuf[4]*10000;
DisBuf[0] = DT[0]&0x0f;
DisBuf[1] = DT[0]>>4;
DisBuf[2] = DT[1]&0x0f;
DisBuf[3] = DT[1]>>4;
DisBuf[4] = DT[2]&0x0f;
DisBuf[5] = DT[2]>>4;
SetByte = 0;
SetData = DisBuf[0];
t = 9;
break;
case 8:
DT[0] = DisBuf[0]|DisBuf[1]<<4;
DT[1] = DisBuf[2]|DisBuf[3]<<4;
DT[2] = DisBuf[4]|DisBuf[5]<<4;
DisBuf[0] = DT[3]&0x0f;
DisBuf[1] = DT[3]>>4;
DisBuf[2] = DT[4]&0x0f;
DisBuf[3] = DT[4]>>4;
DisBuf[4] = DT[5]&0x0f;
DisBuf[5] = DT[5]>>4;
SetByte = 0;
SetData = DisBuf[0];
t = 9;
break;
default:;
}
k1c = 0;
}
if(~k3_f && k3_pf){// KEY3 UP
if(++SetData > 9)SetData = 0;
DisBuf[SetByte]=SetData;
k3c = 0;
}
if(~k4_f && k4_pf){// KEY4 UP
if(SetCode==0)F0=0; // Exit Menu
}
switch(SetCode){
case 0:
for(t=1;t<15;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
P2 &= 0x07;
P2 |= 15<<3;
P0 = DisTab[0];
P2 &= 0x07;
break;
case 1:
if(k2_f && ~k2_pf){//KEY2 down
if(++SetByte > 4)SetByte = 0;
SetData=DisBuf[SetByte];
k2c = 0;
}
for(t=1;t<4;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
for(t=4;t<9;t++){
P2 &= 0x07;
P2 |= t<<3;
if((SetByte==(t-4))&&(DisCnt>14))P0 = 0xff;
else if(t==5)P0 = DisTab[DisBuf[t-4]]&0x7f;else P0 = DisTab[DisBuf[t-4]];
}
for(t=9;t<15;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
P2 &= 0x07;
P2 |= 15<<3;
P0 = DisTab[1];
P2 &= 0x07;
break;
case 2:
if(k2_f && ~k2_pf){//KEY2 down
if(++SetByte > 4)SetByte = 0;
SetData=DisBuf[SetByte];
k2c = 0;
}
for(t=1;t<4;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
for(t=4;t<9;t++){
P2 &= 0x07;
P2 |= t<<3;
if((SetByte==(t-4))&&(DisCnt>14))P0 = 0xff;
else P0 = DisTab[DisBuf[t-4]];
}
for(t=9;t<15;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
P2 &= 0x07;
P2 |= 15<<3;
P0 = DisTab[2];
P2 &= 0x07;
break;
case 3:
if(k2_f && ~k2_pf){//KEY2 down
if(++SetByte > 2)SetByte = 0;
SetData=DisBuf[SetByte];
k2c = 0;
}
for(t=1;t<4;t++){
P2 &= 0x07;
P2 |= t<<3;
if((SetByte==(t-1))&&(DisCnt>14))P0 = 0xff;
else if(t==2)P0 = DisTab[DisBuf[t-1]]&0x7f;else P0 = DisTab[DisBuf[t-1]];
}
for(t=4;t<15;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
P2 &= 0x07;
P2 |= 15<<3;
P0 = DisTab[3];
P2 &= 0x07;
break;
case 4:
if(k2_f && ~k2_pf){//KEY2 down
if(++SetByte > 2)SetByte = 0;
SetData=DisBuf[SetByte];
k2c = 0;
}
for(t=1;t<4;t++){
P2 &= 0x07;
P2 |= t<<3;
if((SetByte==(t-1))&&(DisCnt>14))P0 = 0xff;
else if(t==2)P0 = DisTab[DisBuf[t-1]]&0x7f;else P0 = DisTab[DisBuf[t-1]];
}
for(t=4;t<15;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
P2 &= 0x07;
P2 |= 15<<3;
P0 = DisTab[4];
P2 &= 0x07;
break;
case 5:
if(k2_f && ~k2_pf){//KEY2 down
if(++SetByte > 4)SetByte = 0;
SetData=DisBuf[SetByte];
k2c = 0;
}
for(t=1;t<4;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
for(t=4;t<9;t++){
P2 &= 0x07;
P2 |= t<<3;
if((SetByte==(t-4))&&(DisCnt>14))P0 = 0xff;
else if(t==5) P0 = DisTab[DisBuf[t-4]]&0x7f;else P0 = DisTab[DisBuf[t-4]];
}
for(t=9;t<15;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
P2 &= 0x07;
P2 |= 15<<3;
P0 = DisTab[5];
P2 &= 0x07;
break;
case 6:
if(k2_f && ~k2_pf){//KEY2 down
if(++SetByte > 4)SetByte = 0;
k2c = 0;
SetData=DisBuf[SetByte];
}
for(t=1;t<4;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
for(t=4;t<9;t++){
P2 &= 0x07;
P2 |= t<<3;
if((SetByte==(t-4))&&(DisCnt>14))P0 = 0xff;
else if (t==5)P0 = DisTab[DisBuf[t-4]]&0x7f;else P0 = DisTab[DisBuf[t-4]];
}
for(t=9;t<15;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
P2 &= 0x07;
P2 |= 15<<3;
P0 = DisTab[6];
P2 &= 0x07;
break;
case 7:
if(k2_f && ~k2_pf){//KEY2 down
if(++SetByte > 5)SetByte = 0;
k2c = 0;
SetData=DisBuf[SetByte];
}
for(t=1;t<9;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
for(t=9;t<15;t++){
P2 &= 0x07;
P2 |= t<<3;
if((SetByte==(t-9))&&(DisCnt>14))P0 = 0xff;
else P0 = DisTab[DisBuf[t-9]];
}
P2 &= 0x07;
P2 |= 15<<3;
P0 = DisTab[23];
P2 &= 0x07;
break;
case 8:
if(k2_f && ~k2_pf){//KEY2 down
if(++SetByte > 5)SetByte = 0;
k2c = 0;
SetData=DisBuf[SetByte];
}
for(t=1;t<9;t++){
P2 &= 0x07;
P2 |= t<<3;
P0=0xff;
}
for(t=9;t<15;t++){
P2 &= 0x07;
P2 |= t<<3;
if((SetByte==(t-9))&&(DisCnt>14))P0 = 0xff;
else P0 = DisTab[DisBuf[t-9]];
}
P2 &= 0x07;
P2 |= 15<<3;
P0 = DisTab[23]&0x7f;
P2 &= 0x07;
break;
default:;
}
Delay_N_mS(100);
}
} // KeyMenu End
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -