key.c

来自「是一个msp430做的电子钟程序」· C语言 代码 · 共 47 行

C
47
字号

 unsigned int initialKeyboardCode[]={0x0e,0x0d,0x0b,0x07};
 unsigned int getKeyboardCode[]={0xe0,0xd0,0xb0,0x70};

int value;//键值
void delay(void)
{
  int a;
  for(a=100;a>0;a--);
}

void initKey()
{
   P1DIR=0x0f;
  P1IES=0xf0;//下降沿
  P1IE=0xf0;
  P1OUT=0xf0;
  _EINT();
  P5DIR=0xff;
  P4DIR=0xff;
}

#pragma vector=PORT1_VECTOR
__interrupt void port1(void)
{
  int count0,count1;
  delay();
  if(P1IFG)  
  {
    P1IE=0;
    for(count0=0;count0<4;count0++)
    {
      P1OUT=initialKeyboardCode[count0];
      delay();
      for(count1=0;count1<4;count1++)
      {
        if((P1IN&0xf0)==getKeyboardCode[count1])
          value=count0+1+count1*4;
      }
     
     P1OUT=0xf0;
    }  
  } 
  P1IFG=1;
  P1IE=0xf0;  
}

⌨️ 快捷键说明

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