⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 51bdkey.h

📁 Easy51RTOS应用Easy51RTOS应用
💻 H
字号:
#ifndef __51BDKEY__
#define __51BDKEY__

uchar key_vanul[16]="/321*654-987+=0#";
uchar key_table(uchar key)
{
  switch (key)
  {
    case 0xfe : return 0; break;
	case 0xfd : return 1; break;
	case 0xfb : return 2; break;
	case 0xf7 : return 3; break;
	default: break;
  }
}
//按键模块,按键扫描,返回特定键值
uchar Key_Scan(void)   //键盘扫描
{
  uchar byte_key0;
  uchar byte_key1;
  uchar byte_key2;
  uchar byte_key3;
  uchar i;
  byte_key0 = Key_L0;
  byte_key1 = Key_L1;
  byte_key2 = Key_L2;
  byte_key3 = Key_L3;

  if((byte_key0 & byte_key1 & byte_key2 & byte_key3)==0xff) return (0xff);

  i=200;
  while(--i);//延时去抖动

  //输出键值为0~15,便于在主程序中查表获得规定的ASCI字符
  if ((byte_key0 == Key_L0) && (byte_key0 != 0xff))return key_vanul[key_table(byte_key0)];
  if ((byte_key1 == Key_L1) && (byte_key1 != 0xff))return key_vanul[(key_table(byte_key1)+4)];
  if ((byte_key2 == Key_L2) && (byte_key2 != 0xff))return key_vanul[(key_table(byte_key2)+8)];
  if ((byte_key3 == Key_L3) && (byte_key3 != 0xff))return key_vanul[(key_table(byte_key3)+12)];
  return (0xff);  
}

#endif


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -