Hi, using a PIC12F683 I'm attempting to toggle an IO pin every time the internal timer overflows (via the timer interrupt) but I can't seem to get it working. I'm viewing the voltage of the pin on a scope, expecting a square wave and getting a constant 5 volts. Also I've read the official documentation multiple times and believe my code is correct (I could be way off). I'm also aware that this may not be the best way to generate a square wave. Regardless I'd at least like to realize what I'm doing wrong before I take a different approach. Anyhow, here's the source, it was assembled with GPASM. Code (Text): PROCESSOR 12F683 __CONFIG _INTOSCIO & _WDT_OFF & _PWRTE_ON & _BOREN_OFF include "P12F683.inc" bank0 MACRO bcf STATUS, RP0 ;Clear STATUS[RP0] to switch to bank 0 endm bank1 MACRO bsf STATUS, RP0 ;Set STATUS[RP0] to switch to bank 1 endm #define T1CONF b'00000101' #define OUTPINS b'00001000' ; MCLR pin set to input and rest set to output #define GP2TOG b'00000100' ; XOR mask for toggling GP2 pin #define DELAY h'FF' reset_vec code 0x00 goto main int_svc code 0x04 goto int_vec code main: bank1 movlw OUTPINS movwf TRISIO ; Set I/O on pins bsf PIE1, TMR1IE ; Enable the Timer1 overflow interrupt bank0 bsf INTCON, PEIE ; Enable all unmasked peripheral interrupts bsf INTCON, GIE ; Enable all unmasked interrupts movlw T1CONF ; Move timer configuration into W reg movwf T1CON ; Configure Timer 1 bcf PIR1, TMR1IF ; Clear Timer interrupt flag just in case. clrf GPIO idle: goto idle int_vec: btfss PIR1, TMR1IF ; Is this interrupt from the Timer? goto retf_vec ; If not timer int, return movlw GP2TOG ; Load GP2 xor mask xorwf GPIO, 1 ; Toggle GP2 bit and store result in GPIO bcf PIR1, TMR1IF ; Clear interrupt retf_vec: retfie ; return from interrupt end GPASM - http://ww1.microchip.com/downloads/en/devicedoc/41211d_.pdf Instruction set reference - http://www.dcc.unicamp.br/~celio/mc404/pic/pic_instructionset_summary.html Official Datasheet - http://ww1.microchip.com/downloads/en/devicedoc/41211d_.pdf Important pages: Pin Diagram - 2 Pin IO - 31 Timer Interrupt - 46 Interrupt Registers - 13, 14, 15 Thanks in advance.