www.pudn.com > uCOS_II_uart.rar > key_del.c


#include "AT91SAM7X256.h" 
#include "Board.h" 
 
 
 
void delay() 
{ 
 unsigned char i; 
 for(i=0;i<200;i++){} 
} 
 
 
 
 
/*_______________________________________________________________________________________________ 
__函数原型:	unsigned char   keyscan() 
__参数说明:   无 
__返回值:     unsigned char 
__说明:		键盘扫描函数; 
_______________________________________________________________________________________________*/ 
unsigned int   keyscan() 
{ 
 unsigned int i=0;                               
 unsigned int j=0; 
 unsigned int code_h; 
 unsigned int code_l; 
 
 if((*AT91C_PIOA_PDSR&0x0000F800)!=0x0000FF00) 
   { 
     delay();	 
      	if((*AT91C_PIOA_PDSR&0x0000F800)!=0x0000FF00) 
          { 
           *AT91C_PIOA_PDSR=code_h;  
           while((code_h&0x00000100)==0x00000100) 
              {i++; 
               code_h=code_h<<1; 
               } 
           *AT91C_PIOA_PDSR=code_l;  
           while((code_l&0x00000F00)==0x00000F00) 
               {j++; 
                code_l=code_l<<1; 
                } 
                return(4*i+j+1); 
             } 
        } 
  return(0); 
}