Witam mam pewien problem a mianowicie chce zrobić prosty miernik napięcia akumulatorów do 3.5V.Ustawiłem napięcie referencyjne wew w atmedze 8 i na wejście przetwornika wew ADC podaje napięcia od 0-3.5V jednak ciągle mi sie wyświetla napięcie 2.55 lub 0...co jest nie tak?
'Program obsługi wbudowanego w mikrokontroler
'10-bitowego przetwornika A/C
$regfile = "m8def.dat" 'informuje kompilator o pliku
'dyrektyw mikrokontrolera
$crystal = 8000000 'informuje kompilator
'o częstotliwości oscylatora
'taktującego mikrokontroler
Config Lcd = 16 * 2 'konfiguracja typu wyświetlacza
'LCD $regfile = "m8def.DAT"
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portd.7 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
'konfiguracja linii
'mikrokontrolera, do których
'dołączono wyświetlacz
'LCD
Config Adc = Single , Prescaler = Auto , Reference = Internal 'konfiguracja wewnętrznego
'przetwornika A/C
Dim Wart_ac As Word 'zmienna na wartość odczytaną
'z przetwornika
Dim V As Single 'zmienna przechowująca obliczoną
'wartość zmierzonego napięcia
Dim Wart_nap As String * 3 'zmienna, do której wpisywana
'zostaje przetworzona wartość
'zmiennej V na tekst
Start Adc 'uruchamia wbudowany przetwornik
Do 'początek pętli programu
Wart_ac = Getadc(1) 'odczytanie wartości z wejścia
'ADC1 mikrokontrolera
Cls 'czyszczenie LCD
Lcd Wart_ac 'wyświetlenie w pierwszej linii
'Lcd odczytanej wartości
'z przetwornika
Lowerline 'kursor do drugiej linii LCD
V = Wart_ac * 0.0025 'zamiana odczytanej wartości
'z A/C na napięcie
'Wart_ac * ok. 4,8 mV
Wart_nap = Fusing(v , "#.&&") 'formatowanie wartości zmiennej
'V do do formatu x.xx i zamiana
'tej wartości na postać tekstową
Lcd Wart_nap 'wyświetlenie obliczonej
'wartości Wart_nap w drugiej
'linii LCD
Waitms 100 'opóźnienie 100 ms
Loop 'koniec pętli Do...Loop
End