This should NOT be that hard, since I have been using other serial commands like Shiftout, and have echoed typed characters on this computer keyboard using hserin and hserout. Having said this...

I'm using a LabX1 with 16F887 MCU, pin 25 which is port C.6 (TX) using the internal EUSART. Interfaced to this is the one line to the Rx of a Sparkfun serial 7-segment display. I've been all over this thing with Serout, HSerout, even Shiftout but cannot make a change. Here's my code. I am making it as simple as possible by doing one thing: dimming the display. Sparkfun says to send a control character ($7A) followed by the value for brightness. I do this. The display does not change brightness. Even now, with no other characters being set, the display is toggling weird characters and the display is at its Dimmest. I set the baud rate too, on principle though the default for the display is 9600 baud.

include "modedefs.bas"
trisc.6=0
LED var portc.6
dEFINE OSC 4
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1 (b.3=1 means high speed)
'define HSER_BAUD 9600
DEFINE HSER_SPBRG 25 ' 25=9600 Baud @ 4MHz, 0.16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

bright con $7A
baud con $7F 'followed by 2=9600 baud, 4=19200 baud

hserout [baud, 2]
Main: HSEROUT [bright, 0] ' 0 is max brightness, $FE is dimmest
pause 100
goto main

I haven't scoped portc.6 yet. That should tell me if there is data and the speed, but is the above all kosher?