ok, i modified the cod to use a temporary byte variable in ram and then write the var to LATB as follows...

Code:
TEMPPORTC VAR BYTE

BAT1BLEED VAR TEMPPORTC.7
BAT1BLEEDIND VAR TEMPPORTC.6
BAT2BLEED VAR TEMPPORTC.5
BAT2BLEEDIND VAR TEMPPORTC.4
ALARM VAR TEMPPORTC.3
Code:
IF BAT2TEMP > BAT1TEMP+5 THEN 
    BAT2BLEED = 1
    BAT2BLEEDIND = 1
    BAT1BLEED = 0
    BAT1BLEEDIND = 0    
    BAT2BLEEDCOUNT = 0
    LATB = TEMPPORTC
ELSE
for diagnostics i modified the LCD command to the following...

Code:
LCDOUT $FE, $80, DEC4 BAT1TEMP, " ", DEC4 BAT2TEMP, " " 
IF BAT1TEMP > BAT2TEMP THEN
    LCDOUT DEC4 (BAT1TEMP - BAT2TEMP), " "
    ELSE
    LCDOUT DEC4 (BAT2TEMP - BAT1TEMP), " "
ENDIF
LCDOUT $FE, $C0, BIN8 TEMPPORTC
the second line on the LCD reads
Code:
00110000
But, again, only the ALARM LED is on...
So, the temp var is correct, but it's not setting to port correctly????