list p=16F876A #include p16F876A.inc __CONFIG _CP_OFF & _DEBUG_OFF & _WRT_OFF & _CPD_OFF & _LVP_OFF & _PWRTE_OFF & _BODEN_OFF & _WDT_OFF & _HS_OSC d1 EQU 0x20 d2 EQU 0x21 d3 EQU 0x22 org 0x0000 goto main org 0x0004 goto int int retfie main BCF STATUS, RP1 ; Bank1 BSF STATUS, RP0 ; MOVLW b'11000000' ;paneme kõike PORT B pinid outputiks MOVWF TRISB; BSF TRISC, 4; paneme PORT C 4,5,6 inputiks BSF TRISC, 6; main_loop call otse BTFSS PORTC, 4; call vasak BTFSS PORTC, 6; call parem goto main_loop ;lõpmatu for loop otse BCF STATUS, RP0 ; Bank0 BCF STATUS, RP1 MOVLW b'00100111' ; paneme PORT B'sse OTSE 0010 0111 MOVWF PORTB; call uno_loop call uno call uno_loop return vasak BCF STATUS, RP0; Bank0 BCF STATUS, RP1 MOVLW b'00010111' MOVWF PORTB; call uno_loop call uno call uno_loop return parem BCF STATUS, RP0; Bank0 BCF STATUS, RP1 MOVLW b'00101011' MOVWF PORTB; call uno_loop call uno call uno_loop return uno BCF STATUS, RP0; Bank0 BCF STATUS, RP1 MOVLW b'00111111' MOVWF PORTB; return uno_loop ; loop delay'miseks MOVLW 0x0F MOVWF d3 MOVLW 0xFF MOVWF d2 bla DECFSZ d2 goto bla MOVWF d2 DECFSZ d3 goto bla return END