ondalıklı sayıları lcd de gösterme

Başlatan erdinch, 28 Nisan 2007, 15:36:33

erdinch

merhabalar.ccs forumunu uzunca araştırmama rağmen sorunuma bir çözüm bulamadım.

5 V luk refereans gerilimi olan 8 bitlik adc den aldığım gerilim değerini lcd ye yazdırmak istiyorum.

fakat bu sistemi bir voltmetre gibi düşünürsek;

okunan değer=8 bitlik değer / 51  

gibi bir formul elde ediyorum.

tam sayıları yazdırmakta sorun çekmeme rağmen adc değeri 127 olduğu zaman, yani okunan değer yaklaşık 2.5 v olduğu zaman lcd ye veriyi aktardığımda yuvarlıyor ve 2v olarak yazdırıyor.

okunan değer değişkenini float olarak tanımladım fakat yine bir sonuç elde  edemedim.

bu sorunumu aşmamda yardımcı olacak arkadaşlara şimdiden teşekkürler, iyi çalışmalar.

cuneytsezmis1

adc yi aktardığın değişkeni ve aritmetik işlemden sonra çıkan sonucu da float olarak tanımlayıp öyle deneyiver.kolay gelsin

MICROCEBEL

okunan değeri float olarak yada double olarak tanımla ozaman olur.

sitenindelisi

Değişkeni float tanımlamanız yeterli olmayıp, fonksiyonda değerin nasıl gösterilmesini istediğinizi de belirtmelisiniz.

"%2.2F"

gibi.

Sanırım, noktadan sonra kaç basamak gösterileceğini belirtmiyorsunuz.

erdinch

8 bitlik adc kullandığım için okunan değeri integer olarak tanımladım.daha sonra lcd ye yazdırılacak sonuc değişkeni float olarak tanımladım.

int okunan;
float sonuc;

sonuc=okunan;

printf(lcd_putc, "%3.2f" ,sonuc);      

(%3.2F  3 hane 2 ondalıklı gösterim)


şeklinde programı yazarak sorunu halledebildim.ilgilenen arkadaşlara çokteşekkürler.