#include <at89x52.h>
char seg7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
char left_move[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
char left_add[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
char righ_add[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};
sbit led0=P3^0;
sbit led1=P3^1;
sbit led2=P3^2;
sbit led3=P3^3;
sbit btn1=P3^4;
sbit btn2=P3^5;
int k=0;
void delay_1ms(int k)
{
int i,j;
for(i=0;i<k;i++)
for(j=0;j<114;j++)
;
}
void init()
{
int i;
for(i=0;i<2;i++)
{
P1=0X00;delay_1ms(1000);
P2=0X00;delay_1ms(1000);
led0=0;led1=0;led2=0;led3=0;P0=0x00;delay_1ms(1000);
P1=0XFF;delay_1ms(1000);
P2=0XFF;delay_1ms(1000);
led0=1;led1=1;led2=1;led3=1;P0=0xFF;delay_1ms(1000);
}
P2=seg7[0];
}
main()
{
init();
while(1)
{
if(btn1==0)
{
delay_1ms(20);while(btn1!=1);delay_1ms(20);
k=k+1;
if(k>9)k=0;
}
if(btn2==0)
{
delay_1ms(20);while(btn2!=1);delay_1ms(20);
k=k-1;
if(k<0)k=9;
}
if(k==1)
{
P2=seg7[1];delay_1ms(20);
P1=0x00;delay_1ms(500);
P1=0xff;delay_1ms(500);
}
if(k==2)
{
int i;
P2=seg7[2];delay_1ms(20);
for(i=0;i<8;i++)
{
P1=~left_move[i];delay_1ms(500);
}
}
if(k==3)
{
int i;
P2=seg7[3];delay_1ms(20);
for(i=7;i>=0;i--)
{
P1=~left_move[i];delay_1ms(500);
}
}
if(k==4)
{
int i;
P2=seg7[4];delay_1ms(20);
for(i=0;i<8;i++)
{
P1=~left_add[i];delay_1ms(500);
}
}
if(k==5)
{
int i;
P2=seg7[5];delay_1ms(20);
for(i=0;i<8;i++)
{
P1=~righ_add[i];delay_1ms(500);
}
}
if(k==6)
{
// int i,j;
P2=seg7[6];delay_1ms(20);
// for(i=0;i<100;i++)
// {
// for(j=0;j<50;j++)
// {
// led0=0;led1=1;led2=1;led3=1;P0=seg7[9];delay_1ms(4);
// led0=1;led1=0;led2=1;led3=1;P0=seg7[1];delay_1ms(4);
// led0=1;led1=1;led2=0;led3=1;P0=seg7[0];delay_1ms(4);
// led0=1;led1=1;led2=1;led3=0;P0=seg7[2];delay_1ms(4);
// led0=1;
// led1=1;
// led2=1;
// led3=1;
// P0=0xFF;
// led0=0;led1=1;led2=1;led3=1;P0=seg7[4];delay_1ms(2);
// led0=1;led1=0;led2=1;led3=1;P0=seg7[0];delay_1ms(2);
// led0=1;led1=1;led2=0;led3=1;P0=seg7[7];delay_1ms(2);
// led0=1;led1=1;led2=1;led3=0;P0=seg7[0];delay_1ms(2);
//// }
// }
}
if(k==0)
{
P2=seg7[0];delay_1ms(20);P1=0xff;P0=0xff;
}
if(k==7)
{
P2=seg7[7];delay_1ms(20);P1=0xff;P0=0xff;
}
if(k==8)
{
P2=seg7[8];delay_1ms(20);P1=0xff;P0=0xff;
}
if(k==9)
{
P2=seg7[9];delay_1ms(20);P1=0xff;P0=0xff;
}
}
}
沒有留言:
張貼留言