刚学单片机半个月,可不是学生哦,现在在学数码管显示部分,前两天做好了数字钟,用C写的(我对C比汇编懂)。现在有一个问题,比如给一个变量赋值a=546892(随便6位数,用的是6位数码管),在数码管上如何才能显示出来啊?我试了一下,假使用dis_buf[4]=(a/100000)%10 dis_buf[3]=(a/10000)%10......dia_buf[0]=a%10,这种方法试过不行,想想看,作为变量a最大才到FF(即255),如果再定义3个变量把a的六位数分割成高、中、低位分别送到I/O口是可以实现的。我觉得再定义三个辅助变量有点累赘,请问老师们还有没有别的更简单的方法,是否要用到十进制转换成BCD码,具体怎么实现,我对BCD使用不是很了解,请老师们明示。 先谢谢各位了。 |