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: