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

📄 key.c

📁 4*4键盘
💻 C
字号:
/*
	燕山大学电子与通信工程系 燕山大学
	2008年11月9日 v1.0
	通过Keil uVision 3编译
	在Proteus 7.4sp2下
*/

#include <reg51.h>
#include <absacc.h>

#define uint unsigned int
#define uchar unsigned char

sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
sbit P14=P1^4;
sbit P15=P1^5;
sbit P16=P1^6;
sbit P17=P1^7;

uchar code ledcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x7b,0x71,0x00,0x40};
bit key_flag=0;
void delay_10ms();
void keyscan();

void main()
{	
	IE=0X00;
	
	while(1)
	{	
		keyscan();
	}//while

}//fun


void keyscan(void)
{
	//******************扫第1列************
	  P14=0;
	  if(P10==0)
	  {
		delay_10ms();
	  	P0=ledcode[1];
		}
	  if(P11==0)
	  {delay_10ms();
	  P0=ledcode[6];
	}

	  if(P12==0)
	  {delay_10ms();
	  P0=ledcode[7];
	}
	  if(P13==0)
	  {delay_10ms();
	  P0=ledcode[16];
	}
	  P1=0xff;  
	  //**************扫第2列******************
	  P15=0;
	 	  if(P10==0)
	  {
		delay_10ms();
	  	P0=ledcode[2];
		}
	  if(P11==0)
	  {delay_10ms();
	  P0=ledcode[5];
	}

	  if(P12==0)
	  {delay_10ms();
	  P0=ledcode[8];
	}
	  if(P13==0)
	  {delay_10ms();
	  P0=ledcode[0];
	}
	  P1=0xff;     
	  //***************扫第3列*********************
	  P16=0;
	  	  if(P10==0)
	  {
		delay_10ms();
	  	P0=ledcode[3];
		}
	  if(P11==0)
	  {delay_10ms();
	  P0=ledcode[4];
	}

	  if(P12==0)
	  {delay_10ms();
	  P0=ledcode[9];
	}
	  if(P13==0)
	  {delay_10ms();
	  P0=ledcode[16];
	}
	  P1=0xff;                      
	//***************扫第4列************************
	  P17=0;
	  	  if(P10==0)
	  {
		delay_10ms();
	  	P0=ledcode[10];
		}
	  if(P11==0)
	  {delay_10ms();
	  P0=ledcode[11];
	}

	  if(P12==0)
	  {delay_10ms();
	  P0=ledcode[12];
	}
	  if(P13==0)
	  {delay_10ms();
	  P0=ledcode[13];
	}
	  P1=0xff; 	

}


void delay_10ms(void)
{
	uchar i,j;
	for(i=0;i<100;i++);
		for(j=0;j<80;j++);
}

⌨️ 快捷键说明

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