12864液晶显示整数很简单,但怎么显示小数呢?
下面是我的一段程序://显示三位整数,两位小数
void showfloat(unsigned int address,float x) /////////////浮点数液晶显示
{
unsigned int a[5];
unsigned int i,j,dotflag;
long temp;
j=10000;
dotflag=0;
temp=x*100;
for(i=0;i<5;i++)////////把数存进数组里
{
a[i]=temp/j;
temp=temp-a[i]*j;
j=j/10;
}
WriteCommand(0x30);
WriteCommand(AC_TABLE[address]);//////液晶显示方法,不用理会
for(i=0;i<5;i++)
{
if(a[i]==0); ///////整数位是否为0
else
dotflag=1;
if(dotflag==1||i>=2) ////////全为零的话只有最后一个显示出来
WriteData(0x30+a[i]);
if(i==2) /////////////小数点显示
WriteData('.');
}
}
程序的问题是:
问什么这个方法显示的数必须小于65536呢,我用的是float 的类型啊。
跪求大侠帮忙,急。 |