"Freqenzgenerator" mit Mega8 - Spannungssteller und Frequenzsteller nicht gleichzeitig

OP #1450669
Hallo.

Hier mein Problem. Möchte mit nem Mega8 so ne Art Frequenzgenerator 
bauen (ich sage extra "so eine Art" weil ich weiß dass ich mit meiner 
Schaltung wahrscheinlich weder exakt die Amplitude noch die Frequenz 
erreichen kann. Es reicht aber so für meine Zwecke).
Das Problem ist. Der Spannungssteller arbeitet solange ohne Probleme wie 
ich den Timer Interrupt noch ausgeschaltet lasse. Sobald ich den Timer 
Interrupt einschalte bleibt PC2 ständig auf 1. Der Frequenzausgang 
klappt trotzdem.

Zur Erklärung:
PC2 steuert nen Transistor an der nen Zwischenkreis lädt. Zusammen mit 
dem Analog/Digital Wandler soll das ganze so ne Art 2 Punkt Regler 
bilden. Es wird nur das High-Byte ausgewertet.Über den Timer 
Interruptsteuert PB1  ebenfalls nen Transistor an, der dann die 
Spannungs im Zwischenkreis in ne Frequenz "zerhacken" soll klappt auch 
an sich.

Programm (Assembler) im Anhang. Über Hinweise wie ich einfacher 
Programmieren kann wäre ich auch dankbar. Bin Anfänger und mir per 
learning by doing selbstbeigebracht, doch am meisten interresiert mich 
warum der Spannungssteller nicht mehr funktioniert sobald ich den Timer 
Interrupt freigebe. Ich hoffe ihr könnt mir helfen. Vielen Dank im 
Vorraus.
Angehängte Dateien:
Gast
auf jeden Fall solltest du das SREG in der Timer-ISR sichern (und vor 
reti wieder herstellen)

#define sreg_bak r2
timer0_overflow:      ; Timer 0 Overflow Handler
  in sreg_bak, sreg
        com   Puls_Pause    ; Invertiert das Puls/Pause Register
  sbrs  Puls_Pause, 0    ; Überspringt wenn Bit0 im Puls/Pause Register 
gesetzt ist.
  cbi  PortB, 1    ; Setzt PortB Pin1 zurück.
  sbrc  Puls_Pause, 0    ; Überspringt wenn Bit0 im Puls/Pause Register 
nicht gesetzt ist.
   sbi  PortB, 1    ; Setzt PortB Pin1.
        out sreg, sreg_bak
reti          ; Springt zurück

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.