#include<reg52.h>
// unsigned int LED[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
//unsigned char LED[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7d,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
sbit LATCH_seg = P2^2;
sbit LATCH_bit = P2^3;
void delay(unsigned int n);
void show1(unsigned int n);
void show2();
void main()
{
//show1(8);
show2();
}
void delay(unsigned int n)
{
while(--n);
}
void show2()
{
unsigned int i;
while(1)
{
for(i = 0;i < 8;i++)
{
show1(i);
}
}
}
void show1(unsigned int n)
{
unsigned char w;
unsigned int m,i,j;
w = 0x01;
m = 400;
i = n;
j = n + 8;
while(--m)
{
/*P1=0x4f; //取位码
LATCH_bit=1; //位锁存
LATCH_bit=0;
P0=0x7d; //取显示数据
LATCH_seg=1; //段锁存
LATCH_seg=0; */
P1 = seg[n] ;
LATCH_seg = 1;
LATCH_seg = 0;
P1 = ~w ;
LATCH_bit = 1;
LATCH_bit = 0;
w <<= 1;
if(w == 0x00)
{
w = 0x01;
}
/*w >>= 1;
if(w == 0x00)
{
w = 0x80;
}*/
delay(300);
n++;
if(n == j)
{
n = i;
}
}
}
// unsigned int LED[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
//unsigned char LED[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7d,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
sbit LATCH_seg = P2^2;
sbit LATCH_bit = P2^3;
void delay(unsigned int n);
void show1(unsigned int n);
void show2();
void main()
{
//show1(8);
show2();
}
void delay(unsigned int n)
{
while(--n);
}
void show2()
{
unsigned int i;
while(1)
{
for(i = 0;i < 8;i++)
{
show1(i);
}
}
}
void show1(unsigned int n)
{
unsigned char w;
unsigned int m,i,j;
w = 0x01;
m = 400;
i = n;
j = n + 8;
while(--m)
{
/*P1=0x4f; //取位码
LATCH_bit=1; //位锁存
LATCH_bit=0;
P0=0x7d; //取显示数据
LATCH_seg=1; //段锁存
LATCH_seg=0; */
P1 = seg[n] ;
LATCH_seg = 1;
LATCH_seg = 0;
P1 = ~w ;
LATCH_bit = 1;
LATCH_bit = 0;
w <<= 1;
if(w == 0x00)
{
w = 0x01;
}
/*w >>= 1;
if(w == 0x00)
{
w = 0x80;
}*/
delay(300);
n++;
if(n == j)
{
n = i;
}
}
}