上一章用静态显示1234.5,无需循环语句 比较简单,这次用动态显示01234567
直接给参考程序:使用Keil uVision5编程,Proteus 8 Professional进行仿真。
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(uchar x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
void main()
{
uchar i,j,w=0x80;
while(1)
{
for(i=0;i<8;i++)
{
for(j=0;j<7;j++)
{
P2=0x00;
w=_cror_(w,1) ;
}
P0=DSY_CODE[i]; //发送段码
P2=w ; //发送位码
delay(1);
}
}
}