stm32驱动4位数码管不能动态显示?

2019-07-21 03:25发布

最近在写一个4位数码管的程序,目前可以正确显示1122 1212这种,但是如果我想切换显示这两个数字,就不行,要么是全亮,4个8了,要么是快速切换,我想弄一个0到9999的现象,每个数都可以显示,但是放到一起,用for循环做,就不行。
模块是骑飞的4位数码管模块,2个74HC595级联,驱动4位数码管,谢谢
我会把文件传上来,希望帮我看一下,谢谢
int main(void)
{
        uint16_t i=0;
        hc595_init();
        DelayInit();
//        display2(2121);


        while(1) {
       

                if(SW1_ON==0)
//这个函数的作用是让4位数码管显示这四位数,这个练习是按住按键,显示2121,松开后显示1010,可以做到。但是如果想自动切换,比如从0000到9999,就会乱,现实不清楚
                display2(2121);
                else
                        display2(1010);

               

               
//                display(0x01,data[0]);
//                for(i=0;i<3;i++)
//                {
//                        display(0x02,data);
//                }

                       
               
       
        }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
03零三邓何芯桃
1楼-- · 2019-07-21 08:29
 精彩回答 2  元偷偷看……
继世传闻
2楼-- · 2019-07-21 13:46
加延时,数字没显示后面加个延时100Ms以上
peng1554
3楼-- · 2019-07-21 17:21
帮顶~~
伊森亨特
4楼-- · 2019-07-21 22:05
继世传闻 发表于 2019-4-4 17:28
加延时,数字没显示后面加个延时100Ms以上

显示每个数字后加100ms?试过啊,这样的话就是 一个字一个字的出现了,比如就是 1122  显示1 1 2 2,看不出来是一个四位数字了。可能还是点亮的程序写的有问题吧

一周热门 更多>