Forum: Mikrocontroller und Digitale Elektronik Wertetabelle im Interrupt ansteuern PIC 16F877


von Onkel (Gast)


Angehängte Dateien:

Lesenswert?

Hi habe ein Problem mit meiner Interruptroutine =(
sie läuft nicht, aber ich kann keinen Fehler finden.
es ist ein PIC 16F877 auf einem PICDEM 2 Plus demoboard.

Ich möchte 2 LED's ansteuern, die während dem gesamten Programm ein aund 
ausfaden.

Interruptteil und Tabelle sind im anhang.

wäre klasse wenn mir jemand meinen Fehler aufzeigen könnte, ich kann ihn 
einfach nicht finden.

ps.: der Interrupt selbst funktioniert habe ihn schon vorher mit 
einfacheren aufgaben gefüttert und alles ging reibungslos.

jetzt hängt er sich direkt beim ersten Interrupt auf -.-

von holger (Gast)


Lesenswert?

>aber ich kann keinen Fehler finden.

Ich sehe schon zwei. Aber poste erstmal den
ganzen Code. Aus *.txt macht der Assembler sicher
kein Programm.

von Onkel (Gast)


Lesenswert?

Sry ^^ darf das ganze Programm nicht senden, sons gibts haue vom Chef, 
der würde das garnicht lustig finden.

habe die Teile die den Interrupt betreffen deshalb auch in eine *.txt 
gepackt

die Fehler wüsste ich trozdem ganz gerne =P

von holger (Gast)


Lesenswert?

>die Fehler wüsste ich trozdem ganz gerne =P

Na dann will ich dich mal erlösen.

>int_serv
>;**********
>  bcf     INTCON, GIE     ; disable Interrupt

Der Befehl ist Unsinn. GIE ist gelöscht wenn der PIC
in den Interrupt springt. Du solltest aber ein anderes
Bit löschen, damit der Interrupt nicht sofort wieder feuert
sobald der Interrupt per RETFIE ;) verlassen wird.

von Onkel (Gast)


Lesenswert?

hmmm ich weis ehrlich gesagt nicht welches bit du meinst ^^

habe aber glaube ich eine Störquelle ausgemacht:

wenn ich den befehl    "INCF counter1"  herauskomentiere läuft alles wie 
gewollt, nur brauch ich diesen befehl nunmal damit die ganze routine 
überhaupt sinn macht ^^

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.