<root>
<device name='16F84A' product='PIC' family='16F' bits='8' >
    <clock max_speed='20000000' master_divider='4' default='19660800' />
    <memory >
        <flash bytes='1792' />
        <ram bytes='68' />
    </memory>
    <configuration address='0x2007' mult='2' >
        <format >
            <word value='0x3FFA' />
        </format>
        <setting />
        <settings >
            <setting name='OSC' offset='0' mask='3' bits='2' hint='Oscillator' >
                <option name='RC' value='3' />
                <option name='LP' value='0' />
                <option name='XT' value='1' />
                <option name='HS' value='2' />
            </setting>
            <setting name='WDT' offset='2' mask='1' bits='1' hint='Watchdog Timer' >
                <option name='On' value='1' />
                <option name='Off' value='0' />
            </setting>
            <setting name='PUT' offset='3' mask='1' bits='1' hint='Power Up Timer' >
                <option name='Off' value='1' />
                <option name='On' value='0' />
            </setting>
            <setting name='CP' offset='4' mask='1023' bits='10' hint='Code Protect' >
                <option name='Off' value='1023' />
                <option name='On' value='0' />
            </setting>
        </settings>
    </configuration>
    <pins sides='2' smd='0' >
        <pin name='RA2' port='0' bit='2' />
        <pin name='RA3' port='0' bit='3' />
        <pin name='RA4/T0CKI' port='0' bit='4' />
        <pin name='MCLR' />
        <pin name='VSS' />
        <pin name='RB0/INT' port='1' bit='0' />
        <pin name='RB1' port='1' bit='1' />
        <pin name='RB2' port='1' bit='2' />
        <pin name='RB3' port='1' bit='3' />
        <pin name='RB4' port='1' bit='4' />
        <pin name='RB5' port='1' bit='5' />
        <pin name='RB6' port='1' bit='6' />
        <pin name='RB7' port='1' bit='7' />
        <pin name='VDD' />
        <pin name='OSC2/CLKOUT' />
        <pin name='OSC1/CLKIN' />
        <pin name='RA0' port='0' bit='0' />
        <pin name='RA1' port='0' bit='1' />
    </pins>
    <eeprom type='1' bytes='64' />
    <interrupts >
        <interrupt ident='TMR0' regl='tmr0' regh='' type='timer8' name='Timer 0' handler='#ifndef MX_INTHANDLER_intcon_T0IF\n#define MX_INTHANDLER_intcon_T0IF\nif (ts_bit(intcon, T0IF) &amp;&amp; ts_bit(intcon, T0IE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tcr_bit(intcon, T0IF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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(intcon, T0IE);\n' disable='cr_bit(intcon, T0IE);\n' >
            <timer overflow='256' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Transition on T0CKI pin' clkdiv='0' value='st_bit(option_reg,T0CS);\n' />
                    <entry name='Internal clock (CLKO)' clkdiv='4' value='cr_bit(option_reg,T0CS);\n' />
                </option>
                <option name='Source Edge Select' >
                    <entry name='high-to-low transition on TMR0 Clock' value='st_bit(option_reg,T0SE);\n' />
                    <entry name='low-to-high transition on TMR0 Clock' value='cr_bit(option_reg,T0SE);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='option_reg = (option_reg &amp; 0xF0) | 0x08;\n' />
                    <entry name='1:2' value='option_reg = (option_reg &amp; 0xF0) | 0x00;\n' />
                    <entry name='1:4' value='option_reg = (option_reg &amp; 0xF0) | 0x01;\n' />
                    <entry name='1:8' value='option_reg = (option_reg &amp; 0xF0) | 0x02;\n' />
                    <entry name='1:16' value='option_reg = (option_reg &amp; 0xF0) | 0x03;\n' />
                    <entry name='1:32' value='option_reg = (option_reg &amp; 0xF0) | 0x04;\n' />
                    <entry name='1:64' value='option_reg = (option_reg &amp; 0xF0) | 0x05;\n' />
                    <entry name='1:128' value='option_reg = (option_reg &amp; 0xF0) | 0x06;\n' />
                    <entry name='1:256' value='option_reg = (option_reg &amp; 0xF0) | 0x07;\n' />
                </prescale>
            </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(intcon, INTF) &amp;&amp; ts_bit(intcon, INTE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tcr_bit(intcon, INTF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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(intcon, INTE);\n' disable='cr_bit(intcon, INTE);\n' >
            <ioc config='3' >
                <rising port='1' mask='1' />
                <falling port='1' mask='1' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='st_bit(option_reg,INTEDG);\n' />
                    <entry name='Falling edge of INT' value='cr_bit(option_reg,INTEDG);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='IOC0' type='multipin' name='IOC Port B' handler='#ifndef MX_INTHANDLER_intcon_RBIF\n#define MX_INTHANDLER_intcon_RBIF\nchar mxtmp;\nif (ts_bit(intcon, RBIF) &amp;&amp; ts_bit(intcon, RBIE))\n{\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 1;\n\t#endif\t\n\tFCM_%n();\n\tmxtmp=portb;\n\tcr_bit(intcon, RBIF);\n\t#ifdef USE_FLOWCODE_ICD\n\t\textern char ICD_Interrupt_Enable = 0;\n\t#endif\t\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(intcon, RBIE);\n' disable='cr_bit(intcon, RBIE);\n' >
            <ioc config='4' >
                <rising port='1' mask='0xF0' />
                <falling port='1' mask='0xF0' />
            </ioc>
            <options >
                <option name='Interrupt Pins' >
                    <entry name='RB4 - RB7' value='' />
                </option>
            </options>            
        </interrupt>
    </interrupts>
</device>
<inline >
    <main >
        <start code='\nvoid main()\n{\n' />
        <end code='\tmainendloop: goto mainendloop;\n}\n\n' />
        <init code='' />
    </main>
    <interrupt >
        <enable code='st_bit(intcon,GIE);\n' />
        <start code='void MX_INTERRUPT_MACRO(void)\n{\n' />
        <end code='}\n\n' />
        <init code='option_reg = 0xC0;\n\n' />
    </interrupt>
    <config >
        <body code='#ifdef _BOOSTC\n#pragma DATA $(address), 0x$(value:x)\n#endif\n#ifdef HI_TECH_C\n__CONFIG(0x$(value:x));\n#endif\n' />
    </config>
</inline>
<test >
    <icd >
        <clock port='1' pin='6' />
        <data port='1' pin='7' />
    </icd>
</test>
</root>
