keyscan.c
来自「430单片机键盘扫描源码」· C语言 代码 · 共 38 行
C
38 行
#include "msp430x12x.h"
#include "KeyDefine.h"
extern unsigned int KeyHex;
extern short Error_Flag;
void KeyScan(void)
{
short KeyMask,LoopCount,KeyCol,TestVal;
KeyMask=1;
LoopCount=5;
KeyHex=0;
P1OUT =P1OUT & 0x10;
do
{
P3OUT &= 0xe0;
P1DIR = 0xff;
P1OUT &= 0x10;
P1DIR = 0xf0;
P3OUT |= KeyMask;
TestVal=P1IN & 0x0f;
if(TestVal)
{
KeyHex=KeyMask;
KeyCol=P1IN & 0x0f;
KeyHex += KeyCol << 8;
LoopCount=1;
}
KeyMask = KeyMask <<1;
LoopCount --;
}while(LoopCount);
if(KeyHex==0)
{
Error_Flag=NoKey;
}
P3OUT |=0x9f;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?