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

📄 说明.txt

📁 这个是44行列式键盘
💻 TXT
字号:
 将P1口8脚分别和J13,J14用导线相连接!   

 本实验简要的阐明了4*4行列式键盘的工作原理,大家肯定见过银行柜员机吧,取钱输入密码就要用到键盘,超市购物取回寄存物品要输入密码,还有你现在在用的PC机的键盘。但是键盘的是怎么工作的呢?一般有2种方式:(1)扫描法,不断扫描键盘的状态,送CPU判断并处理。如果键盘数目一大的话,显然不适合。
   在P1口接个4*4的键盘,P1.0--P1.3接行,P1.4---P1.7接列,再接4个4K7或者10K的上拉电阻至VCC。


 (2)线反转法,通过行列状态的改变来判断有无键被按下!
实现如下:
1.和扫描法相同,把列线置低电平,行置高,读行状态
2.与1相反,把行置低,列置高,读列状态
3.若有键按下,则为2次所读状态的结果即为键所在的位置,这样2次输出和2次读入可以完成键的识别!!!

    子函数如下:
unsigned char key_vscan(void)
{
    unsigned char row, col;
    P1  = 0xF0;
    row = P1&0xF0;
    row = row&0xF0;

    P1  = 0x0F;
    col = P1&0x0F;
    col = col&0x0F;

    return(key_val(row|col));
}


    下面我们再来介绍介绍一键多能的程序,即按下一个键,可以执行不同的命令!

void main (void)
{
	
	unsigned char b = 0;
	while( 1 )
	{
		if(P1_0 == 0)
  		{
			Delay(10);
   			if(P1_0 == 0)
			{
				b++;	
				if( b == N )//N为键的功能数目
				{
					b = 0;
				}
  				while(P3_2 == 0);//等待键松开
			}
  		}
		switch( b )
  		{
   			case 1: P2_0 = 0xFE;
           			break;
   			case 2: P2_1 = 0xfd;
   				//..............add your code here!
  		}
	}
}

⌨️ 快捷键说明

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