📄 freescale
字号:
#include "KBI1.h"
unsigned char key_number;
/********************************************************************
*键盘扫描:将扫描结果存入寄存器K1中
********************************************************************/
void keyscan(void)
{
unsigned char data,k0;
for(data=0;data<4;data++)
{
PTBD=0x0f;
switch(data)
{
case 0:
PTBD=0x0e; //设置ptb0=0
break;
case 1:
PTBD=0x0d;
break; //设置ptb1=0
case 2:
PTBD=0x0b;
break; //设置ptb2=0
case 3:
PTBD=0x07;
break; //设置ptb3=0
}
k0=PTGD&0x0f;
if(k0!=0x0f)
{
if(k0==0x0e) //第1列有键被按下,键值为data
{
k0=data;
}
if(k0==0x0d) //第2列有键被按下,键值为data+4
{
k0=4+data;
}
if(k0==0x0b) //第3列有键被按下,键值为data+8
{
k0=8+data;
}
if(k0==0x07) //第4列有键被按下,键值为data+12
{
k0=12+data;
}
key_number=k0; //将键值存入key_number中
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -