PULSE VAR PORTC.2
RL1 VAR PORTC.1
RL2 VAR PORTC.0
HEATIN VAR PORTA.1
SENSIN VAR PORTA.0
ADCON1 = 0011 'Declare A ports 0 & 1 as Analog to dig converters
ADCON1.7 = 1 'Analog to Digital variables declared right justified
TRISA = 255
DEFINE ADC_BITS 10 '10 bit conversion used
DEFINE ADC_SAMPLEUS 5 'set sample time
SENSVAL VAR Byte
DEFINE LOADER_USED 1
DISABLE DEBUG
loop_delay CON 500 ' adjust to tweak timing
ms_count VAR WORD
loop:
FOR ms_count = 0 TO 999 ' 0 to 999mS
IF ms_count < 14 THEN ' PULSE low 0 to 13 mS
low PULSE
ELSE ' PULSE and RL1 high at 14
high PULSE
high RL1
high RL2
ENDIF
IF MS_count > 8 THEN ' RL1 low at 9 mS
high RL2
ENDIF
IF ms_count > 995 THEN ' RL2 low at 995 mS, high at 0
low RL1
ENDIF
IF ms_count = 997 THEN ' Read PORTA.0 ADC VALUE put in mem loc 0
ADCIN PORTA.0, SENSVAL
ENDIF
IF ms_count < 500 THEN
High 0
ENDIF
IF ms_count > 499 THEN
low 0
ENDIF
IF ms_count < 500 THEN
low 1
ENDIF
IF ms_count > 499 THEN
high 1
ENDIF
PAUSEUS loop_delay ' fill in time for 1mS loop
NEXT ms_count
goto loop
END
Bookmarks