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