Will this fly...nearest you can tell?

Code:
'PIC 16F917

'------------------------------------------------------------------------------------------

'Clock setup
    Define OSC 20
'Interrupt setups
    INTCON = %11000000      'Enable: Global interrupts, Peripheral interrupts
    PIE1 = %01110000        'Enable: ADC interrupt, Rx interrupt, Tx interrupt
'Pin setups
    ANSEL = %10000000       'Analog input on E.2/AN7, all others digital
    TRISA = %11000000       'PortA: 0-5 = output, 6-7 = input
    TRISB = %11111111       'PortB: 0-7 = input (defaults)
    TRISC = %11011111       'PortC: 0-5&7 = input, 6 = output
    TRISD = %11111111       'PortD: 0-7 = input (defaults)
    TRISE = %00000100       'PortE: 0&1 = output, 2 = input, 3-7 = N/A
'Vref setups
    VRCON = %10001111       'Enable Vref, set high range, set value (3.59 Vdc)
'Usart setups
    SPBRG = %00011001       'Set 9600 baud w/20MHz clock
    TXSTA = %00100110       'Enable transmit, set BRGH high
    RCSTA = %10010000       'Enable Usart, enable receiver
'ADC setups
    ADCON0 = %10011101      'Right justify (8 bit result in ADRESL), Select ch.7, enable ADC
    ADCON1 = %00100000      'Set ADC clock to 625kHz

'------------------------------------------------------------------------------------------    
        
'LCD setup (16 x 2 lines)
    Define LCD_BITS 4       '4 data interface lines
    Define LCD_DREG PORTA   'LCD data port
    Define LCD_DBIT 0       'LCD data bits 0-4
    Define LCD_RSREG PORTA  'LCD register select port
    Define LCD_RSBIT 4      'LCD register select bit
    Define LCD_EREG PORTA   'LCD enable port
    Define LCD_EBIT 5       'LCD enable bit

'------------------------------------------------------------------------------------------
Ser_Cmd_Numb var byte
Ser_Cmd_Val var byte
THC_Enable_In var PORTC.0
TTV_Val var byte
HYS_Val var byte
Torch_V_Now var byte
Torch_Up var PORTE.0
Torch_Dn var PORTE.1
TTV_Val = 120
HYS_Val = 0

pause 1000                  'Pause for 1 second for LCD warmup
LCDout $fe, 1, "---LCD WARMUP---"
Lcdout $fe, $40, "----FINISHED----"
pause 5000                 'Pause for 5 seconds for user viewing

Start:
    IF THC_Enable_In = 0 then
        PIE1.6 = 0        'Turn off ADC interrupt
        PIE1.5 = 1        'Turn on Rx interrupt
        LCDout $fe, 1, "READY TO RECEIVE"
        Lcdout $fe, $40, "COMMAND:C###V###"
        If PIR1.5 = 1 Then Goto New_SerIn
        PAUSE 500
        GOTO START
    ELSE
        PIE1.6 = 1        'Turn on ADC interrupt
        PIE1.5 = 0        'Turn off Rx interrupt
        ADCON0.1 = 1    'Start ADC conversion        
        if PIR1.6 = 1 THEN GOTO New_ADC
        LCDout $fe, 1, "TARGET VDC : ", dec TTV_Val
        Lcdout $fe, $40, "PLASMA VDC : ", dec Torch_V_Now
        select case Torch_V_Now
            case Torch_V_Now > TTV_Val + hys_val
                high torch_dn
                low torch_up
            case Torch_V_Now < TTV_Val - hys_val
                high torch_up
                low torch_dn
            case else
                low torch_up
                low torch_dn
        end select
    endif
GOTO Start

New_ADC:
    Torch_V_Now = ADRESL    
    PIR1.6 = 0
Return

New_SerIn:
'******Command structure is: C###V###    
    PIE1 = %00000000                                                    'Disable interrupts
        hserin 100, start, [wait ("C"),dec3 Ser_Cmd_numb]
        hserin 100, start, [wait ("V"),dec3 Ser_Cmd_val]
        LCDout $fe, 1, "COMMAND RECEIVED"
        Lcdout $fe, $40, "-- C", dec Ser_Cmd_numb,"  V", dec Ser_Cmd_val, " --" 
        pause 3000                                                  'Pause for 3 seconds for user viewing
        GOTO Chk_Cmd                                                      
    PIE1 = %01110000                                                    'Enable interrupts
Return

Chk_Cmd:
    select case Ser_Cmd_numb        '001 to 256
        case 1                      'Torch Target Voltage
            TTV_val = Ser_Cmd_Val
        case 2                     'Hysteresis Value
            HYS_Val = Ser_Cmd_Val
        Case else
            LCDout $fe, 1, " COMMAND NOT IN "
            Lcdout $fe, $40, " DEFINED SCOPE! "
    END SELECT
RETURN
Cut and shuffle as you will . Thanks guys.

Chris