;Program compiled by Great Cow BASIC (0.9 10/2/2007)
;Need help? See the GCBASIC forums at http://sourceforge.net/forum/?group_id=169286,
;check the documentation or email hconsidine@bigpond.com.
;********************************************************************************
;Set up the assembler options (Chip type, clock source, other bits and pieces)
LIST p=16F88, r=DEC
#include <P16F88.inc>
__CONFIG _CONFIG1, _INTRC_IO & _MCLR_ON & _WDT_OFF & _LVP_OFF
;********************************************************************************
;Set aside memory locations for variables
DELAYTEMP equ 32
DELAYTEMP2 equ 33
DELAYTEMP4 equ 34
SysTemp1 equ 35
SysTemp2 equ 36
SysWaitTempMS equ 37
SysWaitTempS equ 38
;********************************************************************************
;Jump to initialisation code when PIC is reset
ORG 0
call INITSYS
goto SystemInitialise
;********************************************************************************
;Interrupt vector
ORG 4
retfie
;********************************************************************************
;Various initialisation routines, automatically called by GCBASIC
SystemInitialise
;********************************************************************************
;Start of the main program
banksel TRISA
bcf TRISA,1
START
banksel PORTA
bsf PORTA,1
movlw 1
movwf SysWaitTempS
call Delay_S
bcf PORTA,1
movlw 1
movwf SysWaitTempS
call Delay_S
goto START
BASPROGRAMEND
sleep
goto $
;********************************************************************************
;Subroutines included in program
;********************************************************************************
DELAY_MS
DMS_START
movlw 10
movwf DELAYTEMP2
DMS_OUTER
movlw 66
movwf DELAYTEMP
DMS_INNER
decfsz DELAYTEMP, F
goto DMS_INNER
decfsz DELAYTEMP2, F
goto DMS_OUTER
decfsz SysWaitTempMS, F
goto DMS_START
return
;********************************************************************************
Delay_S
DS_START
movlw 10
movwf DELAYTEMP4
DS_OUTER
movlw 100
movwf SysWaitTempMS
call Delay_MS
decfsz DELAYTEMP4, F
goto DS_OUTER
decfsz SysWaitTempS, F
goto DS_START
return
;********************************************************************************
INITSYS
movlw 112
movwf SysTemp1
banksel OSCCON
movf OSCCON,W
banksel SysTemp1
iorwf SysTemp1,W
banksel OSCCON
movwf OSCCON
banksel PORTA
clrf PORTA
clrf PORTB
movlw 7
banksel CMCON
movwf CMCON
banksel ADCON0
bcf ADCON0,ADON
banksel ADCON1
bcf ADCON1,ADFM
clrf ANSEL
banksel STATUS
return
;********************************************************************************
END