TempL=TempL*6/10;//小数近似处理,这里改为*60就可以得到两位小数。
void handle_T()
{
uchar i;
str[0]=0x20;//显示为空
str[1]=tab[TempH/100]; //百位温度
str[2]=tab[(TempH%100)/10]; //十位温度
str[3]=tab[(TempH%100)%10]; //个位温度,带小数点
str[5]=tab[TempL];
这里需要增加一个小数的显示格式调整。
你的程序有问题,void handle_T()里的显示数据格式调整在读取温度之前,所以显示的都是前一次读取的温度值,另外显示的小数点在温度的小数位的后面,确定显示出来的内容没有问题吗
TempL=TempL*6/10;//小数近似处理,这里改为*60就可以得到两位小数。
void handle_T()
{
uchar i;
str[0]=0x20;//显示为空
str[1]=tab[TempH/100]; //百位温度
str[2]=tab[(TempH%100)/10]; //十位温度
str[3]=tab[(TempH%100)%10]; //个位温度,带小数点
str[5]=tab[TempL];
这里需要增加一个小数的显示格式调整。
你的程序有问题,void handle_T()里的显示数据格式调整在读取温度之前,所以显示的都是前一次读取的温度值,另外显示的小数点在温度的小数位的后面,确定显示出来的内容没有问题吗
1
举报