Forum: Mikrocontroller und Digitale Elektronik 90LS8535 AD-Wandler


von Harald (Gast)


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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Was heißt "funktioniert nicht"?

von Harald (Gast)


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ß

von Gerhard Fischer (Gast)


Lesenswert?

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

Gruß
Gerhard

von Harald (Gast)


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ß

von Toto (Gast)


Angehängte Dateien:

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

von Harald (Gast)


Lesenswert?

Hallo

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

Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.