#include <reg51.h>
#define unsignedchar code
sbit KEY0=P1^6; //加一
sbit KEY1=P1^7; //减一
sbit KEY2=P1^5; //复位
unsignedchar code table[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char K;
unsigned char num;
void delay(unsigned int z) /*延迟函数*/
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(void)
{
P2=0xfb;//位选
P0=table[K];//段选
delay(5);
P2=0xf7;
P0=table[num];
delay(5);
}
void main()
{
while(1)
{
if(KEY0==0)
{
delay(200);
if(KEY0==0)
{
if(K==9&&num==9)
K=9,num=9;
else num++;
if(num>9)
{
K++;
num=0;
}
display();
}
}
if(KEY1==0)
{
delay(200);
if(KEY1==0)
{if(K==0&&num==0)
K=0,num=0;
else num--;
if(num==-1)
{
num=9;
K--;
}
if(num==-1)
{
num=0;
}
display();
}
}
if(KEY2==0)
{
delay(200);
if(KEY2==0)
K=5;
num=0;
display();
}
}
}
|