📄 keyh.c
字号:
#include<spce061a_chf.h>
#include"bit.h"
//键盘接口初始化函数
void init_keyIO(void)
{
PA_Dir->byte.byteh=0x0f;
PA_Attrib->byte.byteh=0x0f;
PA->byte.byteh=0x00;
}
//键盘取值函数
unsigned int get_keyvalue(void)
{
unsigned int keyhang[4]={0x0e,0x0d,0x0b,0x07};//行扫描码
unsigned int keyi=0;
for(keyi=0;keyi<4;keyi++)
{
PA->byte.byteh=keyhang[keyi];
if(P0_12==0)
{
while(P0_12==0)
{
*P_Watchdog_Clear=0x01;
}
return(keyi*4);
}
else if(P0_13==0)
{
while(P0_13==0)
{
*P_Watchdog_Clear=0x01;
}
return(keyi*4+1);
}
else if(P0_14==0)
{
while(P0_14==0)
{
*P_Watchdog_Clear=0x01;
}
return(keyi*4+2);
}
else if(P0_15==0)
{
while(P0_15==0)
{
*P_Watchdog_Clear=0x01;
}
return(keyi*4+3);
}
}
}
//加按键消抖的键盘扫描函数
unsigned int key_scan_delay(void)
{
if(key_scan())
{
delay();//延时5ms
if(key_scan())
{
return 1;
}
else
{
return 0;
}
}
else
{
return 0;
}
}
//键盘扫描函数,有按键按下就返回1,否则返回0
unsigned int key_scan(void)
{
init_keyIO();
if(PA->byte.byteh==0xf0)
{
return 0;
}
else
{
return 1;
}
}
void delay(void)
{
unsigned int timei=5000;
while(timei--)
{
asm("nop");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -