mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 90LS8535 AD-Wandler


Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Neuling kommt nicht weiter.
Ich möchte am Eingang des ersten AD Wandler wandeln und auf Port B
übertragen.
Zum Test habe ich nur die unteren Bits zur Übertragung hergenommen.
Leider funktioniert mein Programm nicht.

Hier das Programm

;******************************************************
.include "8535def.inc"
  rjmp INIT ;INIT Handle
;******************************************************

INIT:
.def temp =r16

  cbi ADMUX, MUX0    ;Kanal
  cbi ADMUX, MUX1
  cbi ADMUX, MUX2

  sbi ADCSR, ADEN    ;AD enable

  ser temp
  out DDRB,temp    ;Set direction out


  sbi ADCSR, ADSC    ;Start AD
  ldi r16, 0x08
loop:  sbic ADCSR, ADSC  ;Weiter, wenn adsc is clear
  rjmp loop

  ldi r16, ADCL
  out PORTB, r16


rjmp INIT

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was heißt "funktioniert nicht"?

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Er bringt mir keinerlei Veränderung auf dem Port B.
Ich vermute ich habe ihrgendwas vergessen auf "Aktiv" zu schalten.
Den Interrupt nehme ich laut meiner Version nicht her.
Ich warte so lange, bis er mit der Messung fertig ist.

Gruß

Autor: Gerhard Fischer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du mußt die interen Referenzspannung einschalten.
Bit7 und Bit6 in ADMUX auf 1.

Gruß
Gerhard

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo danke für die Antwort


Ich habe im Datenblatt nachgeschaut.
Da sind die Bits 6 und 7 als reserviert und ohne Funktion
gekennzeichnet.
Sicher das das in ADMUX steht.
Ich habe allerdings nirgens was über die interne Referenzapannung
gelesen.


Gruß

Autor: Toto (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ich glaub du hast vergessen den Modus des ADC zu wählen.Interrupt
gesteuert oder "Free Running" Mode ich dein Programm mal um diese
Zeile ergänzt( die mit den Ausrufezeichen, aber bitte weglassen)

Ich hoffen das war der Fehler

mfG
 Toto

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Er mach leider immer noch nichts.
Der AVR selber läuft aber mit dem "Led" Programm tadellos

Gruß

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.