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

📄 jianpan.c

📁 一个4*4键盘程序
💻 C
字号:
#include<reg52.h>
#define uint unsigned int;
#define uchar unsigned char;
unsigned  char  t;
void delay10ms(void)
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
unsigned char key()
{
	uchar data temp,new,flag;
	new = 0xff;
	flag=0x00;
	P1=0xfe;
	temp = P1 & 0xf0; 
		if(temp == 0xe0) 
			while(temp==0xe0){P1=0xfe;temp=P1 & 0xf0;new=0x03;flag=0x01;}
		if(temp==0xd0)
			while(temp==0xd0){P1=0xfe;temp=P1 & 0xf0;new=0x07;flag=0x01;}
		if(temp == 0xb0) 
			while(temp==0xb0){P1=0xfe;temp=P1 & 0xf0;new=0x0b;flag=0x01;}
		if(temp==0x70)
			while(temp==0x70){P1=0xfe;temp=P1 & 0xf0;new=0x0f;flag=0x01;}
	P1=0xfd;
	temp=P1 & 0xf0;
		if(temp == 0xe0) 
			while(temp==0xe0){P1=0xfd;temp=P1 & 0xf0;new=0x02;flag=0x01;}
		if(temp==0xd0)
			while(temp==0xd0){P1=0xfd;temp=P1 & 0xf0;new=0x06;flag=0x01;}
		if(temp == 0xb0) 
			while(temp==0xb0){P1=0xfd;temp=P1 & 0xf0;new=0x0a;flag=0x01;}
		if(temp==0x70)
			while(temp==0x70){P1=0xfd;temp=P1 & 0xf0;new=0x0e;flag=0x01;}
	P1=0xfb;
	temp=P1 & 0xf0;															
		if(temp == 0xe0) 
			while(temp==0xe0){P1=0xfb;temp=P1 & 0xf0;new=0x01;flag=0x01;}
		if(temp==0xd0)
			while(temp==0xd0){P1=0xfb;temp=P1 & 0xf0;new=0x05;flag=0x01;}
		if(temp == 0xb0) 
			while(temp==0xb0){P1=0xfb;temp=P1 & 0xf0;new=0x09;flag=0x01;}
		if(temp==0x70)
			while(temp==0x70){P1=0xfb;temp=P1 & 0xf0;new=0x0d;flag=0x01;}
	P1=0xf7;
	temp=P1 & 0xf0;
		if(temp == 0xe0) 
			while(temp==0xe0){P1=0xfe;temp=P1 & 0xf0;new=0x00;flag=0x01;}
		if(temp==0xd0)
			while(temp==0xd0){P1=0xfe;temp=P1 & 0xf0;new=0x04;flag=0x01;}
		if(temp == 0xb0) 
			while(temp==0xb0){P1=0xfe;temp=P1 & 0xf0;new=0x08;flag=0x01;}
		if(temp==0x70)
			while(temp==0x70){P1=0xfe;temp=P1 & 0xf0;new=0x0c;flag=0x01;}
	if(flag==0x00)
		new=0xff;
	else
		new=new;
	return new;
}


void seven(unsigned char a)
{
	switch (a)
	{
		case 0x00 :
			P2=	0x3f;break;
		case 0x01 :
			P2= 0X06;break;
		case 0x02 :
			P2=0x5b;break;
		case 0x03 :
			P2=0x4f;break;
		case 0x04 :
			P2=0x66;break;
		case 0x05 :
			P2=0x6d;break;
		case 0x06 :
			P2=0x7d;break;
		case 0x07 :
			P2=0x07;break;
		case 0x08 :
			P2=0x7f;break;
		case 0x09 :
			P2=0x6f;break;
		case 0x0A :
			P2=0x77;break;
		case 0x0B :
			P2=0x7c;break;
		case 0x0C :
			P2=0x39;break;
		case 0x0D :
			P2=0x5e;break;
		case 0x0E :
			P2=0x79;break;
		case 0x0F :
			P2=0x71;break;
		default :
			P2=0x00;break;
	}

}
 void main()
 { 
	uchar data new,old,j; 
 	
 	while(1)
	{
		
		for(j=0x00;j<=0x0f;j++)
		{}
		new=key();
		if(new==old)
			seven(new);
		else
			if(new!=0xff)
				{seven(new);
				old=new;
				}
			else
				seven(old);
	}
 }

⌨️ 快捷键说明

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