www.pudn.com > ARM7_2114_iic.rar > KEYIN.C


/**************************************************************************** 
* 文件名:KEYIN.C 
* 功能:键盘输入。当检测到有按键输入时,对发光二极管LED4进行取后控制。 
*      使用I/O口输入方式对按键KEY1进行扫描。 
* 说明:将跳线器JP4_LED4短接。 
****************************************************************************/ 
#include  "config.h" 
 
 
#define	  LEDCON	0x02000000		/* P0.25引脚控制LED4,低电平点亮*/ 
#define   KEY1		0x00010000		/* P0.16引脚连接KEY1 */ 
 
 
/**************************************************************************** 
* 名称:WaitKey() 
* 功能:等待一个有效按键。本函数有去抖功能。 
* 入口参数:无 
* 出口参数:无 
****************************************************************************/ 
void  WaitKey(void) 
{  uint32  i; 
 
   while(1) 
   {  while( (IO0PIN&KEY1)!=0 );	// 等待KEY1键按下 
      for(i=0; i<50000; i++);		// 延时去抖 
      if( (IO0PIN&KEY1)==0 ) break; 
   } 
    
   while( (IO0PIN&KEY1)==0 ); 		// 等待KEY1键放开 
} 
 
 
/**************************************************************************** 
* 名称:main() 
* 功能:读取按键,控制LED闪烁 
****************************************************************************/ 
int  main(void) 
{  PINSEL0 = 0x00000000;		    // 设置所有管脚连接GPIO 
   PINSEL1 = 0x00000000; 
    
   IO0DIR = LEDCON;			        // 设置LED控制口为输出,其它I/O为输入 
   while(1)	 
   {  IO0SET = LEDCON; 
      WaitKey(); 
      IO0CLR = LEDCON; 
      WaitKey(); 
   } 
   return(0); 
}