| 液晶显示数据的小小技巧:(主要针对液晶显示浮点型数据)     我们在使用液晶屏的时候,无论是1602/12864、NOKIA、J2004A还是其他的,常常遇到需要显示一个变量(尤其是小数),那么显示变量又有一些小小的技巧,这里把我的一些使用方法,给新手介绍一下,欢迎新人学习,更加欢迎高手拍砖(但不能总是拍,得让我知道为什么被拍) 
 (1)首先,我们需要先做一些预备知识:如何进行四舍五入: float temp = 2.376 ;
     我们需要保留两位小数,也就是2.38(四舍五入后的结果)     在程序中,我们只需要一句话:temp = (unsigned int)((temp*100)+0.5) / 100 ;就完成了这个功能,得到的结果就是2.38(不信可以试试看额) 
     (2)液晶如何显示小数     使用以下代码: 
 #include    #include    void main(void)   {       float a = 182.376 ;       lcd1602Init();       lcd1602WriteCommand(0X0C);       /*显示原来的数字,非重点*/       lcd1602AddressWriteByte(LCD1602_ROW0,0,((unsigned long)a)%1000/100+'0') ;       lcd1602AddressWriteByte(LCD1602_ROW0,1,((unsigned long)a)%100/10+'0') ;       lcd1602AddressWriteByte(LCD1602_ROW0,2,((unsigned long)a)%10+'0') ;       lcd1602AddressWriteByte(LCD1602_ROW0,3,'.') ;       lcd1602AddressWriteByte(LCD1602_ROW0,4,(unsigned long)(a*10)%10+'0') ;       lcd1602AddressWriteByte(LCD1602_ROW0,5,(unsigned long )(a*100)%10+'0') ;       lcd1602AddressWriteByte(LCD1602_ROW0,6,(unsigned long )(a*1000)%10+'0') ;       lcd1602AddressWriteByte(LCD1602_ROW0,8,0x7e) ;       /*重点部分*/   
     /*显示,百位这里我一直最高是百位,所以没有判断更加位,实际操作时,应该添加其他机制,使其更加智能*/       lcd1602AddressWriteByte(LCD1602_ROW0,10,((unsigned long)a)%1000/100+'0') ;       /*显示十位*/       lcd1602AddressWriteByte(LCD1602_ROW0,11,((unsigned long)a)%100/10+'0') ;       /*显示各位*/       lcd1602AddressWriteByte(LCD1602_ROW0,12,((unsigned long)a)%10+'0') ;       /*显示小数点*/       lcd1602AddressWriteByte(LCD1602_ROW0,13,'.') ;       /*显示小数点后第一位*/       lcd1602AddressWriteByte(LCD1602_ROW0,14,(unsigned long)(a*10)%10+'0') ;       /*显示小数点后第二位,此时需要四舍五入计算*/       lcd1602AddressWriteByte(LCD1602_ROW0,15,(unsigned long )(a*100+0.5)%10+'0') ;   
     lcd1602AddressWriteString(LCD1602_ROW1,0,"QQ:279729201") ;   
     while(1);   }  
 
 |