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

📄 text2.c

📁 键盘扫描程序
💻 C
字号:
#include <reg51.h>


unsigned char num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} ;//0~9

  sbit P14=P1^4;
  sbit P15=P1^5;
  sbit P16=P1^6;
  sbit P17=P1^7;

  unsigned char key_x;//行
  unsigned char key_y;//列

void get_char(void)//键盘扫描函数
{
   int i;
   unsigned char outdata;
   P1=0xf0;
   while(P1==0xf0);//如果有按键p1口值变化
   
   outdata=0xfe;//第一行
   key_x=1;
   key_y=0;
   for(i=0;i<4;i++)
   {
      P1=outdata;
	  if(P14==0)
	  {
	      key_y=1;//第一列
		  break;
	   }
	   else if(P15==0)
	   {
	      key_y=2;//第二列
		  break;
	   }
	   else if(P16==0)
	  {
	      key_y=3;//第三列
		  break;
	   }
	   else if(P17==0)
	   {
	      key_y=4;//第四列
		  break;
		}
	   key_x++;//行加1
	   outdata=outdata<<1;//循环左移再加1
	   outdata+=0x01;
	     
   }

}

void show()//显示函数
{
   if(key_x>=1&&key_y>=1)
   {
      P2=num[key_x];
	  P3=num[key_y];
   }
}

void delay()
{
   int i=100;
   while(i--);
}
 
main()
{

	while(1)
	{ 
		get_char();//键盘扫描调用
	    show();//显示
    }

}

⌨️ 快捷键说明

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