;========================================================================== ; Variable Definition ;========================================================================== VALTOZO EQU H'23' ;========================================================================== RESET MOVLW B'00000111' ;Disable Comparator module's MOVWF CMCON BSF STATUS,RP0 ;Switch to register bank 1 MOVLW B'11010111' ;Set PIC options (See datasheet). MOVWF OPTION_REG ;Write the OPTION register. (TMR0 enable) ; CLRF INTCON ;Disable interrupts MOVLW B'00100000' ;Enable TMR0 interrupt MOVWF INTCON ; MOVLW B'00000000' MOVWF TRISB ;all RB ports are inputs. MOVLW B'11111111' ; MOVWF TRISA ;all RA ports are inputs BCF STATUS,RP0 ;Switch Back to reg. Bank 0 CLRF PORTB ;========================================================================== MAIN BTFSC PORTA,2 CALL BEKAPCS BTFSC PORTA,3 CALL KIKAPCS GOTO MAIN BEKAPCS BTFSC PORTA, 2 GOTO BEKAPCS BSF PORTB, 0 RETURN KIKAPCS BTFSC PORTA, 3 GOTO KIKAPCS BCF PORTB, 0 RETURN ;========================================================================== MEGSZAKITAS MOVWF W_TEMP ; Copy W to a Temporary Register ; regardless of current bank SWAPF STATUS,W ; Swap STATUS nibbles and place ; into W register MOVWF STATUS_TEMP ; Save STATUS to a Temporary register ; in Bank0 ;========================================================================== ; Ezt csinálja, ha megszakítás jön ;========================================================================== BSF PORTB, 0 ;========================================================================== SWAPF STATUS_TEMP,W ; Swap original STATUS register value ; into W (restores original bank) MOVWF STATUS ; Restore STATUS register from ; W register SWAPF W_TEMP,F ; Swap W_Temp nibbles and return ; value to W_Temp SWAPF W_TEMP,W ; Swap W_Temp to W to restore original ; W value without affecting STATUS END