📄 keyboard.i
字号:
#line 1 "src\\keyboard.c"
#line 1 "src\\system.h"
#line 1 "src\\target.h"
extern void Reset(void);
extern void TargetInit(void);
#line 12 "src\\system.h"
#line 1 "src\\sys_init.h"
extern void init_sys(void);
extern void init_io(void);
extern void init_clock(void);
extern void init_timer0(void);
extern void init_timer1(void);
extern void init_int0(void);
extern void init_int2(void);
#line 14 "src\\system.h"
#line 2 "src\\keyboard.c"
uint8 Key_ID;
char S[10],s[10];
extern uint8 tiaoshi_falg;
extern uint8 Bclear_LCD_screen;
extern uint8 current_screen;
extern uint8 show_ID;
extern uint8 set_ID;
uint8 current_kvalue=0;
uint8 Skey_value;
uint8 exit_falg=0;
uint8 valid_falg=0;
float soft_key_value;
uint8 disp_ID;
double get_keyvalue(void)
{
uint8 i;
for(i=0;i<10;i++)
{
S[i]=0;s[i]=0;
}
i=0;
while(1)
{
if(exit_falg==1)
{
exit_falg=0;
tiaoshi_falg=0;
break;
}
if((IO0PIN & DOWN)==0)
{
delay(200);
if((IO0PIN & DOWN)==0)
{
while((IO0PIN & DOWN)==0);
Key_ID++;
if (Key_ID>13)
Key_ID=0;
}
}
else if( (IO0PIN & UP ) == 0)
{
delay(200);
if((IO0PIN & UP)==0)
{
while((IO0PIN & UP)==0);
Key_ID--;
if (Key_ID>13)
{
Key_ID=13;
}
}
}
else if((IO0PIN & ENTER)==0)
{
delay(200);
if((IO0PIN & ENTER)==0)
{
while((IO0PIN & ENTER)==0);
if(valid_falg==1)
{
valid_falg=0; disp_ID=i;
switch(Skey_value)
{
case 0:
{
current_kvalue=0x30;
S[i]=current_kvalue;
s[i]=0;
i++;
}break;
case 1:
{
current_kvalue=0x31;
S[i]=current_kvalue;
s[i]=1;
i++;
}break;
case 2:
{
current_kvalue=0x32;
S[i]=current_kvalue;
s[i]=2;
i++;
}break;
case 3:
{
current_kvalue=0x33;
S[i]=current_kvalue;
s[i]=3;
i++;
}break;
case 4:
{
current_kvalue=0x34;
S[i]=current_kvalue;
s[i]=4;
i++;
}break;
case 5:
{
current_kvalue=0x35;
S[i]=current_kvalue;
s[i]=5;
i++;
}break;
case 6:
{
current_kvalue=0x36;
S[i]=current_kvalue;
s[i]=6;
i++;
}break;
case 7:
{
current_kvalue=0x37;
S[i]=current_kvalue;
s[i]=7;
i++;
}break;
case 8:
{
current_kvalue=0x38;
S[i]=current_kvalue;
s[i]=8;
i++;
}break;
case 9:
{
current_kvalue=0x39;
S[i]=current_kvalue;
s[i]=9;
i++;
}break;
case 10:
{
current_kvalue=0x2e;
S[i]=current_kvalue;
s[i]=10;
i++;
}break;
case 11:
{
soft_key_value=0;
current_kvalue=0;
for(i=0;i<10;i++)
{
S[i]=0;s[i]=0;
}
i=0;
}break;
case 12:
{
current_kvalue=0;
soft_key_value=atof(S);
disp_ID=disp_ID-1;
set_ID=1;
}break;
case 13:
{
current_kvalue=0;
exit_falg=1;
}break;
default:
break;
}
}
show_picture(kuang,16,18,92,16);
switch(disp_ID)
{
case 0:
{
show_picture(kuang, 16, 18,92,16);
show_picture(NUM[s[0]],16, 20,10,16);
}break;
case 1:
{
show_picture(kuang, 16, 18,92,16);
show_picture(NUM[s[0]],16, 20,10,16);
show_picture(NUM[s[1]],16, 30,10,16);
}break;
case 2:
{
show_picture(kuang, 16, 18,92,16);
show_picture(NUM[s[0]],16, 20,10,16);
show_picture(NUM[s[1]],16, 30,10,16);
show_picture(NUM[s[2]],16, 40,10,16);
}break;
case 3:
{
show_picture(kuang, 16, 18,92,16);
show_picture(NUM[s[0]],16, 20,10,16);
show_picture(NUM[s[1]],16, 30,10,16);
show_picture(NUM[s[2]],16, 40,10,16);
show_picture(NUM[s[3]],16, 50,10,16);
}break;
case 4:
{
show_picture(kuang, 16, 18,92,16);
show_picture(NUM[s[0]],16, 20,10,16);
show_picture(NUM[s[1]],16, 30,10,16);
show_picture(NUM[s[2]],16, 40,10,16);
show_picture(NUM[s[3]],16, 50,10,16);
show_picture(NUM[s[4]],16, 60,10,16);
}break;
case 5:
{
show_picture(kuang, 16, 18,92,16);
show_picture(NUM[s[0]],16, 20,10,16);
show_picture(NUM[s[1]],16, 30,10,16);
show_picture(NUM[s[2]],16, 40,10,16);
show_picture(NUM[s[3]],16, 50,10,16);
show_picture(NUM[s[4]],16, 60,10,16);
show_picture(NUM[s[5]],16, 70,10,16);
}break;
case 6:
{
show_picture(kuang, 16, 18,92,16);
show_picture(NUM[s[0]],16, 20,10,16);
show_picture(NUM[s[1]],16, 30,10,16);
show_picture(NUM[s[2]],16, 40,10,16);
show_picture(NUM[s[3]],16, 50,10,16);
show_picture(NUM[s[4]],16, 60,10,16);
show_picture(NUM[s[5]],16, 70,10,16);
show_picture(NUM[s[6]],16, 80,10,16);
}break;
case 7:
{
show_picture(kuang, 16, 18,92,16);
show_picture(NUM[s[0]],16, 20,10,16);
show_picture(NUM[s[1]],16, 30,10,16);
show_picture(NUM[s[2]],16, 40,10,16);
show_picture(NUM[s[3]],16, 50,10,16);
show_picture(NUM[s[4]],16, 60,10,16);
show_picture(NUM[s[5]],16, 70,10,16);
show_picture(NUM[s[6]],16, 80,10,16);
show_picture(NUM[s[7]],16, 90,10,16);
}break;
case 8:
{
show_picture(err_input, 16, 18,92,16);
}break;
default:
break;
}
}
}
else if ((IO0PIN & CANCEL)==0)
{
delay(200);
if((IO0PIN & CANCEL)==0)
{
while((IO0PIN & CANCEL)==0);
current_screen=DEFAULT_SCREEN;
Bclear_LCD_screen=1;
show_ID=0;
break;
}
}
switch(Key_ID)
{
case KEY_0:
{
show_picture(key_0,32,18,92,32);
Skey_value=0;
valid_falg=1;
}
break;
case KEY_1:
{
show_picture(key_1,32,18,92,32);
Skey_value=1;
valid_falg=1;
}
break;
case KEY_2:
{
show_picture(key_2,32,18,92,32);
Skey_value=2;
valid_falg=1;
}
break;
case KEY_3:
{
show_picture(key_3,32,18,92,32);
Skey_value=3;
valid_falg=1;
}
break;
case KEY_4:
{
show_picture(key_4,32,18,92,32);
Skey_value=4;
valid_falg=1;
}
break;
case KEY_5:
{
show_picture(key_5,32,18,92,32);
Skey_value=5;
valid_falg=1;
}
break;
case KEY_6:
{
show_picture(key_6,32,18,92,32);
Skey_value=6;
valid_falg=1;
}
break;
case KEY_7:
{
show_picture(key_7,32,18,92,32);
Skey_value=7;
valid_falg=1;
}
break;
case KEY_8:
{
show_picture(key_8,32,18,92,32);
Skey_value=8;
valid_falg=1;
}
break;
case KEY_9:
{
show_picture(key_9,32,18,92,32);
Skey_value=9;
valid_falg=1;
}
break;
case KEY_DIAN:
{
show_picture(key_dian,32,18,92,32);
Skey_value=10;
valid_falg=1;
}
break;
case KEY_CANCEL:
{
show_picture(key_cancel,32,18,92,32);
Skey_value=11;
valid_falg=1;
}
break;
case KEY_OK:
{
show_picture(key_ok,32,18,92,32);
Skey_value=12;
valid_falg=1;
}
break;
case KEY_EXIT:
{
show_picture(key_exit,32,18,92,32);
Skey_value=13;
valid_falg=1;
}
break;
default:
break;
}
}
return soft_key_value;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -