#include <reg52.h>//頭文件的聲明
typedef unsigned int uint16;//以后想定義unsigned int類型的,直接用uint16代替即可
typedef unsigned char uint8;
sbit key1 = P3^2;//該鍵位的定義,功能是每按一次就加1
sbit key2 = P3^3;//該鍵位的定義,功能是每按一次就減1
//延時函數
void delay(void)
{
uint16 i;
for(i = 0;i < 10000;i++);
}
//主程序
void main()
{
uint8 code led[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數碼管的段碼
uint8 j;
j = 0;
P0 = 0x3f;//P0口的初始化
while(1)
{
if(key1==0)//判斷KEY1鍵是否按下
{
delay();//延時去抖動
if(key1==0)//再一次判斷KEY1鍵是否按下
{
j++;
while(j==10)
j=0;
while(!key1);//判斷KEY1鍵有沒有彈起
P0 = led[j];
}
}
if(key2==0)//判斷KEY2鍵是否按下
{
delay();//延時去抖動
if(key2==0)//再一次判斷KEY2鍵是否按下
{
j--;
while(j==-1)
j = 9;
while(!key2);//判斷KEY2鍵有沒有彈起
P0 = led[j];
}
}
}
}
|