我是用1602作为lcd显示器件,要显示浮点型诸如XX.XXXX,想先利用sprintf()函数转换,完了一并显示
主函数里: float temperature;
char displaytemp[16];
temperature=(float)i*0.625; //假设要显示的数值
sprintf(displaytemp,"JUST: %4.2f C",temperature);//带格式的输出
ShowString(0,1,displaytemp); //显示不出来是什么问题??
printf(displaytemp); //可是串口上位机能够很明显显示!!
i++;
底层函数:
void Write_LCD_Data(unsigned char dat) //显示单个字符{
delay_ms(2);
RS=1;
RW=0;
EN=0;
DATAOUT(dat);
EN=1;
delay_us(2);
EN=0;
}
void ShowString(unsigned char x,unsigned char y,char *str) //显示字符串
{
if(y==0)
Write_LCD_Command(0x80|x);
if(y==1)
Write_LCD_Command(0xC0|x);
while(*str!='\0')
{
Write_LCD_Data(*str++);
}
}
请各位大大帮忙看一下?还有你们都是如何处理要显示的数值呀?
|