按你的意思不用接74HC573,数码管可直接接P2与P3口,代码如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
//段码表 注意:是共阳数码管
uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//位码表
uchar code wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
//延时
void delay_mS(uint x)
{
uchar t;
while(x--) for(t=0;t<120;t++);
}
void main()
{
uchar i,j;
while(1)
{
for(j=0;j<8;j++)
{
P2=0x00;
P2=duan[j]; //发送段码
P3=wei[j]; //发送位码
delay_mS(100); //将动态时间延长就是你要的效果
}
}
} |