#include <at89x52.h>
unsigned char seg7_table[]={0Xc0,0Xf9,0Xa4,0Xb0,0X99,0X92,0X82,0Xf8,0X80,0X90};
int i;
int temp;
int up_flag=0;
int down_flag=0;
int stop_flag=0;
void delay_1ms(unsigned int k)
{
unsigned int i,j;
for (i=0;i<=k;i++)
for (j=0;j<=110;j++);
}
void main()
{
P0=0xff;
while(1)
{
if(stop_flag==1){; }
else if(up_flag==1)
{
i++;
if(i>9)
{
i=0;
}
P0=seg7_table[i];
delay_1ms(500);
}
else if(down_flag==1)
{
i--;
if(i<0)
{
i=9;
}
P0=seg7_table[i];
delay_1ms(500);
}
P2=0x7f;
if(P2_3==0) {up_flag=0,down_flag=0;stop_flag=0;P0=0xc0;i=0;delay_1ms(20);while(P2_3==0);delay_1ms(20);}//0
if(P2_2==0){up_flag=0,down_flag=0;stop_flag=0;P0=0xf9;i=1;delay_1ms(20);while(P2_2==0);delay_1ms(20);}//1
if(P2_1==0){up_flag=0,down_flag=0;stop_flag=0;P0=0xa4;i=2;delay_1ms(20);while(P2_1==0);delay_1ms(20);}//2
if(P2_0==0){up_flag=0,down_flag=0;stop_flag=0;P0=0xb0;i=1;delay_1ms(20);while(P2_0==0);delay_1ms(20);}//3
P2=0xbf;
if(P2_3==0){up_flag=0,down_flag=0;stop_flag=0;P0=0x99;i=4;delay_1ms(20);while(P2_3==0);delay_1ms(20);}//4
if(P2_2==0){up_flag=0,down_flag=0;stop_flag=0;P0=0x92;i=5;delay_1ms(20);while(P2_2==0);delay_1ms(20);}//5
if(P2_1==0){up_flag=0,down_flag=0;stop_flag=0;P0=0x82;i=6;delay_1ms(20);while(P2_1==0);delay_1ms(20);}//6
if(P2_0==0){up_flag=0,down_flag=0;stop_flag=0;P0=0xf8;i=7;delay_1ms(20);while(P2_0==0);delay_1ms(20);}//7
P2=0xdf;
if(P2_3==0){up_flag=0,down_flag=0;stop_flag=0;P0=0x80;i=8;delay_1ms(20);while(P2_3==0);delay_1ms(20);}//8
if(P2_2==0){up_flag=0,down_flag=0;stop_flag=0;P0=0x90;i=9;delay_1ms(20);while(P2_2==0);delay_1ms(20);}//9
if(P2_1==0){up_flag=1,down_flag=0;stop_flag=0;;delay_1ms(20);while(P2_1==0);delay_1ms(20);}//a
if(P2_0==0){up_flag=0,down_flag=1;stop_flag=0;delay_1ms(20);while(P2_0==0);delay_1ms(20);}//b
P2=0xef;
if(P2_3==0){up_flag=0,down_flag=0;stop_flag=1;delay_1ms(20);while(P2_3==3);delay_1ms(20);}//c
}
}
沒有留言:
張貼留言