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

📄 4x4.c

📁 该程序源代码是以C编写的4X4键盘程序,仅供参考用..
💻 C
字号:
#include<reg51.h>
void delay(void);
unsigned char checkkey(void);
unsigned char key(void);

void main()
{
 unsigned char code table[]={0x28,0xeb,0x32,0x62,0xe1,0x64,0x24,0xea,0x20,0x60,0xA0,0x25,0x3C,0x23,0x34,0xB4};  //0 to F
 unsigned char m;

 m=0;
 P2=0xff;
 while(1)
 {
   if(checkkey()!=0)
   {
    delay();
	if(checkkey()!=0)
	{
	  m=key();
	  }
	}
  P0=table[m];
  }
 }


unsigned char checkkey(void)
{
  unsigned char n;
  P3=0xf0;
  n=P3;
  return(~n&0xf0);
  }


unsigned char key(void)
{
 unsigned char i;
 unsigned char k;
 unsigned char n;
 unsigned char temp;
  
 i=0xfe;
 n=5;
 do
 {
  P3=i;
  temp=~P3&0xf0;
  i=(i<<1)|0x01;
  }
  while((--n!=0)&&(temp==0));

   if(temp!=0)
   {
	 if(~P3&0x80)k=16-4*n;
	 if(~P3&0x40)k=16-4*n+1;
	 if(~P3&0x20)k=16-4*n+2;
	 if(~P3&0x10)k=16-4*n+3;
	 P3=0xf0;
	 
     do
	  {
	   ;
	   }while(~P3&0xf0);
	}
	return(k);
 }

 void delay(void)
 {
   unsigned char j;
   unsigned char k;

   for(j=20;j>0;j--)
   for(k=250;k>0;k--);
   }
 
  

⌨️ 快捷键说明

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