Thanks mackrackit,
Yeh I found the culprit. Using an include "int.bas" for a continous clock.
Ive underlined the problem symbols i think.....Code:'FILENAME : INT.BAS 'PROGRAM : INCLUE for continuous clock 'DATE : 01NOV2005 DEFINE INTHAND ROLLOVER wsave var BYTE $020 SYSTEM wsave1 var BYTE $0a0 SYSTEM wsave2 var BYTE $120 SYSTEM wsave3 var BYTE $1a0 SYSTEM ssave var BYTE BANK0 SYSTEM psave var BYTE BANK0 SYSTEM i_hour var BYTE i_minu var BYTE i_sec var BYTE i_tic var BYTE GOTO AFTERINT 'Jump past interrupthandler asm rollover ;***************************************************************************************** ;***************************************************************************************** ; ; If you are using a PIC with 2K or less, ; you MUST unremarke the lines that follow. ; ; movwf wsave ;only for PICs with 2k or less ; swapf STATUS,w ;only for PICs with 2k or less ; clrf STATUS ;only for PICs with 2k or less ; movwf ssave ;only for PICs with 2k or less ; movf PCLATH,w ;only for PICs with 2k or less ; movwf psave ;only for PICs with 2k or less ; ;***************************************************************************************** ;***************************************************************************************** ; interrupcode follows here movlw 0x58 movwf TMR1L movlw 0x9e ;restart timer from ffff - 9e58 => 5Hz if using 4MHz movwf TMR1H decfsz _i_tic,f goto slutint incf _i_sec,f movlw 5 ;5 = 1Hz if using 4MHz (change to 10 for 8MHz and so on) movwf _i_tic movf _i_sec,w sublw 60 btfss STATUS,Z ;check for 60 sec goto slutint ;no clrf _i_sec ;yes incf _i_minu,f movf _i_minu,w sublw 60 btfss STATUS,Z ;check for 60 minutes goto slutint ;no clrf _i_minu ;yes incf _i_hour movf _i_hour,w sublw 24 btfss STATUS,Z ;check for 24 hours goto slutint ;no clrf _i_hour ;yes slutint bcf PIR1,0 ;zero tmr1 interrupt flag ;end of interruptcode ; restorecode follows here movf psave,w ;restore movwf PCLATH swapf ssave,w movwf STATUS swapf wsave,f swapf wsave,w retfie endasm AFTERINT: INTCON = %00000000 'all interrupts off PIR1 = %00000000 'zero tmr1 interrupt flag PIE1 = %00000001 'enable timer1 interrupt TMR1L = $58 TMR1H = $9e i_hour = 0 i_minu = 0 i_sec = 0 i_tic = 5 'this value should be the same as the value of line 8 in the ISR T1CON = %00110001 'timer1 on, prescaler=1/8 INTCON = %11000000 'interrupt on '-----------------------------------------------------------------------------------------
fits in my main program like so.....
Cant understand getting a symbol not defined error when it defines it first line.Code:DEFIN: clear DEFINE OSC 4 'set to 4MHz oscill@@ INCLUDE "int.bas" INCLUDE "modedefs.bas" blah.... blah.... blah.... gosub TICK blah.... blah.... blah.... TICK: if i_sec.0 <> OSCbit then return endif 'etc.
cheers
Woodzy




Bookmarks