Sorry I forgot to add the code :-
Any ideas on what I am missing welcome, The two includes are in place and are being used !
Is placement important ?
Thank you
Code:'**************************************************************** '* Name : TRIP.BAS * '* PIC : PIC16F688 * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2015 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 29/10/2015 * '* Version : 2.0 * '* Notes : 322 Words used * '* : Now has Trip Delay Link * '* : and Interupt for flash led * * '* Process Signal AN0 * '* Alarm Preset AN1 * '* Trip Preset AN2 * '* Flash LED RC1 * '* Delay Trip Lnk RC2 * '* Alarm Relay RC3 * '* Trip Relay RC4 * '* Reset Trip P/B RC5 * '**************************************************************** DEFINE OSC 8 ' Set RC Clock to 8 Megs wsave var byte $70 SYSTEM 'Define ADCIN parameters Define ADC_BITS 10 ' Set number of bits in result Define ADC_CLOCK 3 ' Set clock source (3=rc) Define ADC_SAMPLEUS 50 ' Set sampling time in uS ADCON0 = %10000001 ' Enable ADC / Right justify result (1023) ANSEL = %00000111 ' Enable ADC channels AN2-AN0 CMCON0 = %10000111 ' Disable both comparators 'Analogs PROC_SIG Var word ' Create PROC_SIG to store result ALARM_TRIM Var word ' Create ALARM_TRIM to store result TRIP_TRIM Var word ' Create TRIP_TRIM to store result 'Digitals ALARM_RLY VAR PORTC.3 ' Alarm Relay TRIP_RLY VAR PORTC.4 ' Trip Relay TRIP_RST VAR PORTC.5 ' Trip Reset PB TRIP_DLY VAR PORTC.2 ' Trip Delay Link FLASH_LED var PORTC.1 ' Flashy LED 'Constants RLY_OFF CON 0 ' Relay Off RLY_ON CON 1 ' Relay On HYS CON 8 ' 25 = 1/8Volt INCLUDE "DT_INTS-14.bas" ' Base Interrupt System INCLUDE "ReEnterPBP.bas" ' Include if using PBP interrupts ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler TMR1_INT, _ToggleLED1, PBP, yes endm INT_CREATE ; Creates the interrupt processor ENDASM T1CON = $31 ; Prescaler = 8, TMR1ON @ INT_ENABLE TMR1_INT ; enable Timer 1 interrupts MAIN: START: LOW TRIP_RLY ' Ensures Trip Rly off 'LOW ALARM_RLY ' Ensures Alarm Rly off Gosub ANALOG_READ If (ALARM_RLY = RLY_OFF) AND (PROC_SIG >= (ALARM_TRIM + HYS)) THEN ALARM_RLY = RLY_ON If (ALARM_RLY = RLY_ON) AND (PROC_SIG <= (ALARM_TRIM - HYS)) THEN ALARM_RLY = RLY_OFF If (TRIP_RLY = RLY_OFF) AND (PROC_SIG >= (TRIP_TRIM)) and TRIP_DLY = 0 THEN goto D_TRIP If (TRIP_RLY = RLY_OFF) AND (PROC_SIG >= (TRIP_TRIM)) AND TRIP_DLY = 1 THEN goto L_TRIP GOTO START L_TRIP: ' Latching Trip high TRIP_RLY ' Latch Trip Relay IF TRIP_RST = 0 THEN GOTO START 'Release If PB Reset Pressed Goto L_trip D_TRIP: ' Delayed Trip HIGH TRIP_RLY ' Latch Trip Relay PAUSE 1000 ' Pause for T_Delay GOTO START ANALOG_READ: ' Read analogs ADCIN 0, PROC_SIG ' Read channel 0 to PROC_SIG Pause 2 ' ADC Settle time ADCIN 1, ALARM_TRIM ' Read channel 1 to ALARM_TRIM Pause 2 ' ADC Settle time ADCIN 2, TRIP_TRIM ' Read channel 2 to TRIP_TRIM Pause 2 ' ADC Settle time RETURN goto MAIN '---[TMR1 - interrupt handler]-------------------------------------------------- ToggleLED1: TOGGLE FLASH_LED @ INT_RETURN




Bookmarks