//妳的程序裏好像沒有極限值。
# include & ltreg52.h & gt
#定義uchar無符號字符
#定義uint無符號整數
sbit key = p3^4;//獨立鍵的T0
uchar碼表[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x 71 };
uchar碼表_d[16] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0x f 1 };
void delay _ 1毫秒(uinti)//1毫秒延遲
{
uchar x,j;
for(j = 0;j & lt我;j++)
for(x = 0;x & lt=110;x++);
}
void main()
{
uchar I = 0;
while(1)
{
P0 =表[I/10];//顯示10位數字
P2 = 6;
delay _ 1 ms(5);
P0 =表[I % 10];//顯示個位數
P2 = 7;
delay _ 1 ms(5);
if(KEY == 0)
{
delay _ 1 ms(20);//軟件去抖動,測試20 ms。
if(KEY == 0)
{
i++;
如果(i & gt99)//限制最大數量
{
I = 0;
}
而(!關鍵);
}
}
}
}