📄 key_4x3.c
字号:
#include "key_4x3.h"
/***************底层函数******************/
uchar Read_io() //ok
{
uchar tmp;
tmp = Px; //读入数据
tmp = (tmp >> MOVE) & 0x0f; //处理数据
return(tmp);
}
void Write_io(uchar value) //ok
{
uchar tmp = 0x0f;
Px = Px & ~(tmp << MOVE); //键盘口清0
Px = Px | (value << MOVE); //装入数值
}
/****************主函数*******************/
uchar KEY_value(uchar key)
{
uchar code _value[]={14,13,11,7}, _key[]={12,10,6,12,9,5,10,9,3,6,5,3};
--key;
Write_io(_value[key/3]);
if(Read_io() == _key[key])
{
delay2ms(14);
if(Read_io() == _key[key])
{
while(Read_io() == _key[key])
{}
return(1);
}
else return(0);
}
else return(0);
}
uchar KEY_num(void)
{
uchar num;
for(num=1;num<13;num++)
{
if(KEY_value(num))
{return(num);break;}
}
}
uchar KEY_wait()
{
uchar tmp;
while(!(tmp = KEY_num()));
return tmp;
}
/***********/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -