jianpan0223.c

来自「这是51单片机驱动键盘的源码。采用4*4矩阵键盘。」· C语言 代码 · 共 51 行

C
51
字号
/*矩阵键盘改成独立键盘
 *无松手检测程序 */
#include <REGX52.H>
#define uchar unsigned char
#define uint unsigned int  
void delay(uint z)
{
     uint x,y;
	 for(x=z;x>0;x--)
	    for(y=110;y>0;y--);
}
uchar  keyscan()
{
  uchar tmpcode;
  P1=0xf7;//11111011
  if((P1&0xf0)!=0xf0)
  {
      delay(5);
	  if((P1&0xf0)!=0xf0)
	  {
	     tmpcode=(P1&0xf0)|0x0f;
		 return(tmpcode);
	  }
  } 
}
void main()
{  uchar key;
    
	while(1)
	{
	  key=keyscan();
	  switch(key)
	  {
	     case 0xef:
		     P0=0x10;
			 break;
	     case 0xdf:
		     P0=0x20;
			 break;
	     case 0xbf:
		     P0=0x30;
			 break;
	     case 0x7f:
		     P0=0x40;
			 break;
	     default:break;
	  }
	}  
    
}   
   

⌨️ 快捷键说明

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