#include<reg51.h>//调用特殊寄存器
#define uint unsigned int//定义
#define uchar unsigned char
sbit key=P3^0;
uchar keyup=1;//刚开始按键没有按下的状态
uint count=0xff;//十六进制全一
void delay(uint n)
{
while(n--);
}
uchar keyscan()
{
uchar keynum=0;//按键是否一直按或是没按下
if(key==0&&keyup==1)
{
delay(1000);
if(key==0)
{
keyup=0;
}
}
else if(key==1&&keyup==0)
{
keyup=1;
keynum=1;//按下松手
}
return(keynum);
}
void main()//主程序
{
uchar temp;
P1=count;
while(1)
{
temp=keyscan();
if(temp==0)
{
P1=count;
}
if(temp==1)
{
count=count-1;
P1=count;
}}}
|