Zdravím. Moja otázka je skôr pre programátorov ako pre elektrikárov. Chcem vytvoriť jednoduchý voltmeter pomocou ATmegi8 s výstupom na znakový LCD. Programujem v C-ečku. Rozsah ma byť od 0 do 5V, takže hodnotu z ADC registra mi treba premeniť na znaky, ktoré potom pošlem na LCD. Aby som dosiahol výsledne napätie, používam vzorec s datasheetu:
V = ADC * Vref / 1024
Vref = 5V. Hodnoty z registrov ADCL a ADCH som vložil do premennej typu int. Vynásobím to 5-kou a následne vydelím 1024. Vide mi cele číslo tzv. hodnota napätia vo voltoch, ktoru potom pošlem na LCD.
Ako dostanem zvyšné desatinne hodnoty napätia? Premenne typu float nechcem použivať, lebo výsledný kód je príliš veľký. Podobný problém som videl vyriešený pomocou funkcie modulo, ale mne to vždy vypisuje chybné hodnoty.
Ďakujem za pomoc.
administrator: přesunuto z "Elektronika s mikrokontroléry, procesory"
administrator: přejmenováno z "ATmega8 voltmeter, ADC prevod na znaky"