📄 key_value._h
字号:
//读键盘值 键盘在端口B
uchar key_value()
{
uchar tem1,tem2,rem,i;
rem=0; //不清零会返回一个不可预知的值
DDRB=0xf0; //B口高四位输出 低四位输入
PORTB=0x0f; //输入有上拉电阻 输出低电平
s_ms(1);
tem1=PINB; //读取端口B
tem1=tem1&0x0f;
if(tem1!=0x0f) //判断是否有键被按下
{
s_ms(200); //延时
tem2=PINB; //读取端口B
// tem2=tem2&0x0f;
if(tem1==tem2) //判断是否为干扰
{
DDRB=0x0f; //B口高四位输入 低四位输出
PORTB=0xf0; //反相输出
s_ms(50); //换向后要延时
rem=PINB; //读取端口B
//rem=rem&0xf0; //取高四位
rem=rem+tem1; //合并
rem=~rem; //反向输出
//do //判断按键是否被释放
//{
// PORTB=0xf0;
//s_ms(200);
//}
//while(PINB!=0xf0);
}
}
return(rem);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -