关于51单片机同时点亮数码管的问题

2019-03-24 18:01发布

#include<reg52.h>
int t1[6]={0xfe,0xfd};
int t2[6]={0x6,0x5b};
void delay(int a)
{
    int x,y;
        for(x=a;x>0;x--)
          for(y=10;y>0;y--);
}
void main()
{
int i=0,j=500;
while(1)
{

   for(i=0;i<2;i++)
   {

         P2=t2[i];
         P3=t1[i];
         delay(j);
         
   }
    delay(j);
}


}


我想同时显示1,2;可是总是少一段,调节延时时间时也最多让那段少了的闪烁;
如果只显示1,或2时,正常。
菜鸟求解。
                                  

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
dj狂人
1楼-- · 2019-03-24 22:57
数码管一次只能显示一位,像平时我们看到四位数码管同时显示也是一次只显示一位,只不是一个位显示很短的一段时间然后显示下一位,以此循环,因它刷新的速度很快,由于余辉效应导致我们看到的是四个位一起显示。
dj狂人
2楼-- · 2019-03-25 04:41
 精彩回答 2  元偷偷看……
clx0824
3楼-- · 2019-03-25 05:43
dj狂人 发表于 2015-5-5 13:08
数码管一次只能显示一位,像平时我们看到四位数码管同时显示也是一次只显示一位,只不是一个位显示很短的一段时间然后显示下一位,以此循环,因它刷新的速度很快,由于余辉效应导致我们看到的是四个位一起显示。

我知道,每次只能显示一位,我们老师讲  通过视觉惰性,可以同时显示,就是延时很短。可是我做出来的效果不好,能解答否
clx0824
4楼-- · 2019-03-25 10:36
dj狂人 发表于 2015-5-5 13:16
楼主可以看下这个图

能不能帮我编个程序给我看看,就是同时显示1,2;我想看看我差在哪

dj狂人
5楼-- · 2019-03-25 16:10
 精彩回答 2  元偷偷看……
clx0824
6楼-- · 2019-03-25 19:38
dj狂人 发表于 2015-5-5 21:47
楼主把  P3=t1;放P2=t2;前试试 就


P3=t1;
P2=t2;

好了,非常感谢,不过,能说一下原因吗,很想知道

一周热门 更多>