⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.h

📁 ATmega64+12864液晶
💻 H
字号:
/*
file name:key.h  
function: header file of the key.c
author :Einsn
date:2006-11-11



*/
#ifndef __KEY_H_
#define __KEY_H_

#include "typedefs.h"


/*
#define KEYR_  0x8003 //80 83 
#define KEYR_  0x4003 //40 83 
#define KEYR_  0x2003 //20 83 
#define KEYR_  0x1003 //10 83 
#define KEYR_  0x0803 //08 83 
#define KEYR_  0x0403 //04 83 
#define KEYR_  0x0203 //02 83 
#define KEYR_F1  0x2002 //20 82 
#define KEYR_F2  0x1002 //10 82 
#define KEYR_F3  0x0802 //08 82 
#define KEYR_F4  0x0402 //04 82 

#define KEYR_Q  0x8004 //80 84 
#define KEYR_W 0x4004 //40 84 
#define KEYR_E  0x2004 //20 84 
#define KEYR_R  0x1004 //10 84 
#define KEYR_T  0x0804 //08 84 
#define KEYR_Y  0x0404 //04 84 
#define KEYR_U  0x0204 //02 84 
#define KEYR_I  0x0104 //01 84 

#define KEYR_O  0x8001 //80 81 
#define KEYR_P  0x0801 //08 81 
#define KEYR_L  0x4001 //40 81 
#define KEYR_MR  0x0401 //04 81 
#define KEYR_UP  0x2001 //20 81 
#define KEYR_DD  0x0201 //02 81 
#define KEYR_DOWN  0x1001 //10 81 
#define KEYR_RIGHT  0x0101 //01 81 

#define KEYR_A  0x8005 //80 85 
#define KEYR_S  0x4005 //40 85 
#define KEYR_D  0x2005 //20 85 
#define KEYR_F  0x1005 //10 85 
#define KEYR_G  0x0805 //08 85 
#define KEYR_H  0x0405 //04 85 
#define KEYR_J 0x0205 //02 85 
#define KEYR_K  0x0105 //01 85 


#define KEYR_Z  0x8006 //80 86 
#define KEYR_X  0x4006 //40 86 
#define KEYR_C  0x2006 //20 86 
#define KEYR_V  0x1006 //10 86 
#define KEYR_B  0x0806 //08 86 
#define KEYR_N  0x0406 //04 86 
#define KEYR_M  0x0206 //02 86 
#define KEYR_UU  0x0106 //01 86 

#define KEYR_HELP  0x8007 //80 87 
#define KEYR_SHIFT  0x4007 //40 87 
#define KEYR_CAPS  0x2007 //20 87 
#define KEYR_AC  0x1007 //10 87 
#define KEYR_NUM0  0x0807 //08 87 
#define KEYR_NUMP  0x0407 //04 87 
#define KEYR_SPACE  0x0207 //02 87 
#define KEYR_LEFT  0x0107 //01 87 

*/
//#define KEY_HHH                   33
//#define KEY_RSD                   34

#define KEY_ENTER                0x71
#define KEY_ESC                   0x51

#define KEY_RIGHT                 0x81
#define KEY_LEFT                  0x83
#define KEY_UP                    0x72//0x61
#define KEY_DOWN                  0x82//0x51

#define KEY_NUM0                  0x85
#define KEY_NUM1                  0x75
#define KEY_NUM3                  0x73
#define KEY_NUM4                  0x65
#define KEY_NUM6                  0x63
#define KEY_NUM7                  0x55
#define KEY_NUM9                  0x53

#define KEY_NUM8            0x54     // 0x34
#define KEY_NUM5            0x64     // 0x35
#define KEY_NUM2            0x74     // 0x36
#define KEY_NUMP             0x84    // 0x37


//#define KEY_PLUS                  0x15
//#define KEY_MINUS                 0x14
#define KEY_MULTI                 0x62
#define KEY_DIVS                  0x52

//#define KEYASCOFFS  ('0'-KEY_NUM0)





#define KOUT0  PE3
#define KOUT1  PE4
#define KOUT2  PE5
#define KOUT3  PE6
#define KOUT4  PE7

#define KEYPE  ((1<<KOUT0)|(1<<KOUT1)|(1<<KOUT2)|(1<<KOUT3)|(1<<KOUT4))

#define KIN0  PC4
#define KIN1  PC5
#define KIN2  PC6
#define KIN3  PC7

#define KEYPC  ((1<<KIN0)|(1<<KIN1)|(1<<KIN2)|(1<<KIN3))


#define CLRALLKOUT()  PORTE&=(~KEYPE)
#define SETALLKOUT()  PORTE|=KEYPE

#define KINVALUE()  ((PINC&0xf0)|0x0f)

#define KEYPORTINIT() do{\
DDRC&=~KEYPC;\
PORTC|=KEYPC;\
DDRE|=KEYPE;\
PORTE&=~KEYPE;\
}while(0)


#define CLRKOUT(x)  PORTE&=~(1<<(x+3))


#define KEYMSGDOWN    1
#define KEYMSGUP      2

void KeyInit(void);
uint8 GetKeyMsg(uint8 type);
void KeyTimerHook(void *p);
uint8 KeyNumToAsc(uint8 key);

uint8 GetKeyMsgNoWait(uint8 type );

#define GetKey()  GetKeyMsg(KEYMSGUP)
#define GetKeyNoWait()  GetKeyMsgNoWait(KEYMSGUP)

#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -