I believe that this is the interupt vector location for the 16f84. In software simulation it seems to work. If this is not the case than could someone please set me straight. Also it ahs been brought to my attention that I seem to have left the global interupt bit low this is probably why the code does not work . Can someone test it thanks. Regards Mathew Cohen ----- Original Message ----- From: Martin SchŠfer To: Sent: Wednesday, October 20, 1999 10:21 PM Subject: Re: Why doesn't this code work ??? > Hi Mathew, > > why is your interrupt starting at H'03' ? > > Mathew Cohen schrieb: > > > Hi All, Can someone tell me why the following code will not work. Is > > this the correct way to initilise the timer and use the timer overflow > > interupt. Thanks in advance Mathew Cohen ORG > > H'50' Start > > Call Initporta > > Call Initportb > > Call Initmr > > GOTO > > Checkswitch ;-------------------------------------------------------------------------- > > ORG H'03' > > TmrInterupt BTFSC PORTB,7 > > call Initmr > > goto toggleleds Initmr > > CLRF TMR0 > > BSF STATUS,RP0 ;select bank 1 > > CLRF OPTION_REG > > MOVLW B'00000111' > > IORWF OPTION_REG,1 > > BCF INTCON,T0IF > > BSF INTCON,T0IE RETURN > > Initporta BSF STATUS,RP0 > > MOVLW 0 > > TRIS PORTA > > BCF STATUS,RP0 > > MOVLW 31 > > MOVWF PORTA RETURN Initportb BSF STATUS,RP0 > > MOVLW H'FF' > > MOVWF TRISB > > BCF STATUS,RP0 > > RETURN Checkswitch > > BTFSS PORTB,7 > > BSF PORTA,4 > > BTFSC PORTB,7 > > BCF PORTA,4 > > GOTO Checkswitch > > toggleleds > > > > BTFSS PORTA,1 > > goto LedsOFF > > BTFSC PORTA,1 > > goto Ledson > > > > Ledson MOVLW 15 > > MOVWF PORTA > > CALL Initmr > > GOTO Checkswitch > > LedsOFF > > > > MOVLW 0 > > MOVWF PORTA > > CALL Initmr > > GOTO Checkswitch > > > > END >