Let me post it here for you.


Code:
'****************************************************************
'*  Name    : TEST_Example.BAS                                  *
'*  Author  : VAL                                               *
'*  Notice  : Copyright (c) 2006                                *
'*          : All Rights Reserved                               *
'*  Date    : 11/27/2006                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
 program TEST_Example

'Project name:
'    TEST_Example
' * Description:
'    This project simulate real environment and test PLC response
' Configuration:
'    MCU:   PIC16F877A
'   Oscillator:  HS, 8 MHz
'   Ext. Modules:  ADC(MCP3204),Switches,LED Diodes
' * Notes:
' ADC on PORTC
' 2x16 LDC on PORTB (4-bit)
' LED Diodes on PORTA
' Switches on PORTD and PORTE
' 1000=1 second
PBP -p16F877A TEST_Example

 DEFINE OSC 8
 DEFINE ADCON1=7
 DEFINE intcon=0
 DEFINE LCD_DREG  PORTB
 DEFINE LCD_DBIT     0
 DEFINE LCD_RSREG    PORTB
 DEFINE LCD_RSBIT    4
 DEFINE LCD_EREG     PORTB
 DEFINE LCD_EBIT     5
 DEFINE LCD_BITS     4
 DEFINE LCD_LINES    2
 DEFINE LCD_COMMANDUS  2000
 DEFINE LCD_DATAUS   50
 
 TRISB=0
 LCD_Init(PORTB)
 LCDOut $FE,$80+6,"TEST"  'I want to show TEST in the midle of first line on the display
 LCDOut $FE,$0C+6,"START" 'I want to show START in the midle of second line 
 
 'Here I need code for ADC connected to PORTC
 'CLK(SCK) to PORTC.3
 'Dout(MISO) to PORTC.5
 'Din(MOSI) to PORTC.4
 'ADC is MCP3204 and I want To use CH0 and CH1
 'CH0 will be var MODV and CH1 will be var CURRV
 'Range is From 5 V to 0 V
 
 TRISA=0
 AA VAR PORTA.0       'PORTA is Output
 BB VAR PORTA.1
 CC VAR PORTA.2           'I connect diodes(AA,BB,CC,MM,NN,MDEF) to specific Pins
 MM VAR PORTA.3
 NN VAR PORTA.4
 MDEF VAR PORTA.5
 
 TRISD=1
 ALARM VAR PORTD.0            'PORTD is Input
 HEAT VAR PORTD.1
 INRANGE VAR PORTD.2     'Togle switches are connected to specific Pins
 DEFROST VAR PORTD.3
 EVAL VAR PORTD.4
 CF VAR PORTD.5             'Togle switch is RELAY that is ON or OFF
 SSV VAR PORTD.6
 COOL VAR PORTD.7   'ON=1 and OFF=0
 
 TRISE=1
 RET VAR PORTE.0         'PORTE same like PORTD
 CM VAR PORTE.1        
 
 
 main:
 
 ALARM1=ALARM             'Read status of PINA.0 (Can be GND or Vcc-0 or 1)
 IF ALARM1=0 Then        'If ALARM1=0(Pin ALARM is GND) I want to show this on LCD
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"FAIL 1"
 Else
 
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"PASS 1"
 High CC     'Set CC to 1(Vcc) and rest to 0(GND)
 Low BB
 Low AA
 Low MM
 Low NN
 Low MDEF
 Pause 360000  'Keep that setings for 6 min
 
 
 
 Count CF,360000,CF1      'During this 6 min read status of CF and SSV
 Count SSV,360000,SSV1
  
 IF CF1<2 OR SSV<2 Then    'During this 6 MIN check does CF AND SSV change
 LCDOut $FE,$80+6,"TEST"    'they status min 2 times
 LCDOut $FE,$0C+6,"FAIL 2"
 Else
 
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"PASS 2"
 ALARM1=ALARM
 HEAT1=HEAT
 INRANGE1=INRANGE        'Read status of inputs
 DEFROST1=DEFROST
 EVAL1=EVAL
 COOL1=COOL             'I also need to read value of ANALOG INPUTS
 RET1=RET      'CURRV must be betwen 2.5 V and 5 V
 CM1=CM
 
 IF EVAL1=0 OR CM1=0 OR INRANGE1=0 OR ALARM1=0 OR RET1=1 OR DEFROST1=1 OR HEAT1=1 OR COOL1=0 OR MODV1=0 OR CURRV1<2.5 Then
  
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"FAIL 3"
 Else
 
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"PASS 3"
 
 High CC    'Change status of output and keep that status 2 min
 High BB
 Low AA
 Low MM
 Low NN
 Low MDEF
 Pause 120000
 
 Count CF,120000,CF1
 IF CF1<2 Then
 
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"FAIL 4"
 Else
 
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"PASS 4"
 
 IF EVAL1=0 OR INRANGE1=0 OR CM1=0 OR MODV1>0 OR HEAT1=1 OR SSV1=1 OR DEFROST1=1 OR RET1=1 OR ALARM1=0 OR COOL1=1 OR CURRV1<2.5 Then
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"FAIL 5"
 Else
 
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"PASS 5"
 
 High AA
 LOW BB
 HIGH CC
 LOW MM
 LOW NN
 LOW MDEF
 PAUSE 180000
 
 COUNT IR,180000,IR1
 IF IR1=0 THEN
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"FAIL 6"
 ELSE
 
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"PASS 6"
 
 IF EVAL1=0 OR HEAT1=0 OR CF1=1 OR CM=1 OR SSV1=1 OR DEFROST1=1 OR ALARM1=0 OR RET1=1 or COOL=1 OR HEAT1=0 OR MODV1>0 OR 0.9<CURRV1<1.8 THEN
  LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"FAIL 7"
 ELSE
 
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"PASS 7" 
  
  LOW AA
  HIGH BB
  HIGH CC
  LOW MM
  LOW NN
  LOW MDEF
  PAUSE 30000
  
  LOW AA
  HIGH BB
  HIGH CC
  HIGH MM
  LOW NN
  LOW MDEF
  PAUSE 15000
  
  LOW AA
  HIGH BB
  HIGH CC
  LOW MM
  HIGH NN
  LOW MDEF
  PAUSE 1000
  
  LOW AA
  HIGH BB
  HIGH CC
  LOW MM
  LOW NN
  LOW MDEF
  PAUSE 120000
  
  IF EVAL1=0 OR CM1=0 OR SSV1=0 OR HEAT1=1 OR DEFROST1=1 OR ALARM1=0 OR RET1=1 OR COOL=0 OR MODV1<2.5 OR CURRV1<2.5 THEN
  LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"FAIL 8"
 ELSE                  
   
 LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"PASS 8"
 
 LOW AA
 HIGH BB
 HIGH CC
 HIGH MM
 HIGH NN
 LOW MDEF
 PAUSE 15000
 
 LOW AA
 HIGH BB
 HIGH CC
 LOW MM
 HIGH NN
 LOW MDEF
 PAUSE 1000
 
 LOW AA
 HIGH BB
 HIGH CC
 LOW MM
 LOW NN
 LOW MDEF
 PAUSE 30000
 
 LOW AA
 HIGH BB
 HIGH CC
 LOW MM
 LOW NN
 HIGH MDEF
 PAUSE 1000
 
 LOW AA
 HIGH BB
 HIGH CC
 LOW MM
 LOW NN
 LOW MDEF
 PAUSE 60000
 
 IF DEFROST1=0 OR HEAT1=0 OR ALARM1=0 OR MODV1>0 THEN
  LCDOut $FE,$80+6,"TEST"
 LCDOut $FE,$0C+6,"FAIL 9"
 ELSE   
  LCDOut $FE,1,"I AM GOOD"
 LCDOut $FE,$0C,"TO GO"
 
 Endif
  ENDIF
   ENDIF
    ENDIF
     ENDIF
      ENDIF
       ENDIF
        ENDIF
         ENDIF
   END

I just posted your code.
I did not change anything in it.


--------------------