unsigned char i=0; //段码初始值定义
unsigned char s=0;//位码初始值定义
sbit key=P3^0;// 键盘端口定义为P3.0
sbit SB=P2^3;//峰鸣器端口定义
sbit DUAN=P2^0; //段码位选通定义
sbit WEI=P2^1;//位码位选通定义
unsigned char code TABLE1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码表
unsigned char code TABLE2[]={0x00};//位码表
void main(void)//主函数
{
SB=1;// 峰鸣器关闭
while(1)//主函数
{
SB=1;
P0=TABLE1[i]; //查段码表结果
DUAN=1; //开段码选通
DUAN=0;//关段码选通
P0=TABLE2[s]; //查位码表结果
WEI=1; //开位选通
WEI=0;//关位选通
for(t=0;t<6000;t++);//延时防闪烁
if(key==0)//按键识别
{
for(t=0;t<50;t++);
if(key==0)
{
for(t=0;t<50;t++);
while(key==0);
i++;
if(i==10)
{
i=0;
}
P0=TABLE1[i];
DUAN=1;
DUAN=0;
P0=TABLE2[s];
WEI=1;
WEI=0;
for(t=0;t<60;t++);
{
for(t=0;t<50;t++);
if(key==0)
{
for(t=0;t<50;t++);
while(key==0);
i++;
if(i==10)
{
i=0;
}
P0=TABLE1[i];
DUAN=1;
DUAN=0;
P0=TABLE2[s];
WEI=1;
WEI=0;
for(t=0;t<60;t++);
}
}
}
}
}
}
}