-         
+ Antworten
Ergebnis 1 bis 4 von 4

Thema: ADC, wie lese ich ihn aus?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    02.12.2003
    Ort
    Hagen
    Alter
    58
    Beiträge
    83

    ADC, wie lese ich ihn aus?

    Hi,

    Ich brauche mal die Hilfe eines AVR-Nutzers.

    Ich versuche einen ADC anzusprechen, wobei ich ein Prog aus dem I-Netz nutze. Eigentlich sollte es einfach sein, aber irgendwo harkt es.
    Ich bekomme keinen Wert der ADC-Wandlung auf den LEDS von Port D angezeigt.Immer sind alle an, egal ob ich auf Masse lege oder irgendeine Spannung z.b. 0.5V anlege. Die LEDs sind gegen 5V gelegt. Anbei das Ass-Prog,achja ein ATmega8L ist es.
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Code:
    .include "m8def.inc"
    
    .org 0x0000
    
    	rjmp reset
     
    reset:
    	ldi r16, low(RAMEND)
    	out SPL, r16
    	ldi r16, high(RAMEND)
    	out SPH, r16
     
    	ldi r16, 0xFF
    	out DDRD, r16
    	ldi r16, 0b00100000
    	out ADMUX, r16
    	ldi r16, 0b11000101
    	out ADCSR, r16
    
    	ldi r16, 0b11110000
    	out PORTD, r16          
    
    loop:  
    	sbis ADCSRA, ADIF
    	rjmp loop
    
    	in r16, ADCH
    
    	out PORTD, r16
    
    	ldi r16, 0b00100000
    	out ADMUX, r16
    	sbi ADCSRA, ADSC
    
    	rjmp loop
    probiers mal damit ( mal ohne Interrupts ) ... allerdings keine Gewähr das es stimmt....

    MfG Kjion

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    28
    Beiträge
    2.624
    Hey Claus!
    Kannste mir den Code mal schicken (email oder hier in deiesem Thread), wenn das ganze funktioniert?
    Ich beschäftige mich nämlich auch gerade damit und verstehe da das net ganz!


    Wie muss ich denn dann den Code für den AT90S4433 umändern?

    Danke!

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    02.12.2003
    Ort
    Hagen
    Alter
    58
    Beiträge
    83
    Hi,

    danke fuer die Hilfe.

    Es laeuft nun, sowohl single als auch free-run Modus mit Interrupt. Mein Fehler lag in dem nicht angeschlossenen Pin AVref. Nach setzen der Bits fuer AVcc ging alles super.

    Anbei 2 demos fuer die beiden Modi.

    p.s. alles in einer Datei.
    ich gebe die Daten der Wandlung an den Port D (adc0-adc7) und Port B
    (adc8-adc9) aus. Messkanal ist 0. Die Leds sind mit 1k gegen 5V gelegt.
    Angehängte Dateien Angehängte Dateien
    -> Gruss Claus <-

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •