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

📄 key.c

📁 嵌入源代码式系统实验 跑马灯 键盘扫描 中断
💻 C
字号:


//-----------------------------------------------------------------
// 包含文件区
//-----------------------------------------------------------------
#include "2410addr.h"


//-----------------------------------------------------------------
// 函数定义区
//-----------------------------------------------------------------
/*****************************************************************
*	函数名 	: Key_Test
*	功能  	:  实现键盘扫描
******************************************************************/
void Key_Test(void)
{    
 int i,j;
 
 Uart_Printf("\n\nPRESS ANY KEY ON ECPEND BOARD\n");
 rGPFCON=rGPFCON&0x3f03;//pf1237=input
 rGPBCON=rGPBCON|0x154000;
 rGPBCON=rGPBCON&0x157fff;//pb789/10=output
 
  while(1)
   {
   
 rGPBDAT=rGPBDAT&0x7f;//output=0

  if(~(rGPFDAT|0xffffff71))
   	{{


   	switch(~(rGPFDAT|0xffffff71))
   	{
   	case 0x2 :{i=1;break;}
	case 0x4 :{i=2;break;}
	case 0x8 :{i=3;break;}
	case 0x80:{i=4;break;}
	}
     }
 	 rGPBDAT=rGPBDAT|0x80;
     rGPBDAT=rGPBDAT&0x6ff;
     rGPBDAT=rGPBDAT&0x5ff;  
     rGPBDAT=rGPBDAT&0x3ff;//pf10 9 8 7=0001
        if(!(~(rGPFDAT|0xffffff71))){j=1;}
		else
        	{    rGPBDAT=rGPBDAT&0x77f;
                 rGPBDAT=rGPBDAT|0x100; 
                 rGPBDAT=rGPBDAT&0x5ff;
                 rGPBDAT=rGPBDAT&0x3ff;//pf10 9 8 7=0010
             if(!(~(rGPFDAT|0xffffff71))){j=2;}
			 else
			 	{rGPBDAT=rGPBDAT&0x77f;
                 rGPBDAT=rGPBDAT&0x6ff;
                 rGPBDAT=rGPBDAT|0x200;
                 rGPBDAT=rGPBDAT&0x3ff;//pf10 9 8 7=0100
                   if(!(~(rGPFDAT|0xffffff71))){j=3;}
				   else
				   	{j=4;
				   	rGPBDAT=rGPBDAT&0x77f;
                    rGPBDAT=rGPBDAT&0x6ff;
                    rGPBDAT=rGPBDAT&0x5ff;
                    rGPBDAT=rGPBDAT|0x400;//pf10 9 8 7=1000
				   	}
			    }
             

		}
		 Uart_Printf("THE KEY YOU PUSH IS %d row 第%d column\n",i,j);}
		  Delay(1);
  	
  	}

	



	
	
}

⌨️ 快捷键说明

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