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 + -
显示快捷键?