www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC - Register während Interrupt abfragen


Autor: Klaus m. ... (magic-moe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe in Assembler einen Counter für einen Pic geschrieben. Es 
funktioniert auch alles wunderbar, die Zeit lässt sich mit 4 Tastern 
einstellen und wird auf 4 7-Segment Anzeigen visualisiert. Nun möchte 
ich, das das "runterlaufen" der Zeit nur stattfindet (im Moment immer), 
wenn ein zusätzlicher Taster gedrückt wurde. Dazu wollte ich ein Bit 
(Starten, 0) setzen und während des Interrupts abfragen:

     btfss Starten, 0
     goto Int_end
     Counter

Doch leider funktioniert das kein bisschen, egal was ich schon versucht 
habe, es scheint sich immer aufzuhängen, da die Ausgänge plötzlich 
völlig verrückt spielen.

Weis jemand woran das liegen könnte?
Danke im vorraus

Gruß Moritz

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Weis jemand woran das liegen könnte?

An deinem Programm.

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was holger sagen will: wir können dir nicht helfen, wenn wir dein 
programm nicht sehen...

Autor: Michael Roek (mexman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Moritz,

> ich habe in Assembler einen Counter für einen Pic geschrieben. Es
> funktioniert auch alles wunderbar, die Zeit lässt sich mit 4 Tastern

Counter? Zeit?
Hast Du jetzt einen Counter oder einen Timer gebaut?\

Sieht nach Timer aus: Eine Zeit wird heruntergezaehlt und angezeigt, 
richtig?

>      btfss Starten, 0
>      goto Int_end
>      Counter

Das kann wirklich alles sein:
- Falsch/Doppeltdeklaration des Bytes "Starten"
- falsche Sprungadresse Int_end (ohne Wiederherstellung des Stacks)
- .......



Holger MUSS nicht recht haben....kann auch Deine Hardware sein ;-)
Aber ohne weitere INformation wuerde ich sagen, der Kondensator C14 
sollte nicht mit der Adresse der Interruptserviceroutine verbunden sein!


Gruss

Michael

Autor: Klaus m. ... (magic-moe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So,
ich habe jetzt folgendes Problem: Der Counter zählt nach dem drücken der 
OK - Taste abwärts. Allerdings funktioniert es nur bei der 4 Ziffer. 
Sobald ich auch eine der 3 Ziffern vorher auf eine andere Zahl auser 0 
einstelle leuchten auf einmal die Dezimalpunkte, genauso auch wenn der 
Counter nach dem Runterzählen der Sekunden auf 0 kommt.

Wie kann das sein, ich habe den Ausgang der Dezimalpunkte nirgends 
definiert???
Und warum funktioniert es nur bei der 4 Ziffer???

Mfg
Moritz

Autor: hempel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es nur bei der 4 funktioniert klappt vielleicht nur die Abfrage 
nicht und überspringt alle anderen, du hast wenn ich das richtig sehe in 
deinem Interrupt die 4 als automatische Auswahl falls alle andern 
"false" sind definiert.

Ansonsten evtl. mal noch den Schaltplan anhängen, wenn man selbst schon 
paar Stunden grübelt ist einem das alles immer etwas mehr vor Augen als 
dem Rest hier im Forum, deswegen machen paar wenige Sätze meist nicht 
viel Sinn ;)

Autor: Klaus m. ... (magic-moe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kanns kaum glauben, es geht auf einemal :-)
Kann es sein das es einen Unterscheid macht ober man

movlw  5            oder
movlw  d'5'         scheibt?

MFG
Moritz

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.