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

📄 1.c

📁 4X4矩阵键盘的识别程序动态扫描的形式完成
💻 C
字号:
#include<reg51.h>
#define  uchar unsigned char
#define uint unsigned int 
sbit P3_4=P3^4;
sbit P1_0=P1^0;
sbit P3_5=P3^5;
sbit P3_6=P3^6;
sbit P3_7=P3^7;
uchar code table[]={0x3f,0x06,0x5b,0x46,0x66,0x6d,0x7d,0x07,
					0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar temp,key,i,j;
void main()
{
	while(1)
		{
			P3=0xff;
			P3_4=0;
			temp=P3;
			temp=temp&0x0f;
			if(temp!=0x0f)
				{
					for(i=50;i>0;i--)
					for(j=200;j>0;j--);
					temp=P3;
					temp=temp&0x0f;
					if(temp!=0x0f)
					{
						temp=P3;
						temp=temp&0x0f;	
						switch(temp)
						{
						  case 0x0e:
							key=1;
							break;
						  case 0x0d:
							key=4;
							break;
						 case 0x0b:
							key=7;
							break;
						  case 0x07:
							key=15;
							break;

						}
					temp=P3;
				//	P1_0=~P1_0;
					P1=table[key];
					temp=temp&0x0f;
						while(temp!=0x0f)
						{
							temp=P3;	
							temp=temp&0x0f;
						}		
					}	
				}
			P3=0xff;
			P3_5=0;
			temp=P3;
			temp=temp&0x0f;
			if(temp!=0x0f)
				{
					for(i=50;i>0;i--)
					for(j=200;j>0;j--);
					temp=P3;
					temp=temp&0x0f;
					if(temp!=0x0f)
					{
						temp=P3;
						temp=temp&0x0f;	
						switch(temp)
						{
						 case 0x0e:
							key=2;
							break;
						  case 0x0d:
							key=5;
							break;
						 case 0x0b:
							key=8;
							break;
						  case 0x07:
							key=0;
							break;
						}
					
				temp=P3;
				//	P1_0=~P1_0;
					P1=table[key];
					temp=temp&0x0f;
						while(temp!=0x0f)
						{
							temp=P3;	
							temp=temp&0x0f;
						}		
					}	
				}
			P3=0xff;
			P3_6=0;
			temp=P3;
			temp=temp&0x0f;	
			if(temp!=0x0f)
				{
					for(i=50;i>0;i--)
					for(j=200;j>0;j--);
					temp=P3;
					temp=temp&0x0f;
					if(temp!=0x0f)
					{
						temp=P3;
						temp=temp&0x0f;	
						switch(temp)
						 {
						  case 0x0e:
							key=3;
							break;
						  case 0x0d:
							key=6;
							break;
						 case 0x0b:
							key=9;
							break;
						  case 0x07:
							key=14;
							break;
					}	
					temp=P3;
					//P1_0=~P1_0;
					P1=table[key];
					temp=temp&0x0f;
						while(temp!=0x0f)
						{
							temp=P3;	
							temp=temp&0x0f;
						}		
					}	
				}
			P3=0xff;
			P3_7=0;
			temp=P3;
			temp=temp&0x0f;	
			if(temp!=0x0f)
				{
					for(i=50;i>0;i--)
					for(j=200;j>0;j--);
					temp=P3;
					temp=temp&0x0f;
					if(temp!=0x0f)
					{
						temp=P3;
						temp=temp&0x0f;	
						switch(temp)
						 {
						  case 0x0e:
							key=10;
							break;
						  case 0x0d:
							key=11;
							break;
						 case 0x0b:
							key=12;
							break;
						  case 0x07:
							key=13;
							break;
						 }
					temp=P3;
				//	P1_0=~P1_0;
					P1=table[key];
					temp=temp&0x0f;
						while(temp!=0x0f)
						{
							temp=P3;	
							temp=temp&0x0f;
						}		
					}	
				}
			
		}		
					

}

⌨️ 快捷键说明

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