Hi all, I have been working on a serial routine using the USART on the 16C74. My question is why doesn't it work on MPSIM? I have checked it out several times using the data sheet for 16CXX series. At first I can see PIR1 <4> is clear when I load the tx data, but when it becomes set I don't get an interrupt! Also I never see the tx pin on portc move. Do I have to initiate anything else for my program to work? See below for program and the response from MPSIM. ;***************************************** ; serial routine for 16C74 (18/02/97) ;***************************************** #INCLUDE <16CXX.INC> TEMP EQU 0X10H ;TEMP STORAGE ORG 0X00H GOTO MAIN ORG 0X04H GOTO INTERUPT MAIN: CLRF TEMP ;CLEAR THE STORAGE MOVLW B'00000000' ;SET PORTC AS ALL OUTPUTS TRIS PORTC ; '' CLRF PORTC ;CLEAR THE PORT bsf STATUS,rp0 ;switch to bank one BSF INTCON,GIE ;ENABLE INTERUPTS movlw .129 ; set up baud rate (9600 @ 20Mhz) movwf spbrg ; '' bsf txsta,brgh ; high baud bcf txsta,sync ;enable port bcf status,rp0 bsf rcsta,spen ; '' bsf status,rp0 ;bank1 bsf pie1,txie ;enable int bcf txsta,tx9 ;disable 9 bit bsf txsta,txen ;enable transmission bcf status,rp0 ;bank0 MOVFW TEMP ;GET TEMP VALUE INTO W MOVWF TXREG ;SEND TO THE TRANSMIT REG ENDLESS_LOOP: NOP GOTO ENDLESS_LOOP INTERUPT: INCF TEMP,F MOVFW TEMP ;data to be transmitted movwf txreg ;transmit RETFIE ;RETURN Here is the response I get from MPSIM: SERIAL RADIX=X MPSIM 5.00 D 16c74 TIME=671502.00u 223945?=Help ---------------------------------------------------------------------------- ---- PORTC: 00000000 TXREG: 00000000 TRISC: 00000000 TXSTA: 00100100 PIR1: 00010000 PIE1: 00010000 RCSTA: 10000000 SPBRG: 10000001 PORTA: 0001000 PORTB: 11111111 PORTD: 11111111 PORTE: 00000000 W: 00000000 TEMP: 00000000 INTCON: 10000000 ---------------------------------------------------------------------------- ---- Interrupt at address 16 0017 2816 GOTO ENDLESS_LOOP % LO C:\PICDE\HNC\SERIAL Hex Code loaded Listing File Loaded Symbol table loaded 277488 bytes memory free % RS Processor Reset % GO Interrupt at address 18 0019 2818 GOTO ENDLESS_LOOP % AD INTCON,B,8 % C Interrupt at address 18 0019 2818 GOTO ENDLESS_LOOP % Many thanks for any input (good or bad), Brian.