📄 key.bak
字号:
#pragma sfr
#pragma di
#pragma ei
#pragma nop
#include "define.h"
#include "common.h"
unsigned char keyvld,keyvld_old ;
unsigned char key_flag ;
bit key_flag_F ;
unsigned char key_tmr ;
unsigned char key_data[3] ;
unsigned char play_mode ;
/****** flash precess variable ******/
unsigned char sound_counter;
extern unsigned int S2_count;
//***************function declare******************
void Key_init(void);
void Key_hd(void);
void Key_scan(void);
unsigned char Key_judge(void);
void Con_key(void);
//***************8*********************************
/****************************/
/****************************/
void Key_init(void)
{
unsigned char i;
for(i=0;i<3;i++)key_data[i] = 0 ;
key_tmr = 0;
keyvld = 0;
keyvld_old = 0 ;
key_flag_F = (bit)0;
play_mode=0;
return;
}
/****************************/
/****************************/
void Key_hd(void)
{
Key_scan();
if(key_tmr != 0)
key_tmr--;
else {
key_tmr = 2 ; // value:2 ;
if(Key_judge() == KEYOK) // KEYOK = 1
Con_key();
}
return;
}
void Key_scan(void)
{
key_data[0] = (~P12)&0xf8; // get P12.5,P12.6,P12.7
key_data[2]=key_data[1];
key_data[1]=key_data[0];
return;
}
unsigned char Key_judge(void)
{
if(key_data[0] == key_data[1])
{
if(key_data[1] == key_data[2])return(1);
}
else return(0);
}
void Con_key(void)
{
switch(key_data[1])
{
case 0x80:
keyvld = S1_KEY; // S1_KEY = 1
break;
case 0x40:
keyvld = S2_KEY;
break;
case 0x20:
keyvld = S3_KEY;
break;
case 0x10:
keyvld = S4_KEY;
break;
case 0x08:
keyvld = S5_KEY;
break;
default :
keyvld = NOKEY;
break;
}
if(keyvld == NOKEY)
{
keyvld_old = keyvld ;
key_flag_F = 0;
}
else
{
if(keyvld != keyvld_old)
{
if(keyvld!=S2_KEY)
{
key_flag_F = 1;
keyvld_old = keyvld;
S2_count=0;
}
else
{
S2_count=1;
keyvld_old=keyvld;
}
}
else if(keyvld==S2_KEY)
{
if (S2_count>600)
{
key_flag_F = 1;
keyvld_old = keyvld;
S2_count=0;
}
}
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -