请问如下程序AD转换值怎样分离个位十位百小数位谢谢! float voltage = 0.0; //uint V; float VCC = 4.99; //======== AD转换程序 ====================================== uint ADC(uchar Od) { uint AD_Result_Temp = 0 ; ADC_CONTR = ADC_CONTR|0x80; //1000,0000打开A/D转换电源 P1ASF = SET_IO[Od];// delayms(20); //20 ADC_CONTR = ADC_CONTR & 0xE0; //1110,0000 清ADC_FLAG,ADC_START位和低3位 ADC_CONTR = ADC_CONTR|((ADC_ID[Od])& 0x07); //设置当前通道号00000111 delayms(1); //延时使输入电压达到稳定 ADC_RES = 0; //STC12C5A16AD系列单片机_清A/D转换结果寄存器高八位 ADC_RESL = 0; //STC12C5A16AD系列单片机_清A/D转换结果寄存器低二位 ADC_CONTR = ADC_CONTR|0x08; //0000,1000ADCS = 1,启动转换 do { ; } while((ADC_CONTR & 0x10)==0); //0001,0000等待A/D转换结束 ADC_CONTR = ADC_CONTR&0xE7; //1110,0111清ADC_FLAG位,停止A/D转换 AD_Result_Temp = ((AD_Result_Temp|ADC_RES)<<2)|(ADC_RESL&0x03);//高八位+低二位 return AD_Result_Temp;//ADC_RES; } //====检测============================================ void PIS1() //0.6V~0.8V 0.7V +_ 0.1V { //VCC = 2.499 * 1024 / ADC(0); //先读取基准电压算出供电电压 voltage = ADC(1) * VCC / 1024; } 如果要将voltage 这个值用lcd显示出来应该怎样分离个位十位百。小数位呢?谢谢!
你这个是adc0804?
你这个是adc0804?
stc12c5a16ad
voltage本身是个浮点数请问怎样分离?谢谢!
/* Temperature data convert *
void TEMCONV()
{
if(TEM_DATA[1]>127)
{
TEM_DATA[0] = (~TEM_DATA[0])+1;
if((~TEM_DATA[0]) >= 0XFF)
TEM_DATA[1] = (~TEM_DATA[1])+1;
else TEM_DATA[1] = ~TEM_DATA[1];
TEM_SIGN = 1;
}
TEMP = TEM_DATA[0]&0X0F;
TEM_DIS[0] = (TEMP * 10/16);
TEMP = ((TEM_DATA[0]&0XF0 >> 4) | (TEM_DATA[1]&0X0F) << 4);
TEM_DIS[3] = TEMP/100;
TEMP = TEMP%100;
TEM_DIS[2] = TEMP/10;
TEM_DIS[1] = TEMP%10;
if(!TEM_DIS[3])
{
TEM_DIS[3] = 10;
if(!TEM_DIS[2])
{
TEM_DIS[2] = 10;
}
}
}
/* Display function *
void DISPLAY()
{
P2 = SEG_DATA[TEM_DIS[0]];
P0 = 0X0D; //小数点位
MSDELAY(10);
P2 = 0XFF;
P0 = 0X0F;
P2 = SEG_DATA[TEM_DIS[2]];
P0 = 0X0B; //十位
MSDELAY(10);
P2 = 0XFF;
P0 = 0X0F;
P2 = SEG_DATA[TEM_DIS[1]];
P0 = 0X0E; //个位
MSDELAY(10);
P2 = 0XFF;
P0 = 0X0F;
P2 = 0X7F;
P0 = 0X0E; //小数点
MSDELAY(10);
P2 = 0XFF;
P0 = 0X0F;
P2 = SEG_DATA[TEM_DIS[3]];
P0 = 0X07; //百位
MSDELAY(10);
P2 = 0XFF;
P0 = 0X0F;
}
这是我的温度数值转换,你看看
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |