logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Bascom] ADC i wyświetlanie wyniku z 2 cyframi po przecinku

MES Mariusz 19 Cze 2010 18:11 2265 2
REKLAMA
  • #1 8207255
    MES Mariusz
    Poziom 36  
    Witam.

    Chciałbym skonsultować sposób realizacji wyświetlenia wyniku z ADC w postaci liczby z dwoma miejscami po przecinku.

    Maksymalna wartość z 10 bitowego ADC to 1023 które odpowiada napięciu równemu 20V.

    Rozwiązanie jakie mi się nasuwa aby uzyskać wynik z dwiema cyframi po przecinku to pomnożenie wyniku przez 100 a następnie rozbicie liczby na 3 bajty / cyfry (cyfra setek, cyfra dziesiątek i cyfra jedności) oraz wyświetlenie na LCD:

    cyfra_setek ; "." ; czyfra_dziesiatek ; cyfra_jednosci.

    Czyli dla max wartości 1023 odpowiadającej 20V mamy 2000V i wyświetlamy 20.00V.

    Ale to nie koniec problemów. Pytanie jak przełożyć skalę 0...1023 na 0...20. Oczywiście można z proporcji, że skoro wiemy, że 1023 to 20 wówczas możemy obliczyć napięcie dla pojedynczego poziomu. Oczywiście będzie to 0,0195...V I znowu mamy do czynienia z liczbą rzeczywistą z pewną ilością miejsc po przecinku.

    W związku z tym żeby nie siedzieć nad tym zbyt długo (a może nie wyważać otwartych drzwi?) postanowiłem skonsultować temat na forum. Może wystarczy jakiś trik - operacja na wyświetlaczu LCD? Robił ktoś coś takiego i podzieli się doświadczeniem?

    Z góry serdeczne dzięki.
  • REKLAMA
  • #2 8207358
    kuuczoo
    Poziom 26  
    Najprościej zrobić to tak:
    wyliczasz napięcie z proporcji, ale nie do 20 tylko do 2000. Następnie dzielisz to przez 100 a wynik zapisujesz do liczby całkowitej - masz to co przed przecinkiem. Potem mnożysz to przez 100 i odejmujesz od pierwotnego napięcia - masz to co po przecinku. Wyświetlasz tak jak napisałeś. LCD przed_przecinkiem;",";po_przecinku;
  • Pomocny post
    #3 8207470
    Konto nie istnieje
    Poziom 1  
REKLAMA