請問如下程序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.raoushi.com/bbs/) | Powered by Discuz! X3.1 |