Forum: Mikrocontroller und Digitale Elektronik ADC Teil 2


von Peter (Gast)


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

von Peter (Gast)


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

von Peter (Gast)


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

von Peter (Gast)


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

von DerInder (Gast)


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=-

von Peter (Gast)


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

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.