#include"AT89x52.h"
#include"intrins.h"
#define uint unsigned int
#define uchar unsigned char
sbit wei=P2^7; //U2 74HC573的LE端 数码管的位选端
sbit pw=P1^4; //LED发光管的使能端
unsigned int a; //定义无符号整行a
void main()
{
while(1) //死循环
{
wei=0; //锁存,让位选的74hc573保持现在的状态不变,也就是一直不显示,如果不写这3行,数码管上就会有干?
{
pw=0; //开LED总使能
P0=0xff; //让所有数码管不显示,防止数码管干扰
P0=0x7f; //P0口送2进制 01111111 8个二进制对应8个led灯,也就是让为0的数码管亮,为1的不亮
a=55000;
while(a--);
pw=1;
a=55000;
while(a--);
pw=0;
P0=0xff;
P0=0xbf;
a=55000;
while(a--);
pw=1;
a=55000;
while(a--);
pw=0;
P0=0xff;
P0=0xdf;
a=55000;
while(a--);
pw=1;
a=55000;
while(a--);
pw=0;
P0=0xff;
wei=0;
P0=0xef;
a=55000;
while(a--);
pw=1;
a=55000;
while(a--);
pw=0;
P0=0xff;
P0=0xf7;
a=55000;
while(a--);
pw=1;
a=55000;
while(a--);
pw=0;
P0=0xff;
P0=0xfb;
a=55000;
while(a--);
pw=1;
a=55000;
while(a--);
pw=0;
P0=0xff;
P0=0xfd;
a=55000;
while(a--);
pw=1;
a=55000;
while(a--);
pw=0;
P0=0xff;
P0=0xfe;
a=55000;
while(a--);
pw=1;
a=55000;
while(a--);
}
}
}
不懂得用其他的函数来设计,所以只能递减实现。 |