📄 key.c~
字号:
#include <mega128.h>
//void init_kb(void);
//void decode(unsigned char);
/*
*********************************************************************************************
* 按键扫描
* Ver : 1.00
* Date : 2003.03
* By : Danli
* Date : 2003.04
***********************************************************************************************
*/
/********************************************************************************************/
// 按键扫描
//Function:用于中断
// (1)First:
// ADMUX = ADC_KEY_CHANNEL;
// (2)
// key_scan()
//注意:
// 必须配合特殊的扫描方式
// 1,2,3....16 main adc + key adc start + key adc end & get
/********************************************************************************************/
unsigned int key_timer;
unsigned char KEY_value;
bit F_KEY_OK;
bit F_KEY_1REL;
bit F_KEY_1IN;
void key_scan(unsigned int key_adc_value)
{
if (key_adc_value > 100)
{
//需要求高低温和容差!!!
if ( (100 < key_adc_value) && ( key_adc_value < 200) )
KEY_value = 0x01;
else if ( ( 200 < key_adc_value) && ( key_adc_value < 300))
KEY_value = 0x02;
else if ( ( 300 < key_adc_value) && ( key_adc_value < 450))
KEY_value = 0x03;
else if ( (400 < key_adc_value) && ( key_adc_value < 550))
KEY_value = 0x04;
else if ( key_adc_value > 550)
KEY_value = 0x05;
// new key in key press
if( !F_KEY_1IN ) //|| ( KEY_value != key_last_value ) )
{
//key_last_value = KEY_value ;
F_KEY_1IN = 1;
F_KEY_OK=1;
}
//key press keep
else if( ++key_timer >= 100 && ( key_timer % 10 ==0 ) )
{
F_KEY_OK=1;
}
}
//key realease
else
{
if(F_KEY_1REL)
{
F_KEY_1REL=0;
F_KEY_1IN=0;
}
else
{
key_timer=0;
F_KEY_1REL=1;
}
}
}
/*
*****************************************************************************
* PC键盘处理
*
*
*****************************************************************************
*/
// Unshifted characters
/*flash unsigned char unshifted[][2] = {
0x0d,9, 0x0e,'|', 0x15,'q', 0x16,'1', 0x1a,'z',
0x1b,'s', 0x1c,'a', 0x1d,'w', 0x1e,'2', 0x21,'c',
0x22,'x', 0x23,'d', 0x24,'e', 0x25,'4', 0x26,'3',
0x29,' ', 0x2a,'v', 0x2b,'f', 0x2c,'t', 0x2d,'r',
0x2e,'5', 0x31,'n', 0x32,'b', 0x33,'h', 0x34,'g',
0x35,'y', 0x36,'6', 0x39,',', 0x3a,'m', 0x3b,'j',
0x3c,'u', 0x3d,'7', 0x3e,'8', 0x41,',', 0x42,'k',
0x43,'i', 0x44,'o', 0x45,'0', 0x46,'9', 0x49,'.',
0x4a,'-', 0x4b,'l', 0x4c,'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -