AD-Wandler

Gast #31458
Hi,
habe ein Programm geschrieben welches einen AD-Wandlereingang des 
ATmega128 einliest. Das Wandlerergebnis wird laut Datenblatt mit einer 
Genauigkeit von 10bit in den Registern ADCH und ADCL des Prozessors 
abgelegt. Den Inhalt dieser Register kann ich mir auf einem Grafik-LCD 
(EA-Ge240) anzeigen lassen, aber eben nur als Binärzahl wie z.B. 
0000001111111111. Um daraus eine Spannung zu berechnen muß ich dieses 
Ergebnis mit Vref multiplizieren und durch 1024 dividieren und alles mit 
16-bit Rechenoperationen sowie das Ergebnis so umwandeln, daß ich es 
über USART0 als Charakterfolge an das LCD übertragen kann. Bloß wie muß 
jetzt genau vorgehen ? Hat vielleicht jemand schon fertige Routinen in C 
z.B. für 16-Bit Multiplikation /Division?
Benutze den C-Compiler von Codevision. Bin für jeden Hinweis dankbar ...
Gast
Die Multiplikation/Division sollte doch kein Problem sein, oder? Arbeite 
aber mit long-Variablen, nach der Division kannst du wieder ins int 
(16bit)-Format wechseln.
Zum Display: es gibt die Funktion sprintf(), arbeitet im Prinzip genauso 
wie printf(), erzeugt aber einen String im RAM. Den kannst du 
anschließend mit lcd_puts() ans LCD schicken.

Bsp:
A2D=read_adc(channel);
sprintf (buffer,"%7d",A2D);
lcd_gotoxy(0,0);
lcd_puts (buffer);

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.