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

📄 key.h

📁 俄罗斯方块的MSP430F449系列的LCD以及点阵按键的代码.
💻 H
字号:

#define     key_press       0x2

static  unsigned char flag;                       //flag register
static  unsigned char key_buff;                   //key vaule buffer
const   unsigned char key_table[12]={
0x0b,       //*(key_vaule)          00(key_num)
0x09,       //9                     01
0x08,       //8                     02
0x07,       //7                     03
0x00,       //0                     04
0x06,       //6                     05            //key vaule table
0x05,       //5                     06
0x04,       //4                     07
0x0a,       //#                     08
0x03,       //3                     09
0x02,       //2                     0a
0x01,       //1                     0b
};
void scan_key_deal(void)
{
unsigned char counter;
unsigned char buffer;
unsigned char com_byte;
unsigned char key_num;
P1DIR=0x0f;
com_byte=0xff;
P1OUT&=~0x08;
P1OUT&=~0x04;
P1OUT&=~0x02;
buffer=P1IN;
if(0xf0!=(buffer&0xf0))                    //judge if the key was press
    {
    P1OUT|=0x08;
    P1OUT|=0x04;
    P1OUT|=0x02;
    com_byte=0xff;
    key_num=0x00;
    com_byte=0x02;
    for(counter=0x03;counter>0;counter--)  //get the key num
        {
        P1OUT&=~com_byte;                  //scan the row
        if(!(P1IN&BIT4))
        break;
        key_num++;
        if(!(P1IN&BIT5))
        break;
        key_num++;
        if(!(P1IN&BIT6))
        break;
        key_num++;
        if(!(P1IN&BIT7))
        break;
        key_num++;
        com_byte=com_byte<<1;
        }
     flag|=key_press;
     buffer=P1IN;
     buffer=P1IN;
     key_buff=key_table[key_num];         //get the key value
     return;
     }
//     flag&=~key_press;
}

⌨️ 快捷键说明

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