;******************************************************************************
;***** SLAVE ******************************************************************
;******************************************************************************
     LIST      p=16F88            
     #INCLUDE <P16F88.INC>     

     __CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_IO
     __CONFIG    _CONFIG2, _IESO_OFF & _FCMEN_OFF

    CBLOCK 0x20 
REGA    
REGB
REGC     
PRIJ   
    ENDC

#DEFINE     LED     PORTB,5

    ORG     0x00

    goto    START
;******************************************************************************
;***** PODPROGRAMY ************************************************************
;******************************************************************************
    ORG     0x04
CAS1
    incfsz  REGA,1
    goto    $-1
    incfsz  REGB,1
    goto    $-3
    incfsz  REGC,1
    goto    $-5
    return
;******************************************************************************
;***** HLAVNY PROGRAM *********************************************************
;******************************************************************************
START
    clrf    PORTA
    clrf    PORTB

    movlw   0x35            ;SLAVE,CKP=1
    movwf   SSPCON
    
    bsf     STATUS,RP0      ;banka 1
    clrf    TRISA

    bcf    SSPSTAT,7        ;SMP=0
    bsf    SSPSTAT,6        ;CKE=1

    movlw   0x12            ;RB1,RB4 vstupy
    movwf   TRISB

    clrf    ANSEL           ;analogove vstupy vypnute        
    clrf    INTCON

    bcf     STATUS,RP0      ;banka 0
    bsf     LED

DAT   
    movf    SSPBUF,W        ;vymaz buffer
    banksel SSPSTAT
    btfss   SSPSTAT,BF      ;bol prenos?
    goto    $-1             ;nie
    bcf     LED             ;ano,zhasni LED
    goto    $-0             ;nekonecna slucka

          END
