So far I have tested ..SEROUT,SEROUT2 and DEBUG

I just have an issue with somehow passing a variable around in my code it seems using SEROUT,SEROUT2 and DEBUG.

So far I can capture a keypress (thanks to mister e's matrix keypad routine and advice and tips from several others - thank you!)
The keypress from the keypad is stored in a variable called myvar.
I send myvar to the LCD using
Code:
lcdout dec myvar      'display keypress variable
and on the LCD the DECimal number lets say I press 1 on the keypad appears as ||1 and for the number 2 on keypad it appears as ||2 and so on.
If I change the code to convert myvar as BINary numbers like this
Code:
lcdout BIN myvar      'display keypress variable
then when I press the number 1 on the keypad I get ||1 on the LCD and then the keypad 2 shows as ||2 and so on.
NOW .....
If I use serout to send myvar to hyperterminal or MicroStudio serial port window like this
Code:
SerOut PORTC.6,T2400,["the key pressed is",myvar]
I just get "the key is pressed' followed by a windings kinda characters like smileys, blocks and so forth :-(

If I send a string with serout like this
Code:
SerOut PORTC.6,T2400,["the key pressed is"]
Then everytime I press a key I see "the key is pressed" appearing in hyperterminal.

Here is my code ....I would really appreciated if someone could point me towards finding a solution as ultimately I would like to TX the binary keypress to be RX for another PIC

Code:
'*************************************
'Keypress display on LCD and TX to wherever
'*************************************

'Ocsillator selections here
        OSCCON = $70            'Int CLK 8MHz
        OSCTUNE.6 = 1           'PLL 4x
        ADCON1= %00001111       '$0F = disable A/D converter
        cmcon   =   7 
        INTCON2.7 = 0     'switch pull-ups ON
'END of oscillator selections
  'timer/oscillator defines 
        DEFINE OSC 32            '4x 8MHz
'END of timer/oscillator defines

'Port IO directions and presets for port pins begin here
'TRISX = %76543210   << tris bit order numbering
'TRISA = %11111111       'All pins are outputs
'// Define port pins as inputs and outputs ...
        TRISA  = %00000000 'example only - TRISB = %00001111 ;Make B4-B7 outputs, B0-B3 inputs, 
        TRISB = %11111111  'for 4x4 keypad all input
        TRISC = %10000000
        TRISD = %00000000
        TRISE.0 = 0
        TRISE.1 = 0
        TRISE.2 = 0
'End of Port IO directions and presets for port pins begin here

                   
'variables begin here
        myvar var byte
        dataout var byte
'end of variables

'LCD defines begin here   
        DEFINE LCD_BITS 4 	'defines the number of data interface lines (4 or 8) 
        DEFINE LCD_DREG PORTD 	'defines the port where data lines are connected to
        DEFINE LCD_DBIT 4 	'defines the position of data lines for 4-bit interface (0 or 4)
        DEFINE LCD_RSREG PORTD 	'defines the port where RS line is connected to
        DEFINE LCD_RSBIT 2 	'defines the pin where RS line is connected to 
        DEFINE LCD_EREG PORTD 	'defines the port where E line is connected to 
        DEFINE LCD_EBIT 3 	'defines the pin where E line is connected 
        DEFINE LCD_RWREG 0 	'defines the port where R/W line is connected to (set to 0 if not used)
        DEFINE LCD_RWBIT 0 	'defines the pin where R/W line is connected to (set to 0 if not used)
        DEFINE LCD_COMMANDUS 2000 	'defines the delay after LCDOUT statement 
        DEFINE LCD_DATAUS 200 		'delay in micro seconds
'END of LCD DEFINES

'includes begin here
        INCLUDE "modedefs.bas"
        include "c:\pbp\samples\keypad.bas"
'end of includes

'Keypad code begins here
        DEFINE KEYPAD_ROW        4        ' 4 ROW keypad       
        DEFINE KEYPAD_ROW_PORT   PORTB    ' ROW port = PORTB
        DEFINE KEYPAD_ROW_BIT    0        ' ROW0 = PORTB.4
        DEFINE KEYPAD_COL        4        ' 4 COL keypad
        DEFINE KEYPAD_COL_PORT   PORTB    ' COL port = PORTB
        DEFINE KEYPAD_COL_BIT    4        ' COL0 = PORTB.0
        DEFINE KEYPAD_DEBOUNCEMS 200      ' debounce delay = 200 mSec
        DEFINE KEYPAD_AUTOREPEAT 1        ' use auto-repeat feature
'end keypad code

'Main code begins here       

        Pause 2000       ' Wait for LCD to startup
start:
        'read keypress variable 
        @ READKEYPAD _myvar 

        lcdout $fe, 1        'clear lcd screen
         
        lcdout BIN myvar      'display keypress variable
        SerOut PORTC.6,T2400,["the key pressed is",myvar] 'SerOut PinNumber2,T2400,DataRec
        pause 1000
        lcdout $fe,1          'clear lcd screen
goto start

'End of all code
Thank you

Kind regards
Dennis