Aufwachen aus Sleep beim PIC16F627

Gast #1092579
Lesenswert?

WAKE-UP FROM SLEEP

1. External reset input on MCLR pin
2. Watchdog Timer Wake-up (if WDT was enabled)
3. Interrupt from RB0/INT pin, RB Port change, or
the Peripheral Interrupt (Comparator).

Hat ganze 10s gedauert das PDF nach SLEEP zu durchsuchen.
#1092653
Lesenswert?

Hi,

wenn RB0 auf eine steigende Flanke reagieren soll (Taster drücken), dann 
setzt du INTEDG im Register OPTION. Bei fallender Flanke (Taster 
loslassen), lässt du das Bit 0.

Dann schaltest du Interrupts für RB0 ein, indem du INTE im Register 
INTCON setzt.
Nun musst du nur noch GIE in INTCON setzen um Interrupts allgemein 
freizugeben.

Die Interruptroutine muss bei 04h beginnen. Das bekommst du hin, indem 
du einen Sprungpunkt vor dem eigentlich Programm und vor dem 
Interruptteil setzt und dann am Anfang des Programms nur die Adressen 
und die Sprungpunkte vermerkst. So z.B.:
1
ORG 0
2
GOTO Hauptprogramm
3
ORG 4
4
GOTO Interrupt

Viel Erfolg
Stefan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren