PORTC instable

Can i help me?

if i write ..
KeyUp:
PORTA = 0
TRISA = %00000000 ^ %00011111

PORTC = 0
TRISC = %10001111

HSEROUT[HEX PORTA, "-", HEX PORTC, 13]


porta = 0
portc instable

i use cap 0,1 vss/vd




Code:
   Include "modedefs.bas"

   asm   
      ;__CONFIG    _CONFIG1H, _OSC_HSPLL_1H
      __CONFIG    _CONFIG1H, _OSC_INTIO7_1H & _IESO_OFF_1H
      __CONFIG    _CONFIG2H, _WDT_OFF_2H & _WDTPS_512_2H
      ;__CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
      __CONFIG    _CONFIG3H, _PBADEN_OFF_3H
      __CONFIG    _CONFIG4L, _LVP_OFF_4L & _XINST_OFF_4L
      __CONFIG    _CONFIG5L, _CP0_ON_5L & _CP1_ON_5L & _CP2_ON_5L & _CP3_ON_5L
      __CONFIG    _CONFIG5H, _CPB_ON_5H
   endasm
   
   @ errorlevel -202
          
'-------------------------------------------------------------------------------   
   DEFINE   HSER_RCSTA    90h
   DEFINE   HSER_TXSTA    20h
   DEFINE   HSER_BAUD     9600
   DEFINE   HSER_CLROERR  1

'-------------------------------------------------------------------------------
   I                 Var   WORD
   J                 Var   BYTE
   K                 Var   BYTE      
   
   Lin            var   byte
   Col            var   byte
   
	
'-------------------------------------------------------------------------------	
Boot:
   
   DEFINE OSC 32
   
   OSCCON = %11110000                           ' 8 Mhz, internal osc
   OSCTUNE = %11000000                          ' 4x PLL enabled

   ADCON0 = 0
   ADCON1 = 15
   CMCON = 7
   INTCON2.7 = 0

   LATA = 0
   LATB = 0
   LATC = 0   
   
   PORTA = 0
   TRISA = %00000000

   PORTB = 0
   TRISB = %11111111

   PORTC = 0
   TRISC = %10001111

   Led = 1
   pause 2000   
   
   hSEROUT ["-"]
   PAUSE 1   
   hSEROUT ["Start", 13, 10]
   pause 1
     
   Led = 0
'-------------------------------------------------------------------------------
Main
   Gosub KeyUp
Goto Main

KeyUp:
   PORTA = 0
   TRISA = %00000000 ^ %00011111

   PORTC = 0
   TRISC = %10001111
    
   'HSEROUT[HEX PORTA, "-", HEX PORTC, 13]
                      
   pause 1
   IF (PORTC & %00001111) != 15 THEN KeyUp

   PAUSE 50

Letra_Down:
   FOR Lin = 0 TO 4
      PORTA = 0
      TRISA = (DCD Lin) ^ %11111111
      
      col = PORTC & %00001111
      IF (col != 15) THEN Key
   NEXT lin
GOTO Letra_Down

Key:      
   Col = (NCD (col ^ %00001111))
  
   while (PORTC & %00001111) != 15
   wend
  
   hserout[dec lin, "-", dec Col, 13]
RETURN        

'-------------------------------------------------------------------------------   
End