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

📄 keydrive.c

📁 4*4键盘程序 (头文件 键盘驱动 主程序 )虽然简单,但对新手 值得一看
💻 C
字号:
#include <at89x51.h>
void delay10ms(void)
{
   unsigned char i;
   unsigned char j;
   for(i=50;i>0;i--)
     for(j=200;j>0;j--);
}
unsigned char kbbit(void)
{
    unsigned char temp;
	P1 = 0xf0;
	if (P1 == 0xf0) temp=0;
    else
       {                      //抗干扰处理
         delay10ms();
          P1=0Xf0;
          if(P1==0Xf0) temp=0;
          else  temp=1;   
        }
	return(temp);
}
/*********************************
name :keyup 
function: 判断键盘是否抬起
说明:若键盘抬起则返回1 ,否则为0
***********************************/
unsigned char keyup(void)
{
  unsigned char ch;
  P1=0Xf0;
  ch=P1;
  if(ch==0xf0)   return(1);   //键盘已经抬起
  else return(0);
}
unsigned char getch(void)
{
	unsigned char X,Y,Z;
    P1 = 0x0f;
	X = P1;
	P1 = 0xf0;
	Y = P1;
 	Z =X|Y;
	switch(Z)
	{
		case 0xee: return ( 0 );break;
		case 0xde: return ( 1 );break;
		case 0xbe: return ( 2 );break;
		case 0x7e: return ( 3 );break;
		case 0xed: return ( 4 );break;
		case 0xdd: return ( 5 );break;
		case 0xbd: return ( 6 );break;
		case 0x7d: return ( 7 );break;
		case 0xeb: return ( 8 );break;
		case 0xdb: return ( 9 );break;	
		case 0xbb: return ( 10 );break;
		case 0x7b: return ( 11 );break;
		case 0xe7: return ( 12 );break;
		case 0xd7: return ( 13 );break;
		case 0xb7: return ( 14 );break;
		case 0x77: return ( 15 );break;
     }
}



⌨️ 快捷键说明

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