个位为什么闪烁?

[复制链接]
533|4
 楼主| guoyt 发表于 2017-7-7 22:39 | 显示全部楼层 |阅读模式
数码管显示999-0;个位为什么闪烁?如何改善?现附程序如下,请大神指点!!!!!!!!
sbit shi=P1^2;
sbit bai=P1^1;
unsigned int a,b,c, j;
#define uint unsigned int
void delay(uint x)
{
        for(a=x;a>0;a--)
                for(b=110;b>0;b--);
}
main()
{           while(1)
        {
               
               
                for(c=999;c>0;c--)
        
                        {
                            //delay(100);
                                   bai=0;
                                P0=shizhong[c/100] ;
                                delay(8);
                                P0=0xff;
                                bai=1;

                                  shi=0;
                                P0=shizhong[c%100/10] ;
                                delay(8);
                                P0=0xff;
                                shi=1;
               
                                ge=0;
                                P0=shizhong[c%10];
                                delay(24);
                                P0=0xff;
                            ge=1;
                        }

           

        }
}
wangpe 发表于 2017-7-7 22:41 | 显示全部楼层

P0=0xff; 都去掉,delay(8),小点,或去掉试试
langgq 发表于 2017-7-7 22:42 | 显示全部楼层

P0=0xff; 都去掉,delay(8),小点,不能去掉 不然可能有重影  你把晶振频率调大一点  让程序刷新的快一点
wangzsa 发表于 2017-7-7 22:44 | 显示全部楼层
sbit shi=P1^2;
sbit bai=P1^1;

#define uint unsigned int

void delay(uint x)
{
        unsigned int a,b;

        for(a=x;a>0;a--){
                for(b=110;b>0;b--){

                }
        }
}

void main(void)
{
        while(1)
        {
                U8 c2;
                int c1;

                for(c=999; c>=0; c--){
                        for(c2=0; c2<100; c2++){
                                //delay(100);
                                bai=0;
                                P0=shizhong[c/100] ;
                                delay(8);
                                P0=0xff;
                                bai=1;

                                shi=0;
                                P0=shizhong[c%100/10] ;
                                delay(8);
                                P0=0xff;
                                shi=1;

                                ge=0;
                                P0=shizhong[c%10];
                                delay(8);
                                P0=0xff;
                                ge=1;
                        }
                }
        }
}
 楼主| guoyt 发表于 2017-7-7 22:48 | 显示全部楼层
结贴了,多谢大家讨论这么多哈,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1018

主题

9067

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部