这是改好后已经消影的代码
- #include<reg51.h>
- unsigned int count=0;
- unsigned char i=0;
- unsigned char code Ledchar[]=
- {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
- 0x7F,0x6F,0x77,0x7c,0x39,0x5E,0x79,0x71};
- unsigned char Numtemp[8]={0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
- unsigned long second = 0;
- void main ()
- {
- TMOD=0x01;
- TH0=0xFC;TL0=0x66;
- TR0=1;
- while (1)
- {
- if(1==TF0)
- {
- TF0=0;
- TH0=0xFC;TL0=0x66;
- count+=1;
- if(1000<=count)
- {
- second+=1;
- count=0;
- Numtemp[0]=Ledchar[second%10];
- Numtemp[1]=Ledchar[(second/10)%10];
- Numtemp[2]=Ledchar[(second/100)%10];
- Numtemp[3]=Ledchar[(second/1000)%10];
- Numtemp[4]=Ledchar[(second/10000)%10];
- Numtemp[5]=Ledchar[(second/100000)%10];
- Numtemp[6]=Ledchar[(second/1000000)%10];
- Numtemp[7]=Ledchar[(second/10000000)%10];
- }
- P0=0x00;
- switch(i)
- {
- case 0 : P2=0x00;i++;P0=Numtemp[0];break;
- case 1 : P2=0x04;i++;P0=Numtemp[1];break;
- case 2 : P2=0x08;i++;P0=Numtemp[2];break;
- case 3 : P2=0x0C;i++;P0=Numtemp[3];break;
- case 4 : P2=0x10;i++;P0=Numtemp[4];break;
- case 5 : P2=0x14;i++;P0=Numtemp[5];break;
- case 6 : P2=0x18;i++;P0=Numtemp[6];break;
- case 7 : P2=0x1C;i=0;P0=Numtemp[7];break;
- }
- }
- }
- }
复制代码
|