最近在写一个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);
// }
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
显示每个数字后加100ms?试过啊,这样的话就是 一个字一个字的出现了,比如就是 1122 显示1 1 2 2,看不出来是一个四位数字了。可能还是点亮的程序写的有问题吧
一周热门 更多>