key_value.h

来自「16个单片机c语言实验程序」· C头文件 代码 · 共 34 行

H
34
字号
//读键盘值 键盘在端口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 + =
减小字号Ctrl + -
显示快捷键?