'**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2014 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 5/8/2014 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** Device = 18F24K22 Xtal 8 Optimiser_Level 1 Declare Reminders = OFF Stack_Size = 10 Declare Adin_Res 10 Declare Adin_Tad 16_FOSC Declare Adin_Stime 50 'Change to 0x2000 to fail compile, and 0x1f00 to pass Declare PROTON_START_ADDRESS = $0x1f00 'I/O port settings TRISA = %11111111 TRISB = %00010101 TRISC = %11111001 'Internal oscillator ' OSCCON = %11100000 ' OSCCON2 = %00000100 ' OSCTUNE = %00000000 'Default interrupts INTCON = %00000000 INTCON2 = %00000000 INTCON3 = %00000000 PIE1 = %00000000 PIE2 = %00000000 PIE3 = %00000000 PIE4 = %00000000 PIE5 = %00000000 'Serial settings Declare Hserial_Baud = 9600 Declare Hserial_RCSTA = %10010000 Declare Hserial_TXSTA = %00100100 SPBRG = 51 '25 = 4mhz Symbol RCIF = PIR1.5 Symbol OERR = RCSTA1.1 'SPI Master settings SSP2CON1 = %00110010 Symbol SSPIF = PIR3.7 Symbol CS1 = PORTB.7 Symbol CS2 = PORTB.6 Symbol LED = PORTB.0 'ADC settings ADCON0 = %00000001 ADCON1 = %00000000 ADCON2 = %10110101 Symbol start_adc = ADCON0.1 ANSELA = %00101111 ANSELB = %00010101 ANSELC = %00001000 'CCP settings CCP2CON = %00001100 'PWM output on RC1 PR2 = 255 '8khz PSTR1CON = %00000000 Dim fp_duty As CCPR2L Symbol meth_out = PORTB.5 meth_out = 0 CCPTMRS0 = %00000000 'Timer5 for CCP2 CCPTMRS1 = %00001000 CCP5CON = %00000111 'Capture every 16th edge Symbol maf_sample = CCPR5.Word Symbol maf_flag = PIR4.2 PIE4.2 = 1 'Enable interrupt on CCP5 capture 'Internal DAC VREFCON0 = %00000000 VREFCON1 = %00000000 'Timer settings T0CON = %10000101 Dim Timer0 As TMR0L.Word Symbol T0IF = INTCON.2 T1CON = %00000011 Dim Timer1 As TMR1L.Word T2CON = %00000100 Dim Timer2 As TMR2 T3CON = %00000011 Dim Timer3 As TMR3L.Word Symbol T3IF = PIR2.1 T5CON = %00110011 Dim Timer5 As TMR5L.Word Dim tempf1 As Float Dim tempf2 As Float Dim tempf3 As Float Dim tempf4 As Float Dim tempf5 As Float Dim tempf6 As Float Dim tempf7 As Float Dim tempf8 As Float Dim tempf9 As Float Dim tempf10 As Float Dim tempf11 As Float Dim tempf12 As Float Dim tempf13 As Float GoTo LOOP '******************************************************************************************************************************************************** LOOP: 'If communications are locked up, unlock If OERR = 1 Then Clear RCSTA.4 Set RCSTA.4 EndIf GoTo LOOP