标题:
求问大家移动的单片机动态显示为啥不行?
[打印本页]
作者:
鲸落南北炁
时间:
2020-6-23 19:37
标题:
求问大家移动的单片机动态显示为啥不行?
#include<reg51.h>
void delay (unsigned int x)
{
while(x--);
}
void zhixing()
{
unsigned char i,j,k;
unsigned char code deng[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x6f,0x6f,0x6f,0x3f,0x6d,0x3f,0x6f,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
unsigned char code kong[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
for(i=0;i<15;i++)
for(j=0;j<10;j++)
for(k=0;k<8;k++)
{
P2=kong[k];
P1=deng[i+k];
delay(1);
P2=0xff;
}
}
void main()
{
while(1)
{
zhixing();
}
}51单片机,共阴数码管
这个程序是8个数码管显示第一个显示1,然后前两个显示19。以此类推,到显示完19990509,最后再最后一个显示9,完成循环。
本人新手,求各位指点
作者:
ksvhxd
时间:
2020-6-23 21:47
1、显示时延太小,数码管还没来得及点亮,就被P2=0xff;给关了,可将delay(1);改为delay(255);试试
作者:
鲸落南北炁
时间:
2020-6-24 08:38
ksvhxd 发表于 2020-6-23 21:47
1、显示时延太小,数码管还没来得及点亮,就被P2=0xff;给关了,可将delay(1);改为delay(255);试试
谢谢大佬,已经成功了。谢谢。
作者:
鲸落南北炁
时间:
2020-6-24 08:42
ksvhxd 发表于 2020-6-23 21:47
1、显示时延太小,数码管还没来得及点亮,就被P2=0xff;给关了,可将delay(1);改为delay(255);试试
谢谢大佬,已经成功了,谢谢
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1