Hi, here are some code that works on an 16F87x, should be minor differences with the 18xx. Although it uses fsr to access the config regs ( not advicable by Mchip ) I don't se any reason for it not to work. /Tony ; *********************************************************************** ; ; INIT_SPI - Initialises SPI, module, full speed, master mode, idle clock low ; does NOT enable SPI interrupts ( use polling ) ; Can be at any bank at entry, leaves ram bank setting intact at exit. INIT_SPI ; make sure pins are setup before calling this routine ; TRISC:5 and TRISC:3 must be cleared ( as for input, but operates as outputs ) ; furthermore its advised that interrupts are disabled during this routine ; setup SPI status reg MOVLW SSPSTAT ; get adress for synch serial port status reg MOVWF FSR ; setup fsr MOVLW 0x00; (1<