#include <AT89X51.H> //頭文件
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
//***陰極數碼管的碼值 依次為從0到9
unsigned char Count;
void delay10ms(void) //延時程序
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
void main(void)
{
Count=0; //計數值初始化
P0=table[Count/10]; //取計數值十位數字
P2=table[Count%10];// 取計數值個位數字
while(1)
{
if(P3_7==0) //判斷是否有鍵按下
{
delay10ms(); //延時用於消抖
if(P3_7==0) //再次判斷是否有鍵按下
{
Count++; //有鍵按下則Count值加1
if(Count==100)
{
Count=0; //Count計數至100則清零
}
P0=table[Count/10]; //取計數值十位數字
P2=table[Count%10]; //取計數值個位數字
while(P3_7==0); //松手檢測
}
}
}
}
我把關鍵的部分都註釋了,相信妳應該沒有什麽問題了,再有問題的話我們再交流!