第7课 数码管动态显示
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
main函数内的意思num从1开始,一直加到6,然后不断的循环 (程序为for(num=1;num<7;num++),当num=1时,先打开第一位数码管,再让第一位数码管显示1(程序P0=table[num],即P0=table[1]),然后进行1s的延时(程序为delay(1000);)。紧接着当num=2时,打开第二位数码管,并让其显示2,延时1s……,一直到num=6时,打开第六位数码管,并让其显示6,延时1s,再重复前的的程序。这个我们就可以在实验板上看到数码管从第一位开始依次以1s的时间间隔依次显示123456.
下面的程序下载到实验板现象如图4所示。
![](http://m.amcfsurvey.com/editerupload/fetch/20161101/324298_3_0.jpg)
图4数码管依次显示123456
现在我们把延时程序缩短(注意上面是延时1s,依次100ms 10ms 1ms ….一直到10us,然后把每次改后的程序下载到实验板,.当短到10us时,可看到如下现象:
评论