Checkswitch
BTFSS PORTB,7
BSF PORTA,4
BTFSC PORTB,7
BCF PORTA,4
&nbs
p;
GOTO Checkswitch *delete this line*
toggleleds
BTFSS PORTA,1
goto LedsOFF
&nbs
p;
BTFSC PORTA,1 *delete this line
&nbs
p;
goto Ledson *delete this line
Ledson
MOVLW 15
MOVWF PORTA
CALL Initmr
GOTO Checkswitch
LedsOFF
MOVLW 0
MOVWF PORTA
CALL Initmr
GOTO Checkswitch
Mathew Cohen a écrit :
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 font>
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
toggleledsBTFSS PORTA,1
goto LedsOFF
BTFSC PORTA,1
goto LedsonLedson MOVLW 15
MOVWF PORTA
CALL Initmr
GOTO Checkswitch
LedsOFFMOVLW 0
MOVWF PORTA
CALL Initmr
GOTO CheckswitchEND