key.c

来自「4*4键盘程序c源码以及在cpld环境下的运行」· C语言 代码 · 共 67 行

C
67
字号
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int

void mDelay(uint j)
  {
    uint i=0;
	for(;j>0;j--)
	  for(i=0;i<125;i++)
	    {;}
  }

  uchar key()
  {
    uchar keyvalue,temp;
	keyvalue=P3;
	if(keyvalue==0xff)
	  return(0);
	mDelay(10);
	keyvalue=P3;
	if(keyvalue==0xff)
	  return(0);
	for(;;)
	{ 
	  temp=P3;
	  if(temp==0xff)
	    break;  
	}
	return(keyvalue);
  }

  void out()
  {
    switch(key())
	{
	  case 0x00:{P1=0xff;P2=0xff;}

	  case 0xee:{P1=0xfe;P2=0xff;}
	  case 0xed:{P1=0xfd;P2=0xff;}
	  case 0xeb:{P1=0xfb;P2=0xff;}
	  case 0xe7:{P1=0xf7;P2=0xff;}

	  case 0xde:{P1=0xef;P2=0xff;}
	  case 0xdd:{P1=0xdf;P2=0xff;}
	  case 0xdb:{P1=0xbf;P2=0xff;}
	  case 0xd7:{P1=0x7f;P2=0xff;}

	  case 0xbe:{P1=0xff;P2=0xfe;}
	  case 0xbd:{P1=0xff;P2=0xfd;}
	  case 0xbb:{P1=0xff;P2=0xfb;}
	  case 0xb7:{P1=0xff;P2=0xf7;}

	  case 0x7e:{P1=0xff;P2=0xef;}
	  case 0x7d:{P1=0xff;P2=0xdf;}
	  case 0x7b:{P1=0xff;P2=0xbf;}
	  case 0x77:{P1=0xff;P2=0x7f;}
	}
  }

  void main()
  {
    for(;;)
	{
	  out();
	  mDelay(2000);
	}
  }

⌨️ 快捷键说明

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