#include
#include
#define uint unsigned int
#define uchar unsigned char
uchar code TAB[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d};
sbit dula=P3^6;
sbit wela=P3^7;
uchar i,temp,j;
void delay(uint z);
void main()
{
while(1)
{
temp=0xfe;//初始化显示位置
for(i=0;i<6;)
{
dula=1;
P0=TAB[i];
dula=0;
i++;
wela=1;
P0=temp;
temp=_crol_(temp,1);
wela=0;
delay(3);
P0=0x00;//proteus仿真中消隐要这样写。实物应该用P0=0xff;
}
}
}
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
与正常的比较,就是多一次锁存的操作