PIC12F675 interrupção externa
O pino de interrupção externa do PIC 12F675 é o GP2.
Exemplo do código para interrução externa usando o compilador GCBASIC. Veja o vídeo de como programar usando o GCBasic: http://youtu.be/NFfLw_ibIcY
Neste exemplo, um LED fica sempre piscando e, quando há uma interrupção externa, o PIC entra em modo sleep, ou seja, o PIC dorme para economizar energia. Quando há uma nova interrupção, o PIC sai do modo sleep e volta a funcionar normalmente.
'Codigo
' Interrupção externa
#chip 12F675, 4
#define LedA GPIO.0
Dir LedA Out
Dir GPIO.2 In
InitTimer0 Ext, PS0_1/2
StartTimer 0
Wait 100 ms
On Interrupt ExtInt0 Call RotinaModoSleep
Do
Wait 100 ms
LedA = 1
Wait 100 ms
LedA = 0
Loop
Sub RotinaModoSleep
sleep
End Sub
Video do exemplo sendo simulado no Proteus 7.7 SP2:
Segue o arquivo .hex e o esquema feito no Proteus 7.7 SP2: