#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;
}}}
|