key.h

来自「远程遥控家电」· C头文件 代码 · 共 50 行

H
50
字号
#include"config.h"
/////////////////////////////////
extern uint8 keycode;
void Delaym(uint32 D_time)
{
   uint32 i,j;
   for(j=0;j<D_time;j++)
	 for(i=0;i<0xfff;i++);

}
//////////////////////////////////////////////
uint8 key(void)
{
uint8 i,p,keystate=0;
IODIR =IODIR|(0x0f<<4);
IODIR =IODIR&(~(0x0f<<16));
IO0PIN =IO0PIN&(~(0x0f<<4));  
while((IO1PIN&(0x0f<<16))!=(0x0f<<16))
  { 
  Delaym(550);
  if((IO1PIN&(0x0f<<16))!=(0x0f<<16))
    {
     for(i=0;i<4;i++)
       {
       IO0PIN=(IO0PIN&(~(0x0f<<4)))|(((~(1<<i))&0x0f)<<4);
       p =IO0PIN>>16;
       if((p&0x1)==0){
         keycode=0;
         break;}
        else if ((p&0x2)==0){
         keycode=4;
         break;}
       else if ((p&0x4)==0){
         keycode=8;
         break;}
       else if ((p&0x8)==0){
         keycode=12;
         break;}
       else
         keystate=0; 
       }
       keycode=keycode +i;
       keystate=1;
     }
   if((IO1PIN&(0x0f<<16))==(0x0f<<16)) break;
   }
   
  return keystate;
}
//////////////********************************************************************************

⌨️ 快捷键说明

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