www.mikrocontroller.net

Forum: Projekte & Code AD-Wandler mit T89C51CC01


Autor: Peter Dannegger (peda)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ein Beispiel zum ADC des T89C51CC01.

Es wird das IDLE-Bit gesetzt, d.h. die CPU wird während der Wandlung 
angehalten bis der ADC-Interrupt ausgeführt wird. Der macht dann nichts 
weiter als, alle Flags zurückzusetzen.
Danach wird der Wert ausgelesen und im RAM abgespeichert.

Die Werte nicht allerdings nicht sonderlich stabil. Aber das scheint ein 
Problem aller Mikrokontroller mit internem ADC zu sein.

Deshalb wird noch ein Tiefpas 1. Ordnung in Software realisiert:

Wert = Wert - Wert / 16 + (ADDL & 3) + ADDH * 4


Die Routine adc_conversion() wird zyklisch im Main aufgerufen und die 
einzelnen Werte in adc_input[] als 16-Bit Wert abgespeichert.

Durch den Tiefpas wird die Summe über 16 Meßwerte gebildet, d.h. um den 
eigentlichen Wert zu erhalten, muß noch durch 16 geteilt werden.


Peter

Autor: Peter Dannegger (peda)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch das nötige H-File.

Autor: Peter Dannegger (peda)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und hier das daraus erzeugte Assembler-Listing.

Autor: Dominik Robitza (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr geehrter Kollege!
Ich breuchte für meine Klasse ein Vorführbeispiel zur Ansteuerung eines 
AD-Wandlers mit einer Abtastfrequenz von 8 kHz. Diese wird benötigt da 
ein Mikrofonanschluss an einer selbgebauten Platine(µ-Willi) simuliert 
werden soll!Wäre ihnen sehr dankbar wenn sie einen Sorcecode schreiben 
könnten und mir diesen auf meine E-Mail schicken könnten!
Mit besten Dank Prof.Dominik Robitza

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Dominik,

also nach meiner Meinung ist dieses Forum doch eher als Ideenschmiede 
gedacht.

D.h. auf Problemstellungen gibt es Hinweise, in welcher Richtung die 
Lösung liegen könte, bzw. Kodefragmente die bei der eigenen 
Programmierarbeit bereits angefallen sind und in die Richtung gehen.
Die Hauptarbeit muß also jeder schon selber machen.


Wenn einer aber eine extra Entwicklungsleistung wünscht, muß er auch 
dafür löhnen. Und da gibts bestimmt genügend andere Webseiten, wo 
Programmierer Ihre Dienstleistungen anbieten.

Insbesondere muß er genau spezifizieren, was er eigentlich will 
(Pflichtenheft). Sowas wie "das soll auf ner Willibilli laufen" reicht 
da lange nicht.


Peter

Autor: Student der Mechatronik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Recht so.

Da ist "Dominik" ein Prof. und kann selbst keinen "einfachen" Code für 
seinen Unterricht entwickeln??

Was sollen seine Studenten dann lernen (bzw. von wem gelehrt bekommen)?

Bei dem Gahalt kann er sicherlich das gesuchte Programm entwickeln 
lassen.

Am besten die Software kostenlos und das bereits gestern. Dieses 
Verhalten erwarte ich nicht wirklich von einem Professor.

Autor: Michael Knoelke (Firma: Knoelke Elektronik) (knoelke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fast 13 Jahre später ...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.