key.c

来自「此程序为单片机键盘程序,是简短高效的4*4键盘程度」· C语言 代码 · 共 70 行

C
70
字号
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void dlms(void);
void delay(void);
uchar kbscan(void);
void main (void)
{
 uchar key;
 uchar a=0x00;
 uchar b=0x00;
 P2=0x00;
 while(1)
 {
  key=kbscan();
  dlms();
   switch(key)
  {case 0xee:a++;P2=a+b;break;
   case 0xde:b++;b=b*10;P2=b+a;break;
  }
  delay();
}
}
			

void dlms (void)
 { uchar i;
 for(i=200;i>0;i--){ }
  }

void delay(void) 

{ 

  unsigned char m,n,s; 

  for(m=9;m>0;m--) 

  for(n=30;n>0;n--) 

  for(s=248;s>0;s--); 

}


uchar kbscan(void)
{uchar sccode,recode;
  P1=0xf0;										 
  if((P1&0xf0)!=0xf0)
      {dlms();
	  if((P1&0xf0)!=0xf0)
	  {sccode=0xfe;
	    while((sccode&0x10)!=0)
		 {P1=sccode;
		  if((P1&0xf0)!=0xf0)
		   {recode=P1&0xf0;
	       sccode=sccode&0x0f;
           return(sccode+recode);
	       }
	else
	  sccode=(sccode<<1)|0x01;
 		 }
	   }
	   }
return(0);
}



⌨️ 快捷键说明

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