头文件程序如下,我想实现的功能是:当其中一个键按下时,返回一个相应的值,而且是每次运行key_scan()这个按键扫描函数时一直返回这个值,直到下一个键被按下时才返回另一个相应的值。但我这个头文件不能实现这个功能,麻烦大家帮我改成可以实现那种功能的程序(头文件)。谢谢。
补充说明下:实物中用的是轻触开关,即按下后就弹起来的那种。
#ifndef __key_H__
#define __key_H__
#include "AT89X51.h"
sbit P24=P2^4;
sbit P25=P2^5;
sbit P26=P2^6;
sbit P27=P2^7;
void key_delay(uchar i); //延时
void key_delay(uchar i)
{
uchar j;
for(;i>0;i--)
for(j=248;j>0;j--);
}
key_scan()
{
while(1)
{
if(P24==0)
{
key_delay(15);
if(P24==0)
{
return(1);
}
}
else if(P25==0)
{
key_delay(15);
if(P25==0)
{
return(2);
}
}
else if(P26==0)
{
key_delay(15);
if(P26==0)
{
return(3);
}
}
else if(P27==0)
{
key_delay(15);
if(P27==0)
{
key_delay(1980);
if(P27==0)
{
return(4);
}
else
{
return(5);
}
}
}
else
{;}
}
} |