mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC Teil 2


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen bin am verzweifeln, ich will ja nur den ADC ansprechen,
aber an PORTC (dient zur Anzeige) tut sich nichts, ausser das alle leds
an den PortC leuchten (high pegel an PortC)

Wer kann mir helfen,

Vielen Dank


Peter

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry das wichtigste Vergessen,

.org 0x0000
 rjmp main ; Reset Handler
  .org INT0addr
 reti ; EXT_INT0 ; IRQ0 Handler
  .org INT1addr
 reti ;EXT_INT1 ; IRQ1 Handler
 .org INT2addr
 reti ;EXT_INT2 ; IRQ2 Handler
  .org OC2addr
 reti ;TIM2_COMP ; Timer2 Compare Handler
 .org OVF2addr
 reti ;TIM2_OVF ; Timer2 Overflow Handler
  .org ICP1addr
 reti ;TIM1_CAPT ; Timer1 Capture Handler
  .org OC1Aaddr
 reti ;TIM1_COMPA ; Timer1 CompareA Handler
  .org OC1Baddr
 reti ;TIM1_COMPB ; Timer1 CompareB Handler
 .org OVF1addr
 reti ;TIM1_OVF ; Timer1 Overflow Handler
  .org OC0addr
 reti ;TIM0_COMP ; Timer0 Compare Handler
  .org OVF0addr
 reti ;TIM0_OVF ; Timer0 Overflow Handler
  .org SPIaddr
 reti ;SPI_STC ; SPI Transfer Complete Handler
  .org URXCaddr
 reti ;USART_RXC ; USART RX Complete Handler
  .org UDREaddr
 reti ;USART_UDRE ; UDR Empty Handler
  .org UTXCaddr
 reti ;USART_TXC ; USART TX Complete Handler
  .org ADCCaddr
 rjmp ADC ; ADC Conversion Complete Handler
  .org ERDYaddr
 reti ;EE_RDY ; EEPROM Ready Handler
  .org ACIaddr
 reti ;ANA_COMP ; Analog Comparator Handler
  .org TWSIaddr
 reti ;TWI ; Two-wire Serial Interface Handler
  .org SPMRaddr
 reti ;SPM_RDY ; Store Program Memory Ready Handler


main:

    ;Initialisierung des Stack Pointers ->notwendig bei Interrupt
Sprüngen
       ldi   stack,LOW(RAMEND);Initiate Stackpointer
       out   SPL,stack ; wegen Interrupts und Unterprogr.
       ldi   stack,HIGH(RAMEND)
       out   SPH,stack
       ;Stackpointerinitialisierung ende

    ldi mp,0xff
    out DDRC,mp

    ldi mp,0x00
    out DDRA,mp

    ldi mp,0b00100011
    out ADMUX, mp
    ldi mp,0b11101101
    out ADCSR, mp

    sei

loop:     rjmp loop


ADC:     in ll,ADCH
    out PORTC,ll

    reti

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab jetzt noch versucht statt des High byte das low byte (ADCL)
auszugeben und tatsächlich er gibt die ersten beiden bits an der
Anzeige wieder. D.h die gesamten 10 bit sind mit 1 belegt.
Ich bin doch im Free running mode warum nimmt er keinen neuen Wert an
und aktualisiert somit den vorhandenen Wert?

Vielen Dank Peter

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab jetzt den Fehler wahrscheinlich gefunden
den ich habe bit 7 und bit 6 von ADMUX auf 0 gesetzt. Bei Änderung auf
den Wert 11 (bit,bit6) gibt er mir Werte zurück

Allerdings verstehe ich nicht genau die Bedeutung von Vref
Ich habe noch den entsprechenden Auszug aus der Spec hinzugefügt
Ich habe jetzt eine Referenzspannung von 2.7V ? Was heißt das?
Warum ging es nicht wenn sich abgeschalten war?

Fragen über Fragen,
Danke schon mal im Voraus

Peter




• Bit 7:6 – REFS1:0: Reference Selection Bits
These bits select the voltage reference for the ADC, as shown in Table
83. If these bits
are changed during a conversion, the change will not go in effect until
this conversion is
complete (ADIF in ADCSRA is set). The internal voltage reference
options may not be
used if an external reference voltage is being applied to the AREF
pin.
Table 83. Voltage Reference Selections for ADC
REFS1 REFS0 Voltage Reference Selection
0 0 AREF, Internal Vref turned off
0 1 AVCC with external capacitor at AREF pin
1 0 Reserved
1 1 Internal 2.56V Voltage Reference with external capacitor at AREF
pin

Autor: DerInder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter ;)
aref ist die Referrenzspannung am PIN32 (AREF) z.B. 5V.
Darüber gibst du an bei welcher Analogspannung der ADC
"Vollausschlag" hat.
z.B. 5V --> 0b1111111111

Gruß
-=jens=-

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jens,

bei mir ist an AREF (Pin29 bei ATmega32,tqfp) ein Elko mit 4,7uF und an
AVCC Pin (Pin 27) ein komplexer Spannungsteiler bestehend aus einem
ohmschen Widerstand von 1kOhm und einem Elko von 4,7uF.

Was bedeutet das für meine Referenzspannung. Was haben diese Eingänge
für eine Aufgabe in meiner Beschaltung? Hab schon im Datenblatt
nachgesehen werd daraus aber nicht schlau...

Peter

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.