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

📄 checker.c

📁 单片机89C51
💻 C
字号:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int

#define TRUE  1
#define FAULSE   0
#define scan P2

sbit L1=P2^0;
sbit L2=P2^1;
sbit L3=P2^2;
sbit L4=P2^3;
sbit C1=P2^4;
sbit C2=P2^5;
sbit C3=P2^6;
sbit C4=P2^7;
uchar key=0;
/****************check if any key pressed*********************/

bit CheckState(void)
{
	bit key=0;
	uchar state=0;
	scan=0x0F;                   //scan key
	state=scan;					//get kay state
	if(state!=0x0F)key=TRUE;    //check if any key pressed
	else key=FAULSE;
	return(key);
	}

/****************** ckeck whitch key pressed*****************/

uchar GetKeys(void)
{
	scan=0xFF;
	if(L1==0)                  //line 1 have key pressed
	  {
	  	 if(C1==0)key=0x11;
		 else if(C2==0)key=0x21;
		 else if(C3==0)key=0x41;
		 else key=0x81;
		 }
     
	else if(L2==0)
	  {
	  	  if(C1==0)key=0x12;
		 else if(C2==0)key=0x22;
		 else if(C3==0)key=0x42;
		 else key=0x82;
		 }

 	else if(L3==0)
	  {
	  	  if(C1==0)key=0x14;
		 else if(C2==0)key=0x24;
		 else if(C3==0)key=0x44;
		 else key=0x84;
		 }

	else 
	  {
	  	 if(C1==0)key=0x18;
		 else if(C2==0)key=0x28;
		 else if(C3==0)key=0x48;
		 else key=0x88;
		 }

	return(key);
	}
         
void DisplayKey(uchar key)           
{
	P1=key;
	}

void main()
{
	while(1)
	{
		if(CheckState())key=GetKeys();
		DisplayKey(key);
	
	 }
	}

⌨️ 快捷键说明

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