Analogwertverarbeitung mit 517A

Gast #315687
Lesenswert?
• ▲
▼
Hallo Ich möchte mit einem 83c517a Analogwerte einlesen und beliebig
verarbeiten. Wie muss ich das Hardwaretechnisch realisieren.
Die Spannung bekomme ich z.B mit einen Spannungsteiler auf 0V bis 5V.
Wird jetzt einfach GND mit dem analogen GND des µC verbunden und die
zu messende Spannung mit einem der Analogeingänge(z.B. A0). Wie ist das
mit dem Eingang der Referenzspannung, was muss da dran?
Ich habe folgende Funktion zum testen, aber so richtig haut das noch
nicht hin.(siehe unten)
Ich bekomme nach jeden Aufruf verschiedene Werte zurück, obwohl ich am
Analogeingang ca. 2V anliegen habe(Die Werte schwanken zwischen 3 und
1000).
Vielen Dank schonmal

int aduwert(char kanal)
{
ADCON1=kanal;
ADDATL = 0; /* ADU starten */
while(BSY);
return((ADDATL>>6)+ADDATH*4);
} void main(void)
{
int x; x=(int)aduwert(0);
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.