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

📄 keyscan.c

📁 keil c 文件 @@##%%…… &……源代码程序
💻 C
字号:
#include <reg51.h>
#include <string.h>
#include <intrins.h>
#include <stdio.h>
#include "base.h"

#define KEYPORT P1

uchar code col_code[4]={0xe0,0xd0,0xb0,0x70};
uchar  keypressed()
{uchar f=0;
   KEYPORT=0xf0;
   if((KEYPORT&0xf0)!=0xf0)
     {
       delay_ms(20);
	   if((KEYPORT&0xf0)!=0xf0)
	      f=KEYPORT&0xf0;
	   else 
	      f=0;
	 }
  else 
    f=0;

  return f;
}

uchar getcol(uchar c)
{
 uchar i=0;
 bit find=0;
 while (!find && i<4)
  {
    if (col_code[i]==(c&0xf0))
	  find=1;
	i++;
  }
 if (find) 
   return i;
 else
   return 0;
}

uchar getkey()
{ uchar col=0,row=0,i=0,key;
  bit f=1;
  if (keypressed())
    {
     col=getcol(KEYPORT&0XF0);
     for(i=0;i<4;i++)
	 {
        KEYPORT=(col_code[i]>>4)|0xf0;
 	    if ((KEYPORT&0xf0)!=0xf0)
		   row=i;
	 }
	 KEYPORT=0xf0;
	 while ((KEYPORT&0xf0)!=0xf0);
	 return row*10+col;
	}
}

⌨️ 快捷键说明

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