<!-- CRC: 90CF26913586BBA787FE92D553771933595CB83DA2B385E294D7771A6AC4B625DA6183FD7E79AA9B6577EF8789F001E862F72D27E9D34842BF9B97A3AFBBCBEE79486D63975370310C3CAEE8E7DA69870FBD2BC016ABF9BCB9917E59DBD870501C1834E94576FD82F269635EF33D93A9C322C4288EE7631BE2ABFD351C8F20927049652E9FA5BEC7651FAF0E59D16BBF6629F3803AC5182C843C611FFBCAF2597BCAA9895368CF94086944AE325796A661375E076A30535D10E605FDF914732AC1ACFCE9CC2F0123C7E9BF2E0A60D235BB3AB4325F399FDA -->
<!-- REVISION: 3.0 -->
<!-- GUID: C8FB758B-E1FC-4C72-B74C-19BA7A8221E0 -->
<!-- DATE: 06\10\2025 -->
<!-- DIR: FCD\PIC\16F15313.fcdx -->
<root>
<device name='16F15313' product='PIC' cal='PIC' family='16F' bits='8' >
    <clock max_speed='32000000' master_divider='4' default='19660800' />
    <memory >
        <flash bytes='3584' />
        <ram bytes='256' />
    </memory>
    <configuration address='1' mult='2' >
	<format >
	  <word value='0x3FFF' />
	  <word value='0x3FFF' />
	  <word value='0x3F9F' />
	  <word value='0x3FFF' />
	  <word value='0x3FFF' />
        </format>
        <setting />
        <settings >
            <setting name='FEXTOSC' offset='0' mask='7' bits='3' hint='External Oscillator Mode' >
                <option name='LP Oscillator, Low-power crystal on RA4/OSC2/CLKOUT pin and RA5/OSC1/CLKIN' value='0' />
                <option name='XT Oscillator, Crystal/resonator on RA4/OSC2/CLKOUT pin and RA5/OSC1/CLKIN' value='1' />
                <option name='HS Oscillator, High speed crystal/resonator on RA4/OSC2/CLKOUT pin and RA5/OSC1/CLKIN' value='2' />
                <option name='Oscillator Off' value='4' />
                <option name='ECL, External Clock, Low Power Mode: CLKIN on RA5/OSC1/CLKIN' value='5' />
                <option name='ECM, External Clock, Medium Power Mode: CLKIN on RA5/OSC1/CLKIN' value='6' />
                <option name='ECH, External Clock, High Power Mode: CLKIN on RA5/OSC1/CLKIN' value='7' />
            </setting>
            <setting name='RSTOSC' offset='4' mask='7' bits='3' hint='Software Oscillator Mode' >
                <option name='HFINTOSC 32MHz' value='0' />
                <option name='EXTOSC with 4X PLL' value='1' />
                <option name='SOSC 32.768KHz' value='3' />
                <option name='LFINTOSC' value='4' />
                <option name='HFINTOSC 1MHz' value='6' />
                <option name='EXTOSC' value='7' />
            </setting>
	       <setting name='CLKOUTEN' offset='8' mask='1' bits='1' hint='Clock Out Enable bit' >
	        <option name='Disabled - I/O or OSC function on OSC2' value='1' />
	        <option name='Enabled - CLKOUT on OSC2' value='0' />
            </setting>
            <setting name='CSWEN' offset='11' mask='1' bits='1' hint='Clock Switch Enable bit' >
                <option name='On - Writing to NOSC and NDIV allowed' value='1' />
                <option name='Off - NOSC and NDIV bits cannot be changed' value='0' />
            </setting>
            <setting name='FCMEN' offset='13' mask='1' bits='1' hint='Fail Clock Monitor Enable' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='MCLRE' offset='16' mask='1' bits='1' hint='MCLR Pin Function Select' >
                <option name='MCLR Pin is MCLR' value='1' />
                <option name='MCLR Pin is Input Port Pin' value='0' />
            </setting>
            <setting name='PWRTE' offset='17' mask='1' bits='1' hint='Power-up Timer Enable bit' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>           
            <setting name='LPBOREN' offset='21' mask='1' bits='1' hint='Low Power BOR Enable bit' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='BOREN' offset='22' mask='3' bits='2' hint='Brown-out Reset Enable bits' >
                <option name='Enabled' value='3' />
                <option name='Brown-out Reset enabled while running and disabled in Sleep' value='2' />
                <option name='Brown-out Reset controlled by the SBOREN bit in the PCON register' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='BORV' offset='25' mask='1' bits='1' hint='Brown-out Reset Voltage selection' >
                <option name='Brown-out Reset Voltage (VBOR) set to 1.9 V' value='1' />
                <option name='Brown-out Reset Voltage (VBOR) set to 2.7 V' value='0' />
            </setting>
            <setting name='ZCDDIS' offset='26' mask='1' bits='1' hint='Zero-Cross Detect Disable bi' >
                <option name='ZCD disabled. ZCD can be enabled by setting the EN bit of the ZCDxCON register' value='1' />
                <option name='ZCD always enabled (EN bit is ignored)' value='0' />
            </setting>
            <setting name='PPS1WAY' offset='27' mask='1' bits='1' hint='PPSLOCKED One Way Set Enable' >
                <option name='PPSLOCKED can only be cleared and set once' value='1' />
                <option name='PPSLOCKED can be cleared and set repeatedly' value='0' />
            </setting>
            <setting name='STVREN' offset='28' mask='1' bits='1' hint='Stack Overflow/Underflow Reset Enable bit' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='DEBUG' offset='29' mask='1' bits='1' hint='Debugger Mode' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WDTCPS' offset='32' mask='31' bits='5' hint='WDT Period Select bits' >
                <option name='1:8388608' value='18' />
                <option name='1:4194304' value='17' />
                <option name='1:2097152' value='16' />
                <option name='1:1048576' value='15' />
                <option name='1:524299' value='14' />
                <option name='1:262144' value='13' />
                <option name='1:131072' value='12' />
                <option name='1:65536' value='11' />
                <option name='1:32768' value='10' />
                <option name='1:16384' value='9' />
                <option name='1:8192' value='8' />
                <option name='1:4096' value='7' />
                <option name='1:2048' value='6' />
                <option name='1:1024' value='5' />
                <option name='1:512' value='4' />
                <option name='1:256' value='3' />
                <option name='1:128' value='2' />
                <option name='1:64' value='1' />
                <option name='1:32' value='0' />
            </setting>
            <setting name='WDTE' offset='37' mask='3' bits='2' hint='WDT Operating mode:' >
                <option name='WDT enabled regardless of Sleep; SWDTEN is ignored' value='3' />
                <option name='WDT enabled while Sleep = 0, suspended when Sleep = 1; SWDTEN ignored' value='2' />
                <option name='WDT enabled/disabled by SWDTEN bit in WDTCON0' value='1' />
                <option name='WDT disabled, SWDTEN is ignored' value='0' />
            </setting>
            <setting name='WDTCWS' offset='40' mask='7' bits='3' hint='Window delay percent of time' >
                <option name='87.5' value='0' />
                <option name='75' value='1' />
                <option name='62.5' value='2' />
                <option name='50' value='3' />
                <option name='37.5' value='4' />
                <option name='25' value='5' />
                <option name='n/a' value='6' />
                <option name='n/a' value='7' />
            </setting>
            <setting name='WDTCCS' offset='43' mask='7' bits='3' hint='WDT Input Clock Selector bits' >
                <option name='WDT reference clock is the 31.0 kHz LFINTOSC (default value)' value='0' />
                <option name='WDT reference clock is the 31.25 kHz HFINTOSC (MFINTOSC) output' value='1' />
                <option name='Software Control' value='7' />
            </setting>
            <setting name='BBSIZE' offset='48' mask='1' bits='1' hint='Boot Block Size' >
                <option name='512' value='7' />
                <option name='1024' value='0' />
            </setting>
            <setting name='BBEN' offset='51' mask='1' bits='1' hint='Boot Block Enable' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='SAFEN' offset='52' mask='1' bits='1' hint='SAF Enable' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WRTAPP' offset='55' mask='1' bits='1' hint='Application Block Write Protect' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WRTB' offset='56' mask='1' bits='1' hint='Boot Block Write Protect' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WRTC' offset='57' mask='1' bits='1' hint='Config Write Protect' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WRTSAF' offset='59' mask='1' bits='1' hint='SAF Write Protect' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='LVP' offset='61' mask='1' bits='1' hint='Low Voltage Programming Enable bit' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='CP' offset='64' mask='1' bits='1' hint='Flash Program Memory Code Protection bit' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
        </settings>
    </configuration>
    <pins sides='2' smd='0' >
        <pin name='VDD' />
        <pin name='RA5/AN5/OSC1/CLKIN' port='0' bit='5' adc='5' rpreg='RA5PPS' rpnum='5' />
        <pin name='RA4/AN4/OSC2/CLKOUT' port='0' bit='4' adc='4' rpreg='RA4PPS' rpnum='4' />
        <pin name='RA3/MCLR/VPP' port='0' bit='3' rpnum='3' />
        <pin name='RA2/AN2/T0CKI' port='0' bit='2' adc='2' rpreg='RA2PPS' rpnum='2' />
        <pin name='RA1/AN1/VREF/ICSPCLK' port='0' bit='1' adc='1' rpreg='RA1PPS' rpnum='1' />
        <pin name='RA0/AN0/ICSPDAT' port='0' bit='0' adc='0' rpreg='RA0PPS' rpnum='0' />
        <pin name='VSS' />
    </pins>
    <adc type='38' bits='10' >
        <speed >
            <option name='FRC' value='7' />
            <option name='Fosc / 64' value='6' />
            <option name='Fosc / 32' value='2' />
            <option name='Fosc / 16' value='5' />
            <option name='Fosc / 8' value='1' />
            <option name='Fosc / 4' value='4' />
            <option name='Fosc / 2' value='0' />
        </speed>
        <vref>
            <option name='VDD' value='0' />
            <option name='Vref+' value='2' />
            <option name='FVR' value='3' />
        </vref>
    </adc>
    <dac type='1' bits='5' >
        <vref>
            <option name='VDD' value='0' />
            <option name='Vref+' value='1' />
            <option name='FVR' value='2' />
        </vref>
        <out port='0' pin='0' />
    </dac>
    <eeprom type='5' bytes='128' address='0x0780' />
    <spi remappable='1' >
        <miso rpreg='SSP1DATPPS' />
        <mosi rpnum='22' />
        <clk rpnum='21' rpreg='SSP1CLKPPS' />
        <ss rpreg='SSP1SSPPS' />
    </spi>
    <i2c master='1' remappable='1' >
        <sda rpreg='SSP1DATPPS' rpnum='21' />
        <scl rpreg='SSP1CLKPPS' rpnum='20' />
    </i2c>
    <uart remappable='1' >
        <tx rpnum='15'/>
        <rx rpreg='RX1DTPPS' />
    </uart>
    <pwm remappable='1' >
    	<timer>
    	    <option name='Timer2' value='2' />
    	</timer>
        <prescaler >
            <option name='1' value='1' />
            <option name='4' value='4' />
            <option name='16' value='16' />
            <option name='64' value='64' />
        </prescaler>
        <out rpnum='9' />
        <out rpnum='10' />
        <out rpnum='11' pwmtype='1' />
        <out rpnum='12' pwmtype='1' />
        <out rpnum='13' pwmtype='1' />
        <out rpnum='14' pwmtype='1' />
    </pwm>
    <intosc>
        <option name='1000000' value='OSCFRQ = 0x00;' /> 
        <option name='2000000' value='OSCFRQ = 0x01;' /> 
        <option name='4000000' value='OSCFRQ = 0x02;' /> 
        <option name='8000000' value='OSCFRQ = 0x03;' /> 
        <option name='12000000' value='OSCFRQ = 0x04;' /> 
	    <option name='16000000' value='OSCFRQ = 0x05;' /> 
    	<option name='32000000' value='OSCFRQ = 0x06;' default='1' /> 
    </intosc>
    <interrupts >
        <interrupt ident='TMR0' regl='TMR0L' regh='TMR0H' type='timer16' name='Timer 0' handler='#ifndef MX_INTHANDLER_INTCON_TMR0IF\n#define MX_INTHANDLER_INTCON_TMR0IF\nif (ts_bit(PIR0, TMR0IF) &amp;&amp; ts_bit(PIE0, TMR0IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR0, TMR0IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE0, TMR0IE);\n' disable='cr_bit(PIE0, TMR0IE);\nT0CON0 = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal clock (CLKO)' clkdiv='4' value='T0CON1 = (T0CON1 &amp; 0x1F) | 0x40;\n' />
                    <entry name='Transition on T0CKI pin' clkdiv='0' value='T0CON1 = (T0CON1 &amp; 0x1F) | 0x00;\n' />
                    <entry name='Transition on T0CKI pin (Inverted)' clkdiv='0' value='T0CON1 = (T0CON1 &amp; 0x1F) | 0x20;\n' />
                    <entry name='HFINTOSC' clkdiv='4' value='T0CON1 = (T0CON1 &amp; 0x1F) | 0x60;\n' />
                    <entry name='LFINTOSC' clkdiv='4' value='T0CON1 = (T0CON1 &amp; 0x1F) | 0x80;\n' />
                    <entry name='Secondary Oscillator (SOSC)' clkdiv='4' value='T0CON1 = (T0CON1 &amp; 0x1F) | 0xC0;\n' />
                    <entry name='Configurable Logic Cell (CLC1)' clkdiv='4' value='T0CON1 = (T0CON1 &amp; 0x1F) | 0xE0;\n' />
                </option>
                <option name='Input Asynchronization' >
                    <entry name='TMR0 Input synchronised with FOSC/4' value='st_bit(T0CON1,T0ASYNC);\n' />
                    <entry name='TMR0 not synchronised to system clocks' value='cr_bit(T0CON1,T0ASYNC);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x00;\n' />
                    <entry name='1:2' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x01;\n' />
                    <entry name='1:4' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x02;\n' />
                    <entry name='1:8' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x03;\n' />
                    <entry name='1:16' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x04;\n' />
                    <entry name='1:32' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x05;\n' />
                    <entry name='1:64' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x06;\n' />
                    <entry name='1:128' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x07;\n' />
                    <entry name='1:256' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x08;\n' />
                    <entry name='1:512' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x09;\n' />
                    <entry name='1:1024' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0A;\n' />
                    <entry name='1:2048' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0B;\n' />
                    <entry name='1:4096' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0C;\n' />
                    <entry name='1:8192' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0D;\n' />
                    <entry name='1:16384' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0E;\n' />
                    <entry name='1:32768' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0F;\n' />
                </prescale>
                <postscale name='Postscaler Rate' >
                    <entry name='1:1' value='T0CON0 = 0x90;\n' />
                    <entry name='1:2' value='T0CON0 = 0x91;\n' />
                    <entry name='1:3' value='T0CON0 = 0x92;\n' />
                    <entry name='1:4' value='T0CON0 = 0x93;\n' />
                    <entry name='1:5' value='T0CON0 = 0x94;\n' />
                    <entry name='1:6' value='T0CON0 = 0x95;\n' />
                    <entry name='1:7' value='T0CON0 = 0x96;\n' />
                    <entry name='1:8' value='T0CON0 = 0x97;\n' />
                    <entry name='1:9' value='T0CON0 = 0x98;\n' />
                    <entry name='1:10' value='T0CON0 = 0x99;\n' />
                    <entry name='1:11' value='T0CON0 = 0x9A;\n' />
                    <entry name='1:12' value='T0CON0 = 0x9B;\n' />
                    <entry name='1:13' value='T0CON0 = 0x9C;\n' />
                    <entry name='1:14' value='T0CON0 = 0x9D;\n' />
                    <entry name='1:15' value='T0CON0 = 0x9E;\n' />
                    <entry name='1:16' value='T0CON0 = 0x9F;\n' />
                </postscale>
            </options>
        </interrupt>
        <interrupt ident='INT0' type='pin' name='INT0 Pin' handler='#ifndef MX_INTHANDLER_INTCON_INTF\n#define MX_INTHANDLER_INTCON_INTF\nif (ts_bit(PIR0, INTF) &amp;&amp; ts_bit(PIE0, INTE))\n{\n\tFCM_%n();\n\tcr_bit(PIR0, INTF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE0, INTE);\n' disable='cr_bit(PIE0, INTE);\n' >
            <ioc config='3' >
                <rising port='0' mask='1' />
                <falling port='0' mask='1' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='st_bit(INTCON,INTEDG);\n' />
                    <entry name='Falling edge of INT' value='cr_bit(INTCON,INTEDG);\n' />
                </edge>
                <pps name='Pin Selection' >
                    <entry name='A0' port='0' pin='0' value='INTPPS = 0x00;\n' />
                    <entry name='A1' port='0' pin='1' value='INTPPS = 0x01;\n' />
                    <entry name='A2' port='0' pin='2' value='INTPPS = 0x02;\n' />
                    <entry name='A3' port='0' pin='3' value='INTPPS = 0x03;\n' />
                    <entry name='A4' port='0' pin='4' value='INTPPS = 0x04;\n' />
                    <entry name='A5' port='0' pin='5' value='INTPPS = 0x05;\n' />
                </pps>
            </options>
        </interrupt>
        <interrupt ident='IOC0' type='multipin' name='IOC PORTA' handler='#ifndef MX_INTHANDLER_INTCON_IOCIF\n#define MX_INTHANDLER_INTCON_IOCIF\nchar mxtmp;\nif (IOCAF &amp;&amp; ts_bit(PIE0, IOCIE))\n{\n\tFCM_%n();\n\tmxtmp=PORTA;\n\tIOCAF=0;\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='IOCAP=%pA0h;\nIOCAN=%pA0l;\nst_bit(PIE0, IOCIE);\n' disable='cr_bit(PIE0, IOCIE);\n' >
            <ioc config='0x0F' >
                <rising port='0' mask='0x3F' />
                <falling port='0' mask='0x3F' />
            </ioc>
        </interrupt>
        <interrupt ident='RXINT0' type='comms' name='UART RXINT0' handler='#ifndef MX_INTHANDLER_PIR3_RC1IF\n#define MX_INTHANDLER_PIR3_RC1IF\nif (ts_bit(PIR3, RC1IF) &amp;&amp; ts_bit(PIE3, RC1IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR3, RC1IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE3, RC1IE);\nst_bit(INTCON, PEIE);\n' disable='cr_bit(PIE3, RC1IE);\n' />
        <interrupt ident='TXINT0' type='comms' name='UART TXINT0' handler='#ifndef MX_INTHANDLER_PIR3_TX1IF\n#define MX_INTHANDLER_PIR3_TX1IF\nif (ts_bit(PIR3, TX1IF) &amp;&amp; ts_bit(PIE3, TX1IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR3, TX1IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE3, TX1IE);\nst_bit(INTCON, PEIE);\n' disable='cr_bit(PIE3, TX1IE);\n' />
        <interrupt ident='TMR1' regl='TMR1L' regh='TMR1H' type='timer16' name='Timer 1' handler='#ifndef MX_INTHANDLER_PIR4_TMR1IF\n#define MX_INTHANDLER_PIR4_TMR1IF\nif (ts_bit(PIR4, TMR1IF) &amp;&amp; ts_bit(PIE4, TMR1IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR4, TMR1IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE4, TMR1IE);\n' disable='cr_bit(PIE4, TMR1IE);\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Transition on T1CKI pin' clkdiv='0' value='st_bit(INTCON,PEIE);\nT1CLK = 0;\nst_bit(T1CON,TMR1ON);\n' />
                    <entry name='Internal clock (Fosc/4)' clkdiv='4' value='st_bit(INTCON,PEIE);\nT1CLK = 1;\nst_bit(T1CON,TMR1ON);\n' />
                    <entry name='Internal clock (Fosc)' clkdiv='1' value='st_bit(INTCON,PEIE);\nT1CLK = 2;\nst_bit(T1CON,TMR1ON);\n' />
                    <entry name='HFINTOSC' clkdiv='0' value='st_bit(INTCON,PEIE);\nT1CLK = 3;\nst_bit(T1CON,TMR1ON);\n' />
                    <entry name='LFINTOSC' clkdiv='0' value='st_bit(INTCON,PEIE);\nT1CLK = 4;\nst_bit(T1CON,TMR1ON);\n' />
                    <entry name='MFINTOSC 500KHz' clkdiv='1' value='st_bit(INTCON,PEIE);\nT1CLK = 5;\nst_bit(T1CON,TMR1ON);\n' />       
                    <entry name='MFINTOSC 32KHz' clkdiv='1' value='st_bit(INTCON,PEIE);\nT1CLK = 6;\nst_bit(T1CON,TMR1ON);\n' />     
                    <entry name='SOSC' clkdiv='1' value='st_bit(INTCON,PEIE);\nT1CLK = 7;\nst_bit(T1CON,TMR1ON);\n' />     
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T1CON = T1CON &amp; 0x0F;\n' />
                    <entry name='1:2' value='T1CON = (T1CON &amp; 0x0F) | 0x10;\n' />
                    <entry name='1:4' value='T1CON = (T1CON &amp; 0x0F) | 0x20;\n' />
                    <entry name='1:8' value='T1CON = (T1CON &amp; 0x0F) | 0x30;\n' />
                </prescale>
            </options>
        </interrupt>
        <interrupt ident='TMR2' regl='TMR2' regh='' type='timer8' name='Timer 2' handler='#ifndef MX_INTHANDLER_PIR4_TMR2IF\n#define MX_INTHANDLER_PIR4_TMR2IF\nif (ts_bit(PIR4, TMR2IF) &amp;&amp; ts_bit(PIE4, TMR2IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR4, TMR2IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE4, TMR2IE);\n' disable='cr_bit(PIE4, TMR2IE);\n' >
            <timer overflow='256' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Transition on T2CKI pin' clkdiv='0' value='T2CLKCON = 0;\n' />
                    <entry name='Internal clock (Fosc/4)' clkdiv='4' value='T2CLKCON = 1;\n' />
                    <entry name='Internal clock (Fosc)' clkdiv='1' value='T2CLKCON = 2;\n' />
                    <entry name='HFINTOSC' clkdiv='0' value='T2CLKCON = 3;\n' />
                    <entry name='LFINTOSC' clkdiv='0' value='T2CLKCON = 4;\n' />
                    <entry name='MFINTOSC 500KHz' clkdiv='0' value='T2CLKCON = 5;\n' />
                    <entry name='MFINTOSC 31.25KHz' clkdiv='0' value='T2CLKCON = 6;\n' />
                    <entry name='SOSC' clkdiv='0' value='T2CLKCON = 7;\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='st_bit(INTCON,PEIE);\nT2CONbits.T2CKPS = 0;\nst_bit(T2CON,TMR2ON);\n' />
                    <entry name='1:2' value='st_bit(INTCON,PEIE);\nT2CONbits.T2CKPS = 1;\nst_bit(T2CON,TMR2ON);\n' />
                    <entry name='1:4' value='st_bit(INTCON,PEIE);\nT2CONbits.T2CKPS = 2;\nst_bit(T2CON,TMR2ON);\n' />
                    <entry name='1:8' value='st_bit(INTCON,PEIE);\nT2CONbits.T2CKPS = 3;\nst_bit(T2CON,TMR2ON);\n' />
                    <entry name='1:16' value='st_bit(INTCON,PEIE);\nT2CONbits.T2CKPS = 4;\nst_bit(T2CON,TMR2ON);\n' />
                    <entry name='1:32' value='st_bit(INTCON,PEIE);\nT2CONbits.T2CKPS = 5;\nst_bit(T2CON,TMR2ON);\n' />
                    <entry name='1:64' value='st_bit(INTCON,PEIE);\nT2CONbits.T2CKPS = 6;\nst_bit(T2CON,TMR2ON);\n' />
                    <entry name='1:128' value='st_bit(INTCON,PEIE);\nT2CONbits.T2CKPS = 7;\nst_bit(T2CON,TMR2ON);\n' />
                </prescale>
                <postscale name='Postscaler Rate' >
                    <entry name='1:1' value='T2CONbits.T2OUTPS = 0;\n' />
                    <entry name='1:2' value='T2CONbits.T2OUTPS = 1;\n' />
                    <entry name='1:3' value='T2CONbits.T2OUTPS = 2;\n' />
                    <entry name='1:4' value='T2CONbits.T2OUTPS = 3;\n' />
                    <entry name='1:5' value='T2CONbits.T2OUTPS = 4;\n' />
                    <entry name='1:6' value='T2CONbits.T2OUTPS = 5;\n' />
                    <entry name='1:7' value='T2CONbits.T2OUTPS = 6;\n' />
                    <entry name='1:8' value='T2CONbits.T2OUTPS = 7;\n' />
                    <entry name='1:9' value='T2CONbits.T2OUTPS = 8;\n' />
                    <entry name='1:10' value='T2CONbits.T2OUTPS = 9;\n' />
                    <entry name='1:11' value='T2CONbits.T2OUTPS = 10;\n' />
                    <entry name='1:12' value='T2CONbits.T2OUTPS = 11;\n' />
                    <entry name='1:13' value='T2CONbits.T2OUTPS = 12;\n' />
                    <entry name='1:14' value='T2CONbits.T2OUTPS = 13;\n' />
                    <entry name='1:15' value='T2CONbits.T2OUTPS = 14;\n' />
                    <entry name='1:16' value='T2CONbits.T2OUTPS = 15;\n' />
                </postscale>
                <rollover name='Rollover Value' >
                    <entry name='256' min='1' max='256' value='PR2=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='SSP0' type='comms' name='Synchronous Serial Port1' handler='#ifndef MX_INTHANDLER_PIR3_SSP1IF\n#define MX_INTHANDLER_PIR3_SSP1IF\nif (ts_bit(PIR3, SSP1IF) &amp;&amp; ts_bit(PIE3, SSP1IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR3, SSP1IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE3, SSP1IE);\nst_bit(INTCON, PEIE);\n' disable='cr_bit(PIE3, SSP1IE);\n' />
    </interrupts>
</device>
<inline >
    <defines code="#define MX_PWM_NEW_TMR_CONF2\n\n" />
    <directives code="#include &lt;xc.h&gt;\n#include &lt;math.h&gt;\n\n" />
    <main >
        <start code='\nvoid main()\n{\n\t#ifdef INTOSCHELPER\n\t\tINTOSCHELPERCODE\n\t#endif\n\n' />
        <end code='\tmainendloop: goto mainendloop;\n}\n\n' />
        <init code='ANSELA = 0x00;\n' />
    </main>
    <interrupt >
        <enable code='st_bit(INTCON,GIE);\n' />
        <start code='void MX_INTERRUPT_MACRO(void)\n{\n' />
        <end code='}\n\n' />
        <init code='' />
    </interrupt>
    <config >
	<start code='//Chip Configuration Settings\n' />
        <body code='__PROG_CONFIG($(address), 0x$(value:x));\n' /> 
    </config>
</inline>
<test >
    <icd >
        <clock port='0' pin='1' />
        <data port='0' pin='0' />
    </icd>
</test>
</root>
