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

📄 4x4.c

📁 一个4X4的键盘程序设计
💻 C
字号:
#include <reg51.h>
#include <intrins.h>

#define uchar unsigned char
#define uint  unsigned int

uchar ledbit=0 ;//记录按键次数
uchar data leddata[8] ;//数组用于记录输入的数
uchar idata regment[8]={0,0,0,0,0,0,0,0};   //缓冲区数组

uchar code keytable[16]={0xEE,0xED,0xEB,0xE7,	//0,1,2,3
                         0xDE,0xDD,0xDB,0xD7,   //4,5,6,7
						 0xBE,0xBD,0xBB,0xB7,   //8,9,.,H
						 0x7E,0x7D,0x7B,0x77};  //-,C,A,E   (按键码表)	  	  

/*uchar code keytable[16]={0x7D,0xD7,0xBE,0xBD,	//C,7,8,9
                         0x7B,0xDE,0xDD,0xDB,   //A,4,5,6
						 0x77,0xED,0xEB,0xE7,   //E,1,2,3
						 0x7E,0xEE,0xBB,0xB7};  //-,0,.,H  (按键码表)		*/


/*uchar code ledtable[16]={0xed,0x81,0xf4,0xb5,	//0,1,2,3
                         0x99,0x3d,0x7d,0x85,   //4,5,6,7
                         0xfd,0xbd,0x02,0xd9,	//8,9,.,h
						 0x10,0x6c,0xdd,0x7c};  //-,c,a,e   (数码管显示码表)*/

uchar code ledtable[16]={0xbd,0x7d,0xb5,0xd9,	//9,6,3,h
                         0xfd,0x3d,0xf4,0x02,   //8,5,2,.
                         0x85,0x99,0x81,0xed,	//7,4,1,0
						 0x6c,0xdd,0x7c,0x10};  //c,a,e,-   (数码管显示码表)

//廷时函数
void delay()
{
	uchar i;
	for(i=0;i<=220;i++){;}
}

void main()
{
	uchar input1,input2,dis_buf,i,j,k;
	while(1)
	{
		P1=0x0f ;//扫描P1口的低位
		if(P1!=0x0f)
		{
			input1=P1;
			P1=0xf0 ;//扫描P1口的高位
			input2=P1;
			dis_buf=input1+input2;//得到组合后的键码
			for(i=0;i<16;i++)
			{
				if(dis_buf==keytable[i])//查表找到对应的按键值
				{
					if(ledbit==8) ledbit=0;//输入超过8位则位数回零
					leddata[ledbit]=ledtable[i];//通过按键值找到数码管显示码,并将显示码保存在数组中
					ledbit++ ;
					
					if(dis_buf==0x7E)
					{sum();
						for(j=0;j<8;j++)
						{
							regment[i]=ledtable[i];
						}
						for(j=0;k<8;j++)
						{
							ledtable[i]=0x00;
						}
						P2=0x00;
					}
					break ;
				}
			}
			P1=0xf0 ;
			while(P1!=0xf0) ;//等待按键松开
		}
		//显示部份
		for(i=0;i<ledbit;i++)
		{
			P2=_cror_(0x7f,i);//从P2.7开始循环左移
			P0=leddata[ledbit-i-1];
			delay();
		}
		P0=0x00;
	}
}

⌨️ 快捷键说明

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