采用STM32接TM1650驱动共阴数码管, 程序在调试时其它一起正常, 但是有个问题困惑很久无法解决: 数值从0~9999增加,刚开始在千百十位不能显示“0”,随着数值增加,大于等于10时开始显示十位,大于等于100时显示百位,大于等于1000时显示千位,希望大神帮忙指点方法!!
void TM16_Display(unsigned int data) //显示函数,data为显示的数据,0-9999
{
static unsigned char TM16_Display_buf[11]={0x3F,0x6,0x5B,0x4F,0x66,0x6D,0x7D,0x7,0x7F,0x6F,0x00};
unsigned char ge,shi,bai,qian;
ge=data%10; // 求余
shi=(data/10)%10; //先除再求余
bai=(data/100)%10; //先除再求余
qian=(data/1000)%10; //先除再求余
TM16_Write_REG(0x6e,TM16_Display_buf[ge]); //写个位发送显示
TM16_Write_REG(0x6c,TM16_Display_buf[shi]); //写十位发送显示 |0x80可增加小数点
TM16_Write_REG(0x6a,TM16_Display_buf[bai]); //写百位发送显示 |0x80可增加小数点
TM16_Write_REG(0x68,TM16_Display_buf[qian]); //写千位发送显示 |0x80可增加小数点
}