📄 key_lpt.c
字号:
#include <SPCE061V004.H>
#define P_Flash_Ctrl (volatile unsigned int *)(0x7555)
unsigned int press_key_lpt() //A口低八为并行键盘所用
{
unsigned int temp;
*P_IOA_Dir|=0x000f;
*P_IOA_Attrib|=0x00ff; //低四位为输出,高四位输入
*P_IOA_Data&=0xff00;
*P_IOA_Data|=0x00fe; //扫描第一行
temp=*P_IOA_Data^0x00fe;
temp&=0x00ff;
switch(temp) //根据键值返回按键序号
{
case 0x0010:return(1);
case 0x0020:return(2);
case 0x0040:return(3);
case 0x0080:return(4);
default:break;
}
*P_IOA_Data&=0xff00;
*P_IOA_Data|=0x00fd; //扫描第二行
temp=*P_IOA_Data^0x00fd;
temp&=0x00ff;
switch(temp) //根据键值返回按键序号
{
case 0x0010:return(5);
case 0x0020:return(6);
case 0x0040:return(7);
case 0x0080:return(8);
default:break;
}
*P_IOA_Data&=0xff00;
*P_IOA_Data|=0x00fb; //扫描第三行
temp=*P_IOA_Data^0x00fb;
temp&=0x00ff;
switch(temp) //根据键值返回按键序号
{
case 0x0010:return(9);
case 0x0020:return(10);
case 0x0040:return(11);
case 0x0080:return(12);
default:break;
}
*P_IOA_Data&=0xff00;
*P_IOA_Data|=0x00f7; //扫描第四行
temp=*P_IOA_Data^0x00f7;
temp&=0x00ff;
switch(temp) //根据键值返回按键序号
{
case 0x0010:return(13);
case 0x0020:return(14);
case 0x0040:return(15);
case 0x0080:return(16);
default:return(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -