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