> But if so, why do you have lines like these in your source : ???? >=20 > > rcsta equ 18h > > txreg equ 19h > > txsta equ 98h ; my own definitions of some key USART location= s > > spbrg equ 99h >=20 > They are already defined in P16F87.INC. > Don't you get any warnings about "multiply defined symbols" > Have you disabled "case sensitivity" in MPALB. Recomended, IMHO... I always have case sensetivity on. I didn't know they were defined earlier. It still works, because i think the ones in P16F87.inc are upper case. Anyway, when I wrote this code, I didn't know it was all already in the code. > One thing you *definitly* have to know, is the speed your > PIC is running at. Knowing that, you can calculate the value > for the baud rate register as described in the data sheet. >=20 > > I looked at the tables, and used the high speeed baud rate mode, for > > the INTRC 8MHz table, and it said to use 51 for 9600. >=20 > Note that the values i the tabes i the data sheet are in *decimal*. > If you use them as-is, make sure that you specify them as decimal > constants, not hexadecimal. (As far as I can see, that is not any > problem in your code, but anyway...) >=20 It's certainly decimal. movlw d'51'. I'm extremely confused about why my code won=E9 even run with the internal osc. The light that turns on if the power is on does work though. I just discovered whilst reading the datasheet that intrc isn't actually the internal 8mhz osc, but an internal RC (well, duh, but I didn't notice). Does anyone know which config option to use for the internal 8MHz osc? (any __config source code versions are also welcome) --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist