HI there Thank you Andrew Warren for your last bit of advice concerning the setting of bits. I now have another problem with 16C74. I have written a program that will receive 8-bits from a PC at 9600b/s and display it on port B. It will then transmit those same 8-bits back to the PC. The problem is, it seems to put FFH or FEH onto port B on matter what I send it and it transmits 00H back. Occasionally it sends 01H back, but not often. I put an LED onto port A,0 to indicate if it had any errors but it never turns on. I'm using a 2.4576MHz crystal which divides down and I load 03H into SPBRG. I have BRGH cleared for low speed. If any one has the time, please have a look at the program. Thanks in advance Gavin vulcan@ihug.co.nz ORG 00H GOTO START ORG 04H GOTO ISR START CLRF PORTB CLRF PORTA BSF STATUS,RP0 ;page 1 CLRF TRISA ;port A output CLRF TRISB ;port B output MOVLW 07H MOVWF ADCON1 ;select digital CLRF PIE1 BSF PIE1,RCIE ;rx int enable MOVLW 03H MOVWF SPBRG ;baud rate CLRF TXSTA BSF TXSTA,TXEN ;tx enable BCF STATUS,RP0 ;page 0 CLRF RCSTA BSF RCSTA,SPEN ;enable serial BSF RCSTA,CREN CLRF INTCON BSF INTCON,PEIE ;peripheral int enable BSF INTCON,GIE ;global int enable BSF PORTA,1 LOOP GOTO LOOP ISR BCF PORTA,1 ;indicate problem 1 BCF PORTA,0 ;clear problem 2 MOVLW 06H ANDWF RCSTA,W BTFSS STATUS,Z GOTO RXERROR BTFSS PIR1,5 RETFIE MOVF RCREG,W ;read data received MOVWF PORTB ;show data received MOVWF TXREG ;tx back to PC BSF PORTA,1 ;clear problem 1 RETFIE RXERROR BCF RCSTA,CREN BSF RCSTA,CREN MOVLW 0FFH MOVWF PORTB BSF PORTA,0 ;indicate problem 2 RETFIE END