数码管的小数点为何不亮

2020-01-30 14:05发布

本帖最后由 xutiemu 于 2013-3-12 11:23 编辑

数码管是共阳极的,除了小数点都显示正常,难道有什么玄机?

代码是在51上玩的,如下:

。。。。
。。。。
while(1)
{

                                                  DataPort=WeiMa[0];               
                        LATCH2=1;
                    LATCH2=0;                                               //位选
            DataPort=DuanMa[time_buf[4]/16];                          
            LATCH1=1;     
                        LATCH1=0;                                                                       
                        DelayMs(1);                            
                                               
                        DataPort=WeiMa[1];
                    LATCH2=1;
                        LATCH2=0;
                    DataPort=DuanMa[time_buf[4]%16]&0x7f;                  //段码,&0x07,用于点亮小数点啦,可惜没有现象                                       
                        LATCH1=1;
                        LATCH1=0;
                        DelayMs(1);
                       

                        DataPort=WeiMa[2];
                        LATCH2=1;
                        LATCH2=0;
                    DataPort=DuanMa[time_buf[5]/16];                       
                        LATCH1=1;
                        LATCH1=0;
                        DelayMs(1);             
                                               
                       
                        DataPort=WeiMa[3];
                    LATCH2=1;
                        LATCH2=0;
                        DataPort=DuanMa[time_buf[5]%16]&0x7f;
                        LATCH1=1;
                        LATCH1=0;                               
                        DelayMs(1);

                    DataPort=WeiMa[4];
                        LATCH2=1;
                        LATCH2=0;
                        DataPort=DuanMa[time_buf[6]/16];                       
                        LATCH1=1;
                        LATCH1=0;                                               
                        DelayMs(1);

                        DataPort=WeiMa[5];
                    LATCH2=1;
                        LATCH2=0;
                        DataPort=DuanMa[time_buf[6]%16];                       
                        LATCH1=1;
                        LATCH1=0;                                               



}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
6K6K
1楼-- · 2020-01-30 18:40
没什么玄机,你先拿万用表测一下数码管比较靠谱。有些数码管的小数点就没有led
snoopyzz
2楼-- · 2020-01-30 23:01
 精彩回答 2  元偷偷看……
xutiemu
3楼-- · 2020-01-31 03:41
6K6K 发表于 2013-3-12 11:30
没什么玄机,你先拿万用表测一下数码管比较靠谱。有些数码管的小数点就没有led ...

小数点是亮的,我拿万用表侧过了,并且代码中如果如果只操作一个数码管则没有问题!!!锁存器之类的也都正常,但是有个问题,就是虽然&0x07,然后把段码一起所存的,但是小数点好像滞后了好多,所以一旦动态扫描的时候就来不及显示Dp了。这我就更不解了。
xutiemu
4楼-- · 2020-01-31 08:01
snoopyzz 发表于 2013-3-12 11:32
吐血....&0x7f了还想亮吗?

一般0x80是小数点...不过有的数码管天生小数亮是不会亮的,是摆设 ...

我的是共阳。
lcw_swust
5楼-- · 2020-01-31 08:37
楼主的位选为什么是那种写法呢?
LATCH2=1;
LATCH2=0;  
。。。
LATCH1=1;     
LATCH1=0;   
。。。
xutiemu
6楼-- · 2020-01-31 08:53
lcw_swust 发表于 2013-3-12 11:41
楼主的位选为什么是那种写法呢?
LATCH2=1;
LATCH2=0;  

位选注释上边是位选,下面是段码,出问题的是第二段,所以简单注释了一下。

一周热门 更多>