Files
2025-11-23 20:39:37 +04:00

631 lines
45 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<device name="ATtiny2313A" family="AVR8" configuration-value="attiny2313a" architecture="AVRe" avr-family="TINY">
<property-groups>
<property-group key="signatures">
<property key="jtagid" value="0x910A"/>
<property key="signature0" value="0x1e"/>
<property key="signature1" value="0x91"/>
<property key="signature2" value="0x0a"/>
</property-group>
<property-group key="ocd">
<property key="ocd_revision" value="0"/>
<property key="ocd_datareg" value="0x27"/>
<property key="progbase" value="0x0000"/>
</property-group>
<property-group key="jtag_interface">
<property key="allowfullpagestream" value="0x00"/>
</property-group>
<property-group key="isp_interface">
<property key="ispenterprogmode_timeout" value="200"/>
<property key="ispenterprogmode_stabdelay" value="100"/>
<property key="ispenterprogmode_cmdexedelay" value="25"/>
<property key="ispenterprogmode_synchloops" value="32"/>
<property key="ispenterprogmode_bytedelay" value="0"/>
<property key="ispenterprogmode_pollindex" value="3"/>
<property key="ispenterprogmode_pollvalue" value="0x53"/>
<property key="ispleaveprogmode_predelay" value="1"/>
<property key="ispleaveprogmode_postdelay" value="1"/>
<property key="ispchiperase_erasedelay" value="45"/>
<property key="ispchiperase_pollmethod" value="1"/>
<property key="ispprogramflash_mode" value="0x41"/>
<property key="ispprogramflash_blocksize" value="32"/>
<property key="ispprogramflash_delay" value="10"/>
<property key="ispprogramflash_cmd1" value="0x40"/>
<property key="ispprogramflash_cmd2" value="0x4C"/>
<property key="ispprogramflash_cmd3" value="0x00"/>
<property key="ispprogramflash_pollval1" value="0x00"/>
<property key="ispprogramflash_pollval2" value="0x00"/>
<property key="ispprogrameeprom_mode" value="0x41"/>
<property key="ispprogrameeprom_blocksize" value="4"/>
<property key="ispprogrameeprom_delay" value="6"/>
<property key="ispprogrameeprom_cmd1" value="0xC1"/>
<property key="ispprogrameeprom_cmd2" value="0xC2"/>
<property key="ispprogrameeprom_cmd3" value="0x00"/>
<property key="ispprogrameeprom_pollval1" value="0x00"/>
<property key="ispprogrameeprom_pollval2" value="0x00"/>
<property key="ispreadflash_blocksize" value="256"/>
<property key="ispreadeeprom_blocksize" value="256"/>
<property key="ispreadfuse_pollindex" value="4"/>
<property key="ispreadlock_pollindex" value="4"/>
<property key="ispreadsign_pollindex" value="4"/>
<property key="ispreadosccal_pollindex" value="4"/>
</property-group>
<property-group key="pp_interface">
<property key="ppcontrolstack" value="0x0E 0x1E 0x0E 0x1E 0x2E 0x3E 0x2E 0x3E 0x4E 0x5E 0x4E 0x5E 0x6E 0x7E 0x6E 0x7E 0x26 0x36 0x66 0x76 0x2A 0x3A 0x6A 0x7A 0x2E 0xFD 0x00 0x01 0x00 0x00 0x00 0x00"/>
<property key="ppenterprogmode_stabdelay" value="100"/>
<property key="ppenterprogmode_progmodedelay" value="0"/>
<property key="ppenterprogmode_latchcycles" value="5"/>
<property key="ppenterprogmode_togglevtg" value="1"/>
<property key="ppenterprogmode_poweroffdelay" value="15"/>
<property key="ppenterprogmode_resetdelayms" value="1"/>
<property key="ppenterprogmode_resetdelayus" value="0"/>
<property key="ppleaveprogmode_stabdelay" value="15"/>
<property key="ppleaveprogmode_resetdelay" value="15"/>
<property key="ppchiperase_pulsewidth" value="0"/>
<property key="ppchiperase_polltimeout" value="10"/>
<property key="ppprogramflash_polltimeout" value="5"/>
<property key="ppprogramflash_mode" value="0x0B"/>
<property key="ppprogramflash_blocksize" value="256"/>
<property key="ppreadflash_blocksize" value="256"/>
<property key="ppprogrameeprom_polltimeout" value="5"/>
<property key="ppprogrameeprom_mode" value="0x05"/>
<property key="ppprogrameeprom_blocksize" value="256"/>
<property key="ppreadeeprom_blocksize" value="256"/>
<property key="ppprogramfuse_pulsewidth" value="0"/>
<property key="ppprogramfuse_polltimeout" value="5"/>
<property key="ppprogramlock_pulsewidth" value="0"/>
<property key="ppprogramlock_polltimeout" value="5"/>
</property-group>
<property-group key="isp_interface_stk600">
<property key="ispenterprogmode_timeout" value="200"/>
<property key="ispenterprogmode_stabdelay" value="100"/>
<property key="ispenterprogmode_cmdexedelay" value="25"/>
<property key="ispenterprogmode_synchloops" value="32"/>
<property key="ispenterprogmode_bytedelay" value="0"/>
<property key="ispenterprogmode_pollindex" value="3"/>
<property key="ispenterprogmode_pollvalue" value="0x53"/>
<property key="ispleaveprogmode_predelay" value="1"/>
<property key="ispleaveprogmode_postdelay" value="1"/>
<property key="ispchiperase_erasedelay" value="45"/>
<property key="ispchiperase_pollmethod" value="1"/>
<property key="ispprogramflash_mode" value="0x41"/>
<property key="ispprogramflash_blocksize" value="32"/>
<property key="ispprogramflash_delay" value="6"/>
<property key="ispprogramflash_cmd1" value="0x40"/>
<property key="ispprogramflash_cmd2" value="0x4C"/>
<property key="ispprogramflash_cmd3" value="0x00"/>
<property key="ispprogramflash_pollval1" value="0x00"/>
<property key="ispprogramflash_pollval2" value="0x00"/>
<property key="ispprogrameeprom_mode" value="0x41"/>
<property key="ispprogrameeprom_blocksize" value="4"/>
<property key="ispprogrameeprom_delay" value="6"/>
<property key="ispprogrameeprom_cmd1" value="0xC1"/>
<property key="ispprogrameeprom_cmd2" value="0xC2"/>
<property key="ispprogrameeprom_cmd3" value="0x00"/>
<property key="ispprogrameeprom_pollval1" value="0x00"/>
<property key="ispprogrameeprom_pollval2" value="0x00"/>
<property key="ispreadflash_blocksize" value="256"/>
<property key="ispreadeeprom_blocksize" value="256"/>
<property key="ispreadfuse_pollindex" value="4"/>
<property key="ispreadlock_pollindex" value="4"/>
<property key="ispreadsign_pollindex" value="4"/>
<property key="ispreadosccal_pollindex" value="4"/>
</property-group>
<property-group key="pp_interface_stk600">
<property key="ppcontrolstack" value="0x0E 0x1E 0x0E 0x1E 0x2E 0x3E 0x2E 0x3E 0x4E 0x5E 0x4E 0x5E 0x6E 0x7E 0x6E 0x7E 0x26 0x36 0x66 0x76 0x2A 0x3A 0x6A 0x7A 0x2E 0xFD 0x00 0x01 0x00 0x00 0x00 0x00"/>
<property key="ppenterprogmode_stabdelay" value="100"/>
<property key="ppenterprogmode_progmodedelay" value="0"/>
<property key="ppenterprogmode_latchcycles" value="5"/>
<property key="ppenterprogmode_togglevtg" value="1"/>
<property key="ppenterprogmode_poweroffdelay" value="20"/>
<property key="ppenterprogmode_resetdelayms" value="1"/>
<property key="ppenterprogmode_resetdelayus" value="0"/>
<property key="ppleaveprogmode_stabdelay" value="15"/>
<property key="ppleaveprogmode_resetdelay" value="15"/>
<property key="ppchiperase_pulsewidth" value="0"/>
<property key="ppchiperase_polltimeout" value="10"/>
<property key="ppprogramflash_polltimeout" value="5"/>
<property key="ppprogramflash_mode" value="0x0B"/>
<property key="ppprogramflash_blocksize" value="256"/>
<property key="ppreadflash_blocksize" value="256"/>
<property key="ppprogrameeprom_polltimeout" value="5"/>
<property key="ppprogrameeprom_mode" value="0x05"/>
<property key="ppprogrameeprom_blocksize" value="256"/>
<property key="ppreadeeprom_blocksize" value="256"/>
<property key="ppprogramfuse_pulsewidth" value="0"/>
<property key="ppprogramfuse_polltimeout" value="5"/>
<property key="ppprogramlock_pulsewidth" value="0"/>
<property key="ppprogramlock_polltimeout" value="5"/>
</property-group>
<property-group key="pp_interface_avrdragon">
<property key="ppcontrolstack" value="0x0E 0x1E 0x0E 0x1E 0x2E 0x3E 0x2E 0x3E 0x4E 0x5E 0x4E 0x5E 0x6E 0x7E 0x6E 0x7E 0x26 0x36 0x66 0x76 0x2A 0x3A 0x6A 0x7A 0x2E 0xFD 0x04 0x01 0x00 0x00 0x00 0x00"/>
<property key="ppenterprogmode_stabdelay" value="100"/>
<property key="ppenterprogmode_progmodedelay" value="0"/>
<property key="ppenterprogmode_latchcycles" value="5"/>
<property key="ppenterprogmode_togglevtg" value="1"/>
<property key="ppenterprogmode_poweroffdelay" value="15"/>
<property key="ppenterprogmode_resetdelayms" value="1"/>
<property key="ppenterprogmode_resetdelayus" value="0"/>
<property key="ppleaveprogmode_stabdelay" value="15"/>
<property key="ppleaveprogmode_resetdelay" value="15"/>
<property key="ppchiperase_pulsewidth" value="0"/>
<property key="ppchiperase_polltimeout" value="10"/>
<property key="ppprogramflash_polltimeout" value="5"/>
<property key="ppprogramflash_mode" value="0x0B"/>
<property key="ppprogramflash_blocksize" value="256"/>
<property key="ppreadflash_blocksize" value="256"/>
<property key="ppprogrameeprom_polltimeout" value="5"/>
<property key="ppprogrameeprom_mode" value="0x05"/>
<property key="ppprogrameeprom_blocksize" value="256"/>
<property key="ppreadeeprom_blocksize" value="256"/>
<property key="ppprogramfuse_pulsewidth" value="0"/>
<property key="ppprogramfuse_polltimeout" value="5"/>
<property key="ppprogramlock_pulsewidth" value="0"/>
<property key="ppprogramlock_polltimeout" value="5"/>
</property-group>
</property-groups>
<address-spaces>
<address-space key="prog" start="0x00000000" size="2048" endianness="little">
<memory-segment key="internal_program_memory" name="Internal FLASH" type="flash" start="0x00000000" size="2048" page-size="32" access="RW" executable="1"/>
</address-space>
<address-space key="signatures" start="0x00000000" size="3" endianness="little">
<memory-segment key="signatures" name="Signatures" type="signatures" start="0x00000000" size="3" access="R" executable="0"/>
</address-space>
<address-space key="fuses" start="0x00000000" size="3" endianness="little">
<memory-segment key="fuses" name="Fuses" type="fuses" start="0x00000000" size="3" access="RW" executable="0"/>
</address-space>
<address-space key="lockbits" start="0x00000000" size="1" endianness="little">
<memory-segment key="lockbits" name="Lockbits" type="lockbits" start="0x00000000" size="1" access="RW" executable="0"/>
</address-space>
<address-space key="data" start="0x00000000" size="224" endianness="little">
<memory-segment key="gp_registers" name="General Purpose Registers" type="gp_registers" start="0x00000000" size="32" executable="0"/>
<memory-segment key="mapped_io" name="Mapped Input/Output" type="io" start="0x00000020" size="64" executable="0"/>
<memory-segment key="internal_ram" name="Internal RAM" type="ram" start="0x00000060" size="128" executable="0"/>
</address-space>
<address-space key="eeprom" start="0x00000000" size="128" endianness="little">
<memory-segment key="internal_eeprom" name="Internal EEPROM" type="eeprom" start="0x00000000" size="128" page-size="4" access="RW" executable="0"/>
</address-space>
<address-space key="osccal" start="0x00000000" size="2" endianness="little">
<memory-segment key="osccal" name="OSCCAL" type="osccal" start="0x00000000" size="2" access="R" executable="0"/>
</address-space>
</address-spaces>
<physical-interfaces>
<physical-interface value="debug_wire">
<signals>
<signal name="dW" pad-key="pa2"/>
</signals>
</physical-interface>
<physical-interface value="isp">
<signals>
<signal name="RESET" pad-key="pa2"/>
<signal name="MOSI" pad-key="pb5"/>
<signal name="MISO" pad-key="pb6"/>
<signal name="SCLK" pad-key="pb7"/>
</signals>
</physical-interface>
<physical-interface value="hvpp"/>
</physical-interfaces>
<peripherals>
<peripheral key="portb" name="PORTB" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portb" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PB0" pad-key="pb0" alternative="false" index="0" function="default"/>
<signal name="PB1" pad-key="pb1" alternative="false" index="1" function="default"/>
<signal name="PB2" pad-key="pb2" alternative="false" index="2" function="default"/>
<signal name="PB3" pad-key="pb3" alternative="false" index="3" function="default"/>
<signal name="PB4" pad-key="pb4" alternative="false" index="4" function="default"/>
<signal name="PB5" pad-key="pb5" alternative="false" index="5" function="default"/>
<signal name="PB6" pad-key="pb6" alternative="false" index="6" function="default"/>
<signal name="PB7" pad-key="pb7" alternative="false" index="7" function="default"/>
</signals>
</peripheral>
<peripheral key="portd" name="PORTD" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="portd" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PD0" pad-key="pd0" alternative="false" index="0" function="default"/>
<signal name="PD1" pad-key="pd1" alternative="false" index="1" function="default"/>
<signal name="PD2" pad-key="pd2" alternative="false" index="2" function="default"/>
<signal name="PD3" pad-key="pd3" alternative="false" index="3" function="default"/>
<signal name="PD4" pad-key="pd4" alternative="false" index="4" function="default"/>
<signal name="PD5" pad-key="pd5" alternative="false" index="5" function="default"/>
<signal name="PD6" pad-key="pd6" alternative="false" index="6" function="default"/>
</signals>
</peripheral>
<peripheral key="porta" name="PORTA" module-key="gpio_port">
<register-group-instance description="I/O Port" register-group-key="porta" address-space-key="data" offset="0x0"/>
<signals>
<signal name="PA0" pad-key="pa0" alternative="false" index="0" function="default"/>
<signal name="PA1" pad-key="pa1" alternative="false" index="1" function="default"/>
<signal name="PA2" pad-key="pa2" alternative="false" index="2" function="default"/>
</signals>
</peripheral>
<peripheral key="tc0" name="TC0" module-key="tc8">
<register-group-instance description="Timer/Counter, 8-bit" register-group-key="tc0" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="tc1" name="TC1" module-key="tc16">
<register-group-instance description="Timer/Counter, 16-bit" register-group-key="tc1" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="wdt" name="WDT" module-key="wdt">
<register-group-instance description="Watchdog Timer" register-group-key="wdt" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="usart" name="USART" module-key="usart">
<register-group-instance description="USART" register-group-key="usart" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="ac" name="AC" module-key="ac">
<register-group-instance description="Analog Comparator" register-group-key="ac" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="eeprom" name="EEPROM" module-key="eeprom">
<register-group-instance description="EEPROM" register-group-key="eeprom" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="usi" name="USI" module-key="usi">
<register-group-instance description="Universal Serial Interface" register-group-key="usi" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="exint" name="EXINT" module-key="exint">
<register-group-instance description="External Interrupts" register-group-key="exint" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="cpu" name="CPU" module-key="cpu">
<register-group-instance description="CPU Registers" register-group-key="cpu" address-space-key="data" offset="0x0"/>
</peripheral>
<peripheral key="fuse" name="FUSE" module-key="fuse">
<register-group-instance description="Fuses" register-group-key="fuse" address-space-key="fuses" offset="0x0"/>
</peripheral>
<peripheral key="lockbit" name="LOCKBIT" module-key="lockbit">
<register-group-instance description="Lockbits" register-group-key="lockbit" address-space-key="lockbits" offset="0x0"/>
</peripheral>
</peripherals>
<modules>
<module key="fuse" name="FUSE" description="Fuses">
<register-group key="fuse" name="FUSE">
<register key="low" name="LOW" offset="0x00" size="1" initial-value="0x62">
<bit-field key="ckdiv8" name="CKDIV8" description="Divide clock by 8 internally" mask="0x80"/>
<bit-field key="ckout" name="CKOUT" description="Clock output on PORTD2" mask="0x40"/>
<bit-field key="sut_cksel" name="SUT_CKSEL" description="Select Clock Source" mask="0x3F"/>
</register>
<register key="high" name="HIGH" offset="0x01" size="1" initial-value="0xDF">
<bit-field key="dwen" name="DWEN" description="Debug Wire enable" mask="0x80"/>
<bit-field key="eesave" name="EESAVE" description="Preserve EEPROM through the Chip Erase cycle" mask="0x40"/>
<bit-field key="spien" name="SPIEN" description="Serial program downloading (SPI) enable" mask="0x20"/>
<bit-field key="wdton" name="WDTON" description="Watch-dog Timer always on" mask="0x10"/>
<bit-field key="bodlevel" name="BODLEVEL" description="Brown-out Detector trigger level" mask="0x0E"/>
<bit-field key="rstdisbl" name="RSTDISBL" description="External reset disable" mask="0x01"/>
</register>
<register key="extended" name="EXTENDED" offset="0x02" size="1" initial-value="0xFF">
<bit-field key="selfprgen" name="SELFPRGEN" description="Self Programming enable" mask="0x01"/>
</register>
</register-group>
</module>
<module key="lockbit" name="LOCKBIT" description="Lockbits">
<register-group key="lockbit" name="LOCKBIT">
<register key="lockbit" name="LOCKBIT" offset="0x00" size="1" initial-value="0xFF">
<bit-field key="lb" name="LB" description="Memory Lock" mask="0x03"/>
</register>
</register-group>
</module>
<module key="gpio_port" name="PORT" description="I/O Port">
<register-group key="portb" name="PORTB">
<register key="pinb" name="PINB" description="Port B Input Pins" offset="0x36" size="1"/>
<register key="ddrb" name="DDRB" description="Port B Data Direction Register" offset="0x37" size="1"/>
<register key="portb" name="PORTB" description="Port B Data Register" offset="0x38" size="1"/>
</register-group>
<register-group key="portd" name="PORTD">
<register key="pind" name="PIND" description="Input Pins, Port D" offset="0x30" size="1"/>
<register key="ddrd" name="DDRD" description="Data Direction Register, Port D" offset="0x31" size="1"/>
<register key="portd" name="PORTD" description="Data Register, Port D" offset="0x32" size="1"/>
</register-group>
<register-group key="porta" name="PORTA">
<register key="pina" name="PINA" description="Port A Input Pins" offset="0x39" size="1"/>
<register key="ddra" name="DDRA" description="Port A Data Direction Register" offset="0x3A" size="1"/>
<register key="porta" name="PORTA" description="Port A Data Register" offset="0x3B" size="1"/>
</register-group>
</module>
<module key="tc8" name="TC8" description="Timer/Counter, 8-bit">
<register-group key="tc0" name="TC0">
<register key="tccr0a" name="TCCR0A" description="Timer/Counter Control Register A" offset="0x50" size="1">
<bit-field key="com0a" name="COM0A" description="Compare Match Output A Mode" mask="0xC0"/>
<bit-field key="com0b" name="COM0B" description="Compare Match Output B Mode" mask="0x30"/>
<bit-field key="wgm0" name="WGM0" description="Waveform Generation Mode" mask="0x03"/>
</register>
<register key="tcnt0" name="TCNT0" description="Timer/Counter0" offset="0x52" size="1"/>
<register key="tccr0b" name="TCCR0B" description="Timer/Counter Control Register B" offset="0x53" size="1">
<bit-field key="foc0a" name="FOC0A" description="Force Output Compare B" mask="0x80"/>
<bit-field key="foc0b" name="FOC0B" description="Force Output Compare B" mask="0x40"/>
<bit-field key="wgm02" name="WGM02" mask="0x08"/>
<bit-field key="cs0" name="CS0" description="Clock Select" mask="0x07"/>
</register>
<register key="ocr0a" name="OCR0A" description="Timer/Counter0 Output Compare Register" offset="0x56" size="1"/>
<register key="tifr" name="TIFR" description="Timer/Counter Interrupt Flag register" offset="0x58" size="1">
<bit-field key="ocf0b" name="OCF0B" description="Timer/Counter0 Output Compare Flag 0B" mask="0x04"/>
<bit-field key="tov0" name="TOV0" description="Timer/Counter0 Overflow Flag" mask="0x02"/>
<bit-field key="ocf0a" name="OCF0A" description="Timer/Counter0 Output Compare Flag 0A" mask="0x01"/>
</register>
<register key="timsk" name="TIMSK" description="Timer/Counter Interrupt Mask Register" offset="0x59" size="1">
<bit-field key="ocie0b" name="OCIE0B" description="Timer/Counter0 Output Compare Match B Interrupt Enable" mask="0x04"/>
<bit-field key="toie0" name="TOIE0" description="Timer/Counter0 Overflow Interrupt Enable" mask="0x02"/>
<bit-field key="ocie0a" name="OCIE0A" description="Timer/Counter0 Output Compare Match A Interrupt Enable" mask="0x01"/>
</register>
<register key="ocr0b" name="OCR0B" description="Timer/Counter0 Output Compare Register" offset="0x5C" size="1"/>
</register-group>
</module>
<module key="tc16" name="TC16" description="Timer/Counter, 16-bit">
<register-group key="tc1" name="TC1">
<register key="tccr1c" name="TCCR1C" description="Timer/Counter1 Control Register C" offset="0x42" size="1">
<bit-field key="foc1a" name="FOC1A" description="Force Output Compare for Channel A" mask="0x80"/>
<bit-field key="foc1b" name="FOC1B" description="Force Output Compare for Channel B" mask="0x40"/>
</register>
<register key="icr1" name="ICR1" description="Timer/Counter1 Input Capture Register Bytes" offset="0x44" size="2"/>
<register key="ocr1b" name="OCR1B" description="Timer/Counter1 Output Compare Register Bytes" offset="0x48" size="2"/>
<register key="ocr1a" name="OCR1A" description="Timer/Counter1 Output Compare Register Bytes" offset="0x4A" size="2"/>
<register key="tcnt1" name="TCNT1" description="Timer/Counter1 Bytes" offset="0x4C" size="2"/>
<register key="tccr1b" name="TCCR1B" description="Timer/Counter1 Control Register B" offset="0x4E" size="1">
<bit-field key="icnc1" name="ICNC1" description="Input Capture 1 Noise Canceler" mask="0x80"/>
<bit-field key="ices1" name="ICES1" description="Input Capture 1 Edge Select" mask="0x40"/>
<bit-field key="wgm1" name="WGM1" description="Waveform Generation Mode Bits" mask="0x18"/>
<bit-field key="cs1" name="CS1" description="Clock Select1 bits" mask="0x07"/>
</register>
<register key="tccr1a" name="TCCR1A" description="Timer/Counter1 Control Register A" offset="0x4F" size="1">
<bit-field key="com1a" name="COM1A" description="Compare Output Mode 1A, bits" mask="0xC0"/>
<bit-field key="com1b" name="COM1B" description="Compare Output Mode 1B, bits" mask="0x30"/>
<bit-field key="wgm1" name="WGM1" description="Pulse Width Modulator Select Bits" mask="0x03"/>
</register>
<register key="tifr" name="TIFR" description="Timer/Counter Interrupt Flag register" offset="0x58" size="1">
<bit-field key="tov1" name="TOV1" description="Timer/Counter1 Overflow Flag" mask="0x80"/>
<bit-field key="ocf1a" name="OCF1A" description="Output Compare Flag 1A" mask="0x40"/>
<bit-field key="ocf1b" name="OCF1B" description="Output Compare Flag 1B" mask="0x20"/>
<bit-field key="icf1" name="ICF1" description="Input Capture Flag 1" mask="0x08"/>
</register>
<register key="timsk" name="TIMSK" description="Timer/Counter Interrupt Mask Register" offset="0x59" size="1">
<bit-field key="toie1" name="TOIE1" description="Timer/Counter1 Overflow Interrupt Enable" mask="0x80"/>
<bit-field key="ocie1a" name="OCIE1A" description="Timer/Counter1 Output CompareA Match Interrupt Enable" mask="0x40"/>
<bit-field key="ocie1b" name="OCIE1B" description="Timer/Counter1 Output CompareB Match Interrupt Enable" mask="0x20"/>
<bit-field key="icie1" name="ICIE1" description="Timer/Counter1 Input Capture Interrupt Enable" mask="0x08"/>
</register>
</register-group>
</module>
<module key="wdt" name="WDT" description="Watchdog Timer">
<register-group key="wdt" name="WDT">
<register key="wdtcr" name="WDTCR" description="Watchdog Timer Control Register" offset="0x41" size="1">
<bit-field key="wdif" name="WDIF" description="Watchdog Timeout Interrupt Flag" mask="0x80"/>
<bit-field key="wdie" name="WDIE" description="Watchdog Timeout Interrupt Enable" mask="0x40"/>
<bit-field key="wdp" name="WDP" description="Watchdog Timer Prescaler Bits" mask="0x27"/>
<bit-field key="wdce" name="WDCE" description="Watchdog Change Enable" mask="0x10"/>
<bit-field key="wde" name="WDE" description="Watch Dog Enable" mask="0x08"/>
</register>
</register-group>
</module>
<module key="usart" name="USART" description="USART">
<register-group key="usart" name="USART">
<register key="ubrrh" name="UBRRH" description="USART Baud Rate Register High Byte" offset="0x22" size="1" alternative="true"/>
<register key="ucsrc" name="UCSRC" description="USART Control and Status Register C" offset="0x23" size="1">
<bit-field key="umsel" name="UMSEL" description="USART Mode Select" mask="0xC0"/>
<bit-field key="upm" name="UPM" description="Parity Mode Bits" mask="0x30"/>
<bit-field key="usbs" name="USBS" description="Stop Bit Select" mask="0x08"/>
<bit-field key="ucsz" name="UCSZ" description="Character Size Bits" mask="0x06"/>
<bit-field key="ucpol" name="UCPOL" description="Clock Polarity" mask="0x01"/>
</register>
<register key="ubrrl" name="UBRRL" description="USART Baud Rate Register Low Byte" offset="0x29" size="1"/>
<register key="ucsrb" name="UCSRB" description="USART Control and Status Register B" offset="0x2A" size="1">
<bit-field key="rxcie" name="RXCIE" description="RX Complete Interrupt Enable" mask="0x80"/>
<bit-field key="txcie" name="TXCIE" description="TX Complete Interrupt Enable" mask="0x40"/>
<bit-field key="udrie" name="UDRIE" description="USART Data register Empty Interrupt Enable" mask="0x20"/>
<bit-field key="rxen" name="RXEN" description="Receiver Enable" mask="0x10"/>
<bit-field key="txen" name="TXEN" description="Transmitter Enable" mask="0x08"/>
<bit-field key="ucsz2" name="UCSZ2" description="Character Size" mask="0x04"/>
<bit-field key="rxb8" name="RXB8" description="Receive Data Bit 8" mask="0x02"/>
<bit-field key="txb8" name="TXB8" description="Transmit Data Bit 8" mask="0x01"/>
</register>
<register key="ucsra" name="UCSRA" description="USART Control and Status Register A" offset="0x2B" size="1">
<bit-field key="rxc" name="RXC" description="USART Receive Complete" mask="0x80"/>
<bit-field key="txc" name="TXC" description="USART Transmitt Complete" mask="0x40"/>
<bit-field key="udre" name="UDRE" description="USART Data Register Empty" mask="0x20"/>
<bit-field key="fe" name="FE" description="Framing Error" mask="0x10"/>
<bit-field key="dor" name="DOR" description="Data overRun" mask="0x08"/>
<bit-field key="upe" name="UPE" description="USART Parity Error" mask="0x04"/>
<bit-field key="u2x" name="U2X" description="Double the USART Transmission Speed" mask="0x02"/>
<bit-field key="mpcm" name="MPCM" description="Multi-processor Communication Mode" mask="0x01"/>
</register>
<register key="udr" name="UDR" description="USART I/O Data Register" offset="0x2C" size="1"/>
</register-group>
</module>
<module key="ac" name="AC" description="Analog Comparator">
<register-group key="ac" name="AC">
<register key="didr" name="DIDR" description="Digital Input Disable Register 1" offset="0x21" size="1"/>
<register key="acsr" name="ACSR" description="Analog Comparator Control And Status Register" offset="0x28" size="1">
<bit-field key="acd" name="ACD" description="Analog Comparator Disable" mask="0x80"/>
<bit-field key="acbg" name="ACBG" description="Analog Comparator Bandgap Select" mask="0x40"/>
<bit-field key="aco" name="ACO" description="Analog Compare Output" mask="0x20"/>
<bit-field key="aci" name="ACI" description="Analog Comparator Interrupt Flag" mask="0x10"/>
<bit-field key="acie" name="ACIE" description="Analog Comparator Interrupt Enable" mask="0x08"/>
<bit-field key="acic" name="ACIC" mask="0x04"/>
<bit-field key="acis" name="ACIS" description="Analog Comparator Interrupt Mode Select bits" mask="0x03"/>
</register>
</register-group>
</module>
<module key="eeprom" name="EEPROM" description="EEPROM">
<register-group key="eeprom" name="EEPROM">
<register key="eecr" name="EECR" description="EEPROM Control Register" offset="0x3C" size="1">
<bit-field key="eepm" name="EEPM" mask="0x30"/>
<bit-field key="eerie" name="EERIE" description="EEProm Ready Interrupt Enable" mask="0x08"/>
<bit-field key="eempe" name="EEMPE" description="EEPROM Master Write Enable" mask="0x04"/>
<bit-field key="eepe" name="EEPE" description="EEPROM Write Enable" mask="0x02"/>
<bit-field key="eere" name="EERE" description="EEPROM Read Enable" mask="0x01"/>
</register>
<register key="eedr" name="EEDR" description="EEPROM Data Register" offset="0x3D" size="1"/>
<register key="eear" name="EEAR" description="EEPROM Read/Write Access" offset="0x3E" size="1"/>
</register-group>
</module>
<module key="usi" name="USI" description="Universal Serial Interface">
<register-group key="usi" name="USI">
<register key="usicr" name="USICR" description="USI Control Register" offset="0x2D" size="1">
<bit-field key="usisie" name="USISIE" description="Start Condition Interrupt Enable" mask="0x80"/>
<bit-field key="usioie" name="USIOIE" description="Counter Overflow Interrupt Enable" mask="0x40"/>
<bit-field key="usiwm" name="USIWM" description="USI Wire Mode Bits" mask="0x30"/>
<bit-field key="usics" name="USICS" description="USI Clock Source Select Bits" mask="0x0C"/>
<bit-field key="usiclk" name="USICLK" description="Clock Strobe" mask="0x02"/>
<bit-field key="usitc" name="USITC" description="Toggle Clock Port Pin" mask="0x01"/>
</register>
<register key="usisr" name="USISR" description="USI Status Register" offset="0x2E" size="1">
<bit-field key="usisif" name="USISIF" description="Start Condition Interrupt Flag" mask="0x80"/>
<bit-field key="usioif" name="USIOIF" description="Counter Overflow Interrupt Flag" mask="0x40"/>
<bit-field key="usipf" name="USIPF" description="Stop Condition Flag" mask="0x20"/>
<bit-field key="usidc" name="USIDC" description="Data Output Collision" mask="0x10"/>
<bit-field key="usicnt" name="USICNT" description="USI Counter Value Bits" mask="0x0F"/>
</register>
<register key="usidr" name="USIDR" description="USI Data Register" offset="0x2F" size="1"/>
</register-group>
</module>
<module key="exint" name="EXINT" description="External Interrupts">
<register-group key="exint" name="EXINT">
<register key="pcmsk1" name="PCMSK1" description="Pin Change Interrupt Mask Register 1" offset="0x24" size="1">
<bit-field key="pcint" name="PCINT" description="Pin Change Interrupt Masks" mask="0x07"/>
</register>
<register key="pcmsk2" name="PCMSK2" description="Pin Change Interrupt Mask Register 2" offset="0x25" size="1">
<bit-field key="pcint" name="PCINT" description="Pin Change Interrupt Masks" mask="0x7F"/>
</register>
<register key="pcmsk0" name="PCMSK0" description="Pin Change Interrupt Mask Register 0" offset="0x40" size="1"/>
<register key="gifr" name="GIFR" description="General Interrupt Flag Register" offset="0x5A" size="1">
<bit-field key="intf" name="INTF" description="External Interrupt Flags" mask="0xC0"/>
<bit-field key="pcif" name="PCIF" description="Pin Change Interrupt Flags" mask="0x38"/>
</register>
<register key="gimsk" name="GIMSK" description="General Interrupt Mask Register" offset="0x5B" size="1">
<bit-field key="int" name="INT" description="External Interrupt Request 1 Enable" mask="0xC0"/>
<bit-field key="pcie" name="PCIE" mask="0x20"/>
</register>
</register-group>
</module>
<module key="cpu" name="CPU" description="CPU Registers">
<register-group key="cpu" name="CPU">
<register key="prr" name="PRR" description="Power reduction register" offset="0x26" size="1">
<bit-field key="prtim" name="PRTIM" mask="0x0C"/>
<bit-field key="prusi" name="PRUSI" mask="0x02"/>
<bit-field key="prusart" name="PRUSART" mask="0x01"/>
</register>
<register key="bodcr" name="BODCR" description="BOD control register" offset="0x27" size="1">
<bit-field key="bpds" name="BPDS" mask="0x02"/>
<bit-field key="bpdse" name="BPDSE" mask="0x01"/>
</register>
<register key="gpior0" name="GPIOR0" description="General Purpose I/O Register 0" offset="0x33" size="1"/>
<register key="gpior1" name="GPIOR1" description="General Purpose I/O Register 1" offset="0x34" size="1"/>
<register key="gpior2" name="GPIOR2" description="General Purpose I/O Register 2" offset="0x35" size="1"/>
<register key="gtccr" name="GTCCR" description="General Timer Counter Control Register" offset="0x43" size="1">
<bit-field key="psr10" name="PSR10" mask="0x01"/>
</register>
<register key="clkpr" name="CLKPR" description="Clock Prescale Register" offset="0x46" size="1">
<bit-field key="clkpce" name="CLKPCE" description="Clock Prescaler Change Enable" mask="0x80"/>
<bit-field key="clkps" name="CLKPS" description="Clock Prescaler Select Bits" mask="0x0F"/>
</register>
<register key="osccal" name="OSCCAL" description="Oscillator Calibration Register" offset="0x51" size="1">
<bit-field key="osccal" name="OSCCAL" description="Oscillator Calibration" mask="0xFF"/>
</register>
<register key="mcusr" name="MCUSR" description="MCU Status register" offset="0x54" size="1">
<bit-field key="wdrf" name="WDRF" description="Watchdog Reset Flag" mask="0x08"/>
<bit-field key="borf" name="BORF" description="Brown-out Reset Flag" mask="0x04"/>
<bit-field key="extrf" name="EXTRF" description="External Reset Flag" mask="0x02"/>
<bit-field key="porf" name="PORF" description="Power-On Reset Flag" mask="0x01"/>
</register>
<register key="mcucr" name="MCUCR" description="MCU Control Register" offset="0x55" size="1">
<bit-field key="pud" name="PUD" description="Pull-up Disable" mask="0x80"/>
<bit-field key="sm" name="SM" description="Sleep Mode Select Bits" mask="0x50"/>
<bit-field key="se" name="SE" description="Sleep Enable" mask="0x20"/>
<bit-field key="isc1" name="ISC1" description="Interrupt Sense Control 1 bits" mask="0x0C"/>
<bit-field key="isc0" name="ISC0" description="Interrupt Sense Control 0 bits" mask="0x03"/>
</register>
<register key="spmcsr" name="SPMCSR" description="Store Program Memory Control and Status register" offset="0x57" size="1">
<bit-field key="ctpb" name="CTPB" description="Clear Temporary Page Buffer" mask="0x10"/>
<bit-field key="rflb" name="RFLB" description="Read Fuse and Lock Bits" mask="0x08"/>
<bit-field key="pgwrt" name="PGWRT" description="Page Write" mask="0x04"/>
<bit-field key="pgers" name="PGERS" description="Page Erase" mask="0x02"/>
<bit-field key="spmen" name="SPMEN" description="Store Program Memory Enable" mask="0x01"/>
</register>
<register key="spl" name="SPL" description="Stack Pointer Low Byte" offset="0x5D" size="1"/>
<register key="sreg" name="SREG" description="Status Register" offset="0x5F" size="1">
<bit-field key="i" name="I" description="Global Interrupt Enable" mask="0x80"/>
<bit-field key="t" name="T" description="Bit Copy Storage" mask="0x40"/>
<bit-field key="h" name="H" description="Half Carry Flag" mask="0x20"/>
<bit-field key="s" name="S" description="Sign Bit" mask="0x10"/>
<bit-field key="v" name="V" description="Two's Complement Overflow Flag" mask="0x08"/>
<bit-field key="n" name="N" description="Negative Flag" mask="0x04"/>
<bit-field key="z" name="Z" description="Zero Flag" mask="0x02"/>
<bit-field key="c" name="C" description="Carry Flag" mask="0x01"/>
</register>
</register-group>
</module>
</modules>
<pads>
<pad key="gnd" name="GND"/>
<pad key="pa0" name="PA0"/>
<pad key="pa1" name="PA1"/>
<pad key="pa2" name="PA2"/>
<pad key="pb0" name="PB0"/>
<pad key="pb1" name="PB1"/>
<pad key="pb2" name="PB2"/>
<pad key="pb3" name="PB3"/>
<pad key="pb4" name="PB4"/>
<pad key="pb5" name="PB5"/>
<pad key="pb6" name="PB6"/>
<pad key="pb7" name="PB7"/>
<pad key="pd0" name="PD0"/>
<pad key="pd1" name="PD1"/>
<pad key="pd2" name="PD2"/>
<pad key="pd3" name="PD3"/>
<pad key="pd4" name="PD4"/>
<pad key="pd5" name="PD5"/>
<pad key="pd6" name="PD6"/>
<pad key="vcc" name="VCC"/>
</pads>
<pinouts>
<pinout key="pdip_soic_20" name="PDIP_SOIC_20" type="dip">
<pin position="1" pad-key="pa2"/>
<pin position="2" pad-key="pd0"/>
<pin position="3" pad-key="pd1"/>
<pin position="4" pad-key="pa1"/>
<pin position="5" pad-key="pa0"/>
<pin position="6" pad-key="pd2"/>
<pin position="7" pad-key="pd3"/>
<pin position="8" pad-key="pd4"/>
<pin position="9" pad-key="pd5"/>
<pin position="10" pad-key="gnd"/>
<pin position="11" pad-key="pd6"/>
<pin position="12" pad-key="pb0"/>
<pin position="13" pad-key="pb1"/>
<pin position="14" pad-key="pb2"/>
<pin position="15" pad-key="pb3"/>
<pin position="16" pad-key="pb4"/>
<pin position="17" pad-key="pb5"/>
<pin position="18" pad-key="pb6"/>
<pin position="19" pad-key="pb7"/>
<pin position="20" pad-key="vcc"/>
</pinout>
<pinout key="qfn20" name="QFN20" type="qfn">
<pin position="1" pad-key="pd1"/>
<pin position="2" pad-key="pa1"/>
<pin position="3" pad-key="pa0"/>
<pin position="4" pad-key="pd2"/>
<pin position="5" pad-key="pd3"/>
<pin position="6" pad-key="pd4"/>
<pin position="7" pad-key="pd5"/>
<pin position="8" pad-key="gnd"/>
<pin position="9" pad-key="pd6"/>
<pin position="10" pad-key="pb0"/>
<pin position="11" pad-key="pb1"/>
<pin position="12" pad-key="pb2"/>
<pin position="13" pad-key="pb3"/>
<pin position="14" pad-key="pb4"/>
<pin position="15" pad-key="pb5"/>
<pin position="16" pad-key="pb6"/>
<pin position="17" pad-key="pb7"/>
<pin position="18" pad-key="vcc"/>
<pin position="19" pad-key="pa2"/>
<pin position="20" pad-key="pd0"/>
</pinout>
</pinouts>
<variants>
<variant key="attiny2313a_sur" name="ATtiny2313A-SUR" pinout-key="pdip_soic_20"/>
<variant key="attiny2313a_su" name="ATtiny2313A-SU" pinout-key="pdip_soic_20"/>
<variant key="attiny2313a_pu" name="ATtiny2313A-PU" pinout-key="pdip_soic_20"/>
<variant key="attiny2313a_mur" name="ATtiny2313A-MUR" pinout-key="qfn20"/>
<variant key="attiny2313a_mu" name="ATtiny2313A-MU" pinout-key="qfn20"/>
<variant key="attiny2313a_mmhr" name="ATtiny2313A-MMHR" pinout-key="qfn20"/>
<variant key="attiny2313a_mmh" name="ATtiny2313A-MMH" pinout-key="qfn20"/>
</variants>
</device>