单片机C语言程序设计实训100例里的第七题8只数码管滚动显示单个数字c语言设计

2025-02-24 14:31:02
推荐回答(1个)
回答1:

把主函数改成这样:

void main()
{
uchar i,j,k=0x80;
while(1)
{
for(i=8;i>0;i--)
{

for(j=250;j>0;j--)

{
P2=0xff;
P0=DSY_CODE[8-i];
P2=k;
DelayMS(3);
}
}

k=_crol_(k,1);
}
}

补充:

你要是想从左到右依次显示0到7,并且依次一个一个的显示过去,那你只需要改你一个数组里的内容就OK了。

uchar code DSY_CODE[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
};

具体怎么改要看你电路是怎么接的,就是任意时刻只让一个发光管点亮,很明显,你上面的这个数组里的数据估计不能完成你所要的功能,我也没法知道你的电路,你要按你的电路去改这个数组的内容,就是任意一个数同时只让八个数码管其中一个点亮就OK了,至于细节,还是你自己慢慢试,印象深些。呵呵。