void change(unsigned long temp) { uchar i; serial_buff[4]=10; //小数点 for(i=1;i<8;i++) { if(i==4)continue; //跳过小数点的位置 if(temp!=0) { serial_buff[8-i]=temp%10; temp/=10; } else { serial_buff[8-i]=0; } } if(serial_buff[1]==0) { serial_buff[1]=12; //空格 if(serial_buff[2]==0) { serial_buff[2]=12; //空格 } } }
void display_Pi() { //unsigned int Pi; float pow; //int value; unsigned char i; //Pi=read7896(); //pow=Pi*AD_Loop_PickVol_PER;//AD采集数值 pow=VariablePi*AD_Loop_PickVol_PER;//AD采集数值 // pow=VariableVl*AD_Loop_PickVol_PER;//AD采集数值 // value = pow * 100 + (value > 0 ? 0.5 : -0.5); //大于0加0.5, 小于0减0.5 if(pow>=1) { change(pow*1e3); draw_bmp(104,1,8,num[12]);//显示" " } else if(pow>=1e-3) { change(pow*1e6); draw_bmp(104,1,8,ELAPHT[11]);//显示"m" } else if(pow>=1e-6) { change(pow*1e9); //将前面的3位结果放到后面 serial_buff[7]=serial_buff[3]; serial_buff[6]=serial_buff[2]; serial_buff[5]=serial_buff[1]; //前面4位改为空格 for(i=1;i<5;i++)serial_buff=12; draw_bmp(104,1,8,ELAPHT[10]);//显示"u" } else { change(0); for(i=1;i<7;i++)serial_buff=12; draw_bmp(104,1,8,ELAPHT[10]);//显示"u" } //显示读数 for(i = 1; i <8; i++) { draw_bmp(32+i*8,1,8,num[serial_buff]]); } draw_bmp(8,1,8,num[15]);//显示":" draw_bmp(0,1,8,ELAPHT[13]);//显示"Pi" draw_bmp(112,1,8,ELAPHT[12]);//显示"W" } |