-         
+ Antworten
Ergebnis 1 bis 2 von 2

Thema: Analogverarbeitung und TMR0 Interrupt am 12F675

  1. #1
    Steffen35
    Gast

    Analogverarbeitung und TMR0 Interrupt am 12F675

    12F675
    Will an GPIO2 eine Spannung auswerten (0,6-2,4V)und mit dieser Spannung das PWM-Verhältnis an GPIO1 nachregeln, soll eine AFC für einen Tuner werden (es kommen also noch Berechnungen hinzu). Die konstante PWM-Frequenz erzeuge ich über TMR0 und Interrupt. Für die Analogabfrage darf ich also keinen Interrupt verwenden. Funktioniert alles aber nur für eine unbestimmte Zeit (2-10sek). Irgendwann schlägt die PWM-Frequenz (also die vom Interrupt erzeugte) in eine unkontrollierte Schwingung um. Die Analogauswertung gibt mir im Moment nur bei gesetzten Bit 7 im ADRESL ein Signal an GPIO4 aus.
    Auch dieser Ausgang funktioniert dann nich mehr richtig. Vielleicht kann sich ja mal jemand den Quellcode im Anhang anschauen (ist glaub ich gut dokumentiert). Verträgt sich eventuell der TMR0 Interrupt mit der Analogverarbeitung nicht richtig ??
    www.biasim.de/12F675.asm

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    Hallo

    Zum Testen würde ich den Code mal ein wenig vereinfachen. Was passiert z.B.wenn Du die ganze Tastenroutine weglässt (also PW konstant 120 bleibt).
    Ich sehe da ein ev. Problem wenn pw 0x00 ist/wird, dann läuft der Pulseweiten-Loop 255 mal durch (glaub ich zumindest).

    Wie siehts mit der externen Hardware am AD-Eingang aus? Könnte die ev. instabil werden?

    Noch was am Rande:
    das bcf INTCON, GIE und bsf INTCON, GIE in der ISR ist nicht nötig, das macht der PIC/resp retfie selber

    Vielleicht hilfts?
    Gruess
    Felix

+ Antworten

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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