'**************************************************************** '* Name : FartingSkeleton_Init.pbp * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2015 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 2015-07-28 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** '----[ Oscillator control ]------------------------------------------------------- OSCCON = OSCCON | %01110000 ' GOTO Initialization INCLUDE "..\..\_Include\DT_INTS-14_V110\DT_INTS-14.bas" ' Base Interrupt System INCLUDE "..\..\_Include\DT_INTS-14_V110\ReEnterPBP.bas" ' Include if using PBP interrupts ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler TMR1_INT, _TmrIntr, PBP, yes endm INT_CREATE ; Creates the interrupt processor ENDASM TmrIntr: CCP1CON = 0 CCP1CON = 9 CCPR1H = DutyHold1.HighByte CCPR1L = DutyHold1.LowByte @ INT_RETURN ;----[Initialization]------------------------------------------------------- Initialization: '----[ A/D ]------------------------------------------------------- ANSEL = 0 ANSELH = 0 '----[ I/O ]------------------------------------------------------- TRISC.1 = 0 ' WTV020_DataPin TRISA.2 = 0 ' WTV020_ClockPin TRISA.5 = 0 ' WTV020_ResetPin TRISC.0 = 1 ' WTV020_BusyPin TRISC.5 = 0 'Servo T1CON = %00100000 ' Timer1 off, Prescaler 1:4 (40mhz) ' 1:2 (20mhz), 1:1 (10mhz) TMR1IE = 1 ' Enable TMR1 overflow interrupt TMR1IF = 0 ' Clear TMR1 interrupt flag PEIE = 1 ' Enable peripheral interrupts GIE = 1 ' Enable global interrupts T1CON.5 = 0 'Timer1 Input Clock Prescale Select bits T1CON.4 = 0 ' 00=1:1, 01 = 1:2, 10 = 1:4, 11=1:8 TMR1ON = 0 'turn OFF TMR1 Servo1 = POS_RANGE/2 ' Start at Center Position GOSUB SetServos TMR1ON = 1 ' turn ON TMR1 '----[ UART 2 = Debug ]------------------------------------------------------- 'RCSTA = $90 ' Enable serial port & continuous receive RCSTA = $80 ' Enable serial port TXSTA = $20 ' Enable transmit, BRGH = 0 SPBRG = 25 ' 19200 Baud @ 8MHz, 0.16% SPBRGH = 0 BAUDCTL.3 = 1 ' Enable 16 bit baudrate generator FartPtr = 0 @ INT_ENABLE TMR1_INT ; enable timer 1 interrupts