at89c2051.c

来自「献给初学单片机的爱好者们」· C语言 代码 · 共 44 行

C
44
字号
#include<REG51.H>

unsigned char test,record;

//键盘部分程序
void delayms(unsigned char ms)	
{  unsigned char i;
	while(ms--)
	{
		for(i = 0; i < 120; i++);
	}
}
bit scan_key()
{
 test=P1;
 return(test ^ record);	
}

 void proc_key()
{
 switch(~test)
 { case 0x01: P3=1;break;
   case 0x02: P3=2;break;
   case 0x04: P3=3;break;
   case 0x08: P3=4;break;
   case 0x10: P3=5;break;
   case 0x20: P3=6;break;
   case 0x40: P3=7;break;
   case 0x80: P3=8;break;
 }
}
void main(void)
{  record=0xff;
 while(1)
 { if(scan_key())
	   { 
	    delayms(10);
	    if(scan_key())
		{ record=test;
		  proc_key();
		}
	  }
  }
}

⌨️ 快捷键说明

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