Das INTCON Register beinhaltet die Settings zu den Interruptfunktionen des 12F675.
Herstellerseitig wird empfohlen, die betreffenden Bits vor der Benutzung über die Software zurückzusetzen, um eine sichere Funktionen zu gewähren.
INTCON liegt in Bank0.
Bit 7:
0 = Alle Interrupts deaktiviert.
1 = Alle aktiviert.
Es ist zu beachten, dass die Interrupts auch ggf. noch in den betreffenden/weiteren Registern aktiviert werden müssen.
Bit 6:
0 = Alle Interrupts deaktiviert, die intern vom PIC ausgelöst werden können.
1 = Alle Interrupts aktiviert, die intern vom PIC ausgelöst werden können.
Es ist zu beachten, dass auch die Interrupts auch ggf. noch in den betreffenden/weiteren Registern aktiviert werden müssen. Insbsondere Register PIE1 spielt hier eine große Rolle!
Bit 5:
0 = Timer0 Interrupt abgeschaltet
1 = Timer0 Interrupt aktiv
Bit 4:
0 = GP2 Interrupt abgeschaltet
1 = GP2 Interrupt aktiv
Bit 3:
0 = GPIO Interrupt abgeschaltet
1 = GPIO Interrupt aktiv
Dies bezieht sich nicht nur auf einen einzelnen Pin wie bei Bit 4, ein Pegelwechsel an einem Pin des gesamten GPIO-Ports kann einen Interrupt auslösen. Beim 12F675 kann dies jeder Pin des Ports sein.
Bit 2:
1 = Timer0 hat in Register TMR0 einen Überlauf ausgelöst
0 = Timer0 hat keinen Überlauf ausgelöst.
Man kann also auslesen, ob der Timer durchgezählt hat. Wichtig: Das Bit wird NICHT vom Controller zurückgesetzt, das muss im Programm geschehen (bcf INTCON,2).
Bit 1:
1 = Interrupt an GP2 wurde ausgelöst
0 = Kein Interrupt an GP2 ausgelöst.
Auch hier muss das Bit manuell zurück gesetzt werden, z. B. mit „bcf INTOCON,1“.
Bit 0:
0 = Kein Pegelwechsel an GPIO
1 = Pegelwechsel hat an einem Pin von GPIO stattgefunden.
Auch hier muss das Bit im Programm gelöscht werden.