<root>
<device name='ATMEGA16A' namealt='m16a' product='AVR' family='ATMEGA' bits='8' >
    <clock max_speed='20000000' master_divider='1' default='8000000' />
    <memory >
        <flash bytes='16384' />
        <ram bytes='1024' />
    </memory>
    <configuration address='0x0000' mult='1' >
        <format><byte address='Low' value='0xFF' /><byte address='High' value='0xFF' /><byte address='Extended' value='0xFF' /></format>
        <setting />
        <settings >
            <setting name='SUT_CKSEL' offset='0' mask='63' bits='6' hint='Select Clock Source' >
                <option name='Ext. Clock, Start-up time: 6 CK + 0 ms' value='0' />
                <option name='Ext. Clock, Start-up time: 6 CK + 4 ms' value='16' />
                <option name='Ext. Clock, Start-up time: 6 CK + 64 ms' value='32' />
                <option name='Int. RC Osc. 1 MHz, Start-up time: 6 CK + 0 ms' value='1' />
                <option name='Int. RC Osc. 1 MHz, Start-up time: 6 CK + 4 ms' value='17' />
                <option name='Int. RC Osc. 1 MHz, Start-up time: 6 CK + 64 ms, default value' value='33' />
                <option name='Int. RC Osc. 2 MHz, Start-up time: 6 CK + 0 ms' value='2' />
                <option name='Int. RC Osc. 2 MHz, Start-up time: 6 CK + 4 ms' value='18' />
                <option name='Int. RC Osc. 2 MHz, Start-up time: 6 CK + 64 ms' value='34' />
                <option name='Int. RC Osc. 4 MHz, Start-up time: 6 CK + 0 ms' value='3' />
                <option name='Int. RC Osc. 4 MHz, Start-up time: 6 CK + 4 ms' value='19' />
                <option name='Int. RC Osc. 4 MHz, Start-up time: 6 CK + 64 ms' value='35' />
                <option name='Int. RC Osc. 8 MHz, Start-up time: 6 CK + 0 ms' value='4' />
                <option name='Int. RC Osc. 8 MHz, Start-up time: 6 CK + 4 ms' value='20' />
                <option name='Int. RC Osc. 8 MHz, Start-up time: 6 CK + 64 ms' value='36' />
                <option name='Ext. RC Osc.         -  0.9 MHz, Start-up time: 18 CK + 0 ms' value='5' />
                <option name='Ext. RC Osc.         -  0.9 MHz, Start-up time: 18 CK + 4 ms' value='21' />
                <option name='Ext. RC Osc.         -  0.9 MHz, Start-up time: 18 CK + 64 ms' value='37' />
                <option name='Ext. RC Osc.         -  0.9 MHz, Start-up time: 6 CK + 4 ms' value='53' />
                <option name='Ext. RC Osc. 0.9 MHz -  3.0 MHz, Start-up time: 18 CK + 0 ms' value='6' />
                <option name='Ext. RC Osc. 0.9 MHz -  3.0 MHz, Start-up time: 18 CK + 4 ms' value='22' />
                <option name='Ext. RC Osc. 0.9 MHz -  3.0 MHz, Start-up time: 18 CK + 64 ms' value='38' />
                <option name='Ext. RC Osc. 0.9 MHz -  3.0 MHz, Start-up time: 6 CK + 4 ms' value='54' />
                <option name='Ext. RC Osc. 3.0 MHz -  8.0 MHz, Start-up time: 18 CK + 0 ms' value='7' />
                <option name='Ext. RC Osc. 3.0 MHz -  8.0 MHz, Start-up time: 18 CK + 4 ms' value='23' />
                <option name='Ext. RC Osc. 3.0 MHz -  8.0 MHz, Start-up time: 18 CK + 64 ms' value='39' />
                <option name='Ext. RC Osc. 3.0 MHz -  8.0 MHz, Start-up time: 6 CK + 4 ms' value='55' />
                <option name='Ext. RC Osc. 8.0 MHz - 12.0 MHz, Start-up time: 18 CK + 0 ms' value='8' />
                <option name='Ext. RC Osc. 8.0 MHz - 12.0 MHz, Start-up time: 18 CK + 4 ms' value='24' />
                <option name='Ext. RC Osc. 8.0 MHz - 12.0 MHz, Start-up time: 18 CK + 64 ms' value='40' />
                <option name='Ext. RC Osc. 8.0 MHz - 12.0 MHz, Start-up time: 6 CK + 4 ms' value='56' />
                <option name='Ext. Low-Freq. Crystal, Start-up time: 1K CK + 4 ms' value='9' />
                <option name='Ext. Low-Freq. Crystal, Start-up time: 1K CK + 64 ms' value='25' />
                <option name='Ext. Low-Freq. Crystal, Start-up time: 32K CK + 64 ms' value='41' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 258 CK + 4 ms' value='10' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 258 CK + 64 ms' value='26' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 1K CK + 0 ms' value='42' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 1K CK + 4 ms' value='58' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 1K CK + 64 ms' value='11' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 16K CK + 0 ms' value='27' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 16K CK + 4 ms' value='43' />
                <option name='Ext. Crystal/Resonator Low Freq., Start-up time: 16K CK + 64 ms' value='59' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 258 CK + 4 ms' value='12' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 258 CK + 64 ms' value='28' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 1K CK + 0 ms' value='44' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 1K CK + 4 ms' value='60' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 1K CK + 64 ms' value='13' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 16K CK + 0 ms' value='29' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 16K CK + 4 ms' value='45' />
                <option name='Ext. Crystal/Resonator Medium Freq., Start-up time: 16K CK + 64 ms' value='61' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 258 CK + 4 ms' value='14' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 258 CK + 64 ms' value='30' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 1K CK + 0 ms' value='46' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 1K CK + 4 ms' value='62' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 1K CK + 64 ms' value='15' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 16K CK + 0 ms' value='31' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 16K CK + 4 ms' value='47' />
                <option name='Ext. Crystal/Resonator High Freq., Start-up time: 16K CK + 64 ms' value='63' />
            </setting>
            <setting name='BODEN' offset='6' mask='1' bits='1' hint='Brown-out detection enabled' >
                <option name='Enabled' value='0' />
                <option name='Disabled' value='1' />
            </setting>
            <setting name='BODLEVEL' offset='7' mask='1' bits='1' hint='Brown out detector trigger level' >
                <option name='Brown-out detection at VCC=4.0 V' value='0' />
                <option name='Brown-out detection at VCC=2.7 V' value='1' />
            </setting>
        </settings>
    </configuration>
    <pins sides='2' smd='0' >
        <pin name='(XCK/T0) PB0' port='1' bit='0' />
        <pin name='(T1) PB1' port='1' bit='1' />
        <pin name='(INT2/AIN0) PB2' port='1' bit='2' />
        <pin name='(OC0/AIN1) PB3' port='1' bit='3' />
        <pin name='(/SS) PB4' port='1' bit='4' />
        <pin name='(MOSI) PB5' port='1' bit='5' />
        <pin name='(MISO) PB6' port='1' bit='6' />
        <pin name='(SCK) PB7' port='1' bit='7' />
        <pin name='/RESET' />
        <pin name='VCC' />
        <pin name='GND' />
        <pin name='XTAL2' />
        <pin name='XTAL1' />
        <pin name='(RXD) PD0' port='3' bit='0' />
        <pin name='(TXD) PD1' port='3' bit='1' />
        <pin name='(INT0) PD2' port='3' bit='2' />
        <pin name='(INT1) PD3' port='3' bit='3' />
        <pin name='(OC1B) PD4' port='3' bit='4' />
        <pin name='(OC1A) PD5' port='3' bit='5' />
        <pin name='(ICP1) PD6' port='3' bit='6' />
        <pin name='PD7 (OC2)' port='3' bit='7' />
        <pin name='PC0 (SCL)' port='2' bit='0' />
        <pin name='PC1 (SDA)' port='2' bit='1' />
        <pin name='PC2 (TCK)' port='2' bit='2' />
        <pin name='PC3 (TMS)' port='2' bit='3' />
        <pin name='PC4 (TD0)' port='2' bit='4' />
        <pin name='PC5 (TDI)' port='2' bit='5' />
        <pin name='PC6 (TOSC1)' port='2' bit='6' />
        <pin name='PC7 (TOSC2)' port='2' bit='7' />
        <pin name='AVCC' />
        <pin name='GND' />
        <pin name='AREF' />
        <pin name='PA7 (ADC7)' port='0' bit='7' adc='7' />
        <pin name='PA6 (ADC6)' port='0' bit='6' adc='6' />
        <pin name='PA5 (ADC5)' port='0' bit='5' adc='5' />
        <pin name='PA4 (ADC4)' port='0' bit='4' adc='4' />
        <pin name='PA3 (ADC3)' port='0' bit='3' adc='3' />
        <pin name='PA2 (ADC2)' port='0' bit='2' adc='2' />
        <pin name='PA1 (ADC1)' port='0' bit='1' adc='1' />
        <pin name='PA0 (ADC0)' port='0' bit='0' adc='0' />
    </pins>
    <adc type='1' bits='10' >
        <speed >
            <option name='Fosc / 2' value='1' />
            <option name='Fosc / 4' value='2' />
            <option name='Fosc / 8' value='3' />
            <option name='Fosc / 16' value='4' />
            <option name='Fosc / 32' value='5' />
            <option name='Fosc / 64' value='6' />
            <option name='Fosc / 128' value='7' />
        </speed>
    </adc>
    <eeprom type='1' bytes='512' />
    <spi >
        <miso port='1' pin='6' />
        <mosi port='1' pin='5' />
        <clk port='1' pin='7' />
        <ss port='1' pin='4' />
    </spi>
    <uart >
        <tx port='3' pin='1' />
        <rx port='3' pin='0' />
    </uart>
    <i2c master='1' >
        <sda port='2' pin='1' />
        <scl port='2' pin='0' />
    </i2c>
    <pwm type='1' >
        <timer >
            <option name='timer0' count='1' />
            <option name='timer1' count='2' />
            <option name='timer2' count='1' />
            <option name='timer3' count='0' />
            <option name='timer4' count='0' />
            <option name='timer5' count='0' />
        </timer>
        <prescaler >
            <option name='1' value='1' />
            <option name='8' value='8' />
            <option name='64' value='64' />
            <option name='256' value='256' />
            <option name='1024' value='1024' />
        </prescaler>
        <out port='1' pin='3' />
        <out port='3' pin='5' />
        <out port='3' pin='4' />
        <out port='3' pin='7' />
    </pwm>
    <interrupts >
        <interrupt ident='TMR0' type='timer8' name='Timer 0' handler='#ifndef MX_TIMER0OVF_HANDLER\n#define MX_TIMER0OVF_HANDLER\nISR(TIMER0_OVF_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;TIMER0 OVF&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='TIMSK |= (1 &lt;&lt; TOIE0);\n' disable='TIMSK &amp;= ~(1 &lt;&lt; TOIE0);\n' >
            <timer overflow='256' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='no clock' value='TCCR0 &amp;= 0xf8;\n' />
                    <entry name='1:1' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x01;\n' />
                    <entry name='1:8' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x02;\n' />
                    <entry name='1:64' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x03;\n' />
                    <entry name='1:256' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x04;\n' />
                    <entry name='1:1024' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x05;\n' />
                    <entry name='T0 pin, -ve edge' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x06;\n' />
                    <entry name='T0 pin, +ve edge' value='TCCR0 &amp;= 0xf8;\nTCCR0 |= 0x07;\n' />
                </prescale>
            </options>
        </interrupt>
        <interrupt ident='TMR1' type='timer16' name='Timer 1' handler='#ifndef MX_TIMER1OVF_HANDLER\n#define MX_TIMER1OVF_HANDLER\nISR(TIMER1_OVF_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;TIMER1 OVF&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='TIMSK1 |= (1 &lt;&lt; TOIE1);\n' disable='TIMSK1 &amp;= ~(1 &lt;&lt; TOIE1);\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='no clock' value='TCCR1B &amp;= 0xf8;\n' />
                    <entry name='1:1' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x01;\n' />
                    <entry name='1:8' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x02;\n' />
                    <entry name='1:64' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x03;\n' />
                    <entry name='1:256' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x04;\n' />
                    <entry name='1:1024' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x05;\n' />
                    <entry name='T0 pin, -ve edge' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x06;\n' />
                    <entry name='T0 pin, +ve edge' value='TCCR1B &amp;= 0xf8;\nTCCR1B |= 0x07;\n' />
                </prescale>
            </options>
        </interrupt>
        <interrupt ident='TMR2' type='timer8' name='Timer 2' handler='#ifndef MX_TIMER2OVF_HANDLER\n#define MX_TIMER2OVF_HANDLER\nISR(TIMER2_OVF_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;TIMER2 OVF&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='TIMSK2 |= (1 &lt;&lt; TOIE2);\n' disable='TIMSK2 &amp;= ~(1 &lt;&lt; TOIE2);\n' >
            <timer overflow='256' extrange='0' />
            <options >
                <prescale name='Prescaler Rate' >
                    <entry name='no clock' value='TCCR2B &amp;= 0xf8;\n' />
                    <entry name='1:1' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x01;\n' />
                    <entry name='1:8' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x02;\n' />
                    <entry name='1:64' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x03;\n' />
                    <entry name='1:256' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x04;\n' />
                    <entry name='1:1024' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x05;\n' />
                    <entry name='T0 pin, -ve edge' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x06;\n' />
                    <entry name='T0 pin, +ve edge' value='TCCR2B &amp;= 0xf8;\nTCCR2B |= 0x07;\n' />
                </prescale>
            </options>
        </interrupt>
        <interrupt ident='INT0' type='pin' name='INT0 Input' handler='#ifndef MX_INT0_HANDLER\n#define MX_INT0_HANDLER\nISR(INT0_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;INT0 Input&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='GICR |= (1 &lt;&lt; INT0);\n' disable='GICR &amp;= ~(1 &lt;&lt; INT0);\n' >
            <ioc config='3' >
                <rising port='3' mask='4' />
                <falling port='3' mask='4' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='MCUCR |= (1 &lt;&lt; ISC01) | (1 &lt;&lt; ISC00);\n' />
                    <entry name='Falling edge of INT' value='MCUCR |= (1 &lt;&lt; ISC01);\nMCUCR &amp;= ~(1 &lt;&lt; ISC00);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT1' type='pin' name='INT1 Input' handler='#ifndef MX_INT1_HANDLER\n#define MX_INT1_HANDLER\nISR(INT1_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;INT1 Input&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='GICR |= (1 &lt;&lt; INT1);\n' disable='GICR &amp;= ~(1 &lt;&lt; INT1);\n' >
            <ioc config='3' >
                <rising port='3' mask='8' />
                <falling port='3' mask='8' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='MCUCR |= (1 &lt;&lt; ISC11) | (1 &lt;&lt; ISC10);\n' />
                    <entry name='Falling edge of INT' value='MCUCR |= (1 &lt;&lt; ISC11);\nMCUCR &amp;= ~(1 &lt;&lt; ISC10);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT2' type='pin' name='INT2 Input' handler='#ifndef MX_INT2_HANDLER\n#define MX_INT2_HANDLER\nISR(INT2_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;INT2 Input&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='GICR |= (1 &lt;&lt; INT2);\n' disable='GICR &amp;= ~(1 &lt;&lt; INT2);\n' >
            <ioc config='3' >
                <rising port='1' mask='4' />
                <falling port='1' mask='4' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='MCUCSR |= (1 &lt;&lt; ISC2);\n' />
                    <entry name='Falling edge of INT' value='MCUCSR &amp;= ~(1 &lt;&lt; ISC2);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='RXINT0' type='comms' name='UART0 RX' handler='#ifndef MX_UART0_RX_HANDLER\n#define MX_UART0_RX_HANDLER\nISR(USART0_RX_vect)\n{\n\tFCM_%n();\n}\n#else\n#warning The &lt;UART0 RX&gt; interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.\n#endif\n' enable='UCSR0B |= (1 &lt;&lt; RXCIE0);\n' disable='UCSR0B &amp;=  ~(1 &lt;&lt; RXCIE0);\n' />
    </interrupts>
</device>
<inline >
    <defines code="#include <stdlib.h>\n#include <stdio.h>\n#include <math.h>\n#include <avr\io.h>\n#include <avr\interrupt.h>\n#include <avr\eeprom.h>\n#include <avr\wdt.h>\n\n" />
    <directives code="" />
    <main >
        <start code='int main()\n{\n' />
        <end code='\tmainendloop: goto mainendloop;\n}\n\n' />
        <init code='\tMCUCSR=0x00;\n\twdt_disable();\n' />
    </main>
    <interrupt >
        <enable code='sei();\n' />
        <start code='' />
        <end code='' />
        <init code='\t' />
    </interrupt>
    <config >
        <start code='//Configuration Start\n' />
        <body code='' />
        <end code='//Configuration End\n\n' />
    </config>
</inline>
<test >
    <icd >
        <clock port='1' pin='6' />
        <data port='1' pin='7' />
    </icd>
</test>
</root>
