key.c

来自「一个用C语言开发的计数器1昌盛10KHZ的定时器滴答中断」· C语言 代码 · 共 45 行

C
45
字号
#include<AT89X51.H>
#define uchar unsigned char	
#define unit  unsigned int	

void dl10ms(void);
uchar kbscan(void);
void main(void)
{
  uchar key;
  while(1)
   {
     key=kbscan();
	 dl10ms();
   }
}

void dl10ms(void)
{ unit i;
  for(i=0;i>200;i++);
}
uchar kbscan(void) 
{
  uchar sccode;
  uchar record;
  P1=0xf0;
  if((P1&0xf0)!=0xf0)
  { 
    dl10ms();
	if((P1&0xf0)!=0xf0)
	 {
	   sccode=0xf0;
	   while((sccode&0x10)!=0)
	   { P1=sccode;
		 if((P1&0xf0)!=0xf0)
		 {
		   record=(P1&0xf0)|0x0f;
		   return((~sccode)+(~record));
		 }
		 else
		   sccode=(sccode<<1)|0x01;
		}
	}
   }
   return (0);
}

⌨️ 快捷键说明

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