<?xml version="1.0"?>
<AVRPART>
  <MODULE_LIST>[PACKAGE:POWER:CORE:ADMIN:MEMORY:LOCKBIT:FUSE:PROGRAMMING:INTERRUPT_VECTOR:IO_MODULE:ICE_SETTINGS]</MODULE_LIST>
  <PACKAGE>
    <PACKAGES>[TSOP;LGA]</PACKAGES>
    <TSOP>
      <NMB_PIN>28</NMB_PIN>
      <PIN1>
        <NAME>[PV2]</NAME>
        <TEXT/>
      </PIN1>
      <PIN2>
        <NAME>[PV1]</NAME>
        <TEXT/>
      </PIN2>
      <PIN3>
        <NAME>[NV]</NAME>
        <TEXT/>
      </PIN3>
      <PIN4>
        <NAME>[GND]</NAME>
        <TEXT/>
      </PIN4>
      <PIN5>
        <NAME>[VFET]</NAME>
        <TEXT/>
      </PIN5>
      <PIN6>
        <NAME>[CF1P]</NAME>
        <TEXT/>
      </PIN6>
      <PIN7>
        <NAME>[CF1N]</NAME>
        <TEXT/>
      </PIN7>
      <PIN8>
        <NAME>[CF2P]</NAME>
        <TEXT/>
      </PIN8>
      <PIN9>
        <NAME>[CF2N]</NAME>
        <TEXT/>
      </PIN9>
      <PIN10>
        <NAME>[VREG]</NAME>
        <TEXT/>
      </PIN10>
      <PIN11>
        <NAME>[VREF]</NAME>
        <TEXT/>
      </PIN11>
      <PIN12>
        <NAME>[VREFGND]</NAME>
        <TEXT/>
      </PIN12>
      <PIN13>
        <NAME>[PI]</NAME>
        <TEXT/>
      </PIN13>
      <PIN14>
        <NAME>[NI]</NAME>
        <TEXT/>
      </PIN14>
      <PIN15>
        <NAME>[PA0]</NAME>
        <TEXT/>
      </PIN15>
      <PIN16>
        <NAME>[PA1]</NAME>
        <TEXT/>
      </PIN16>
      <PIN17>
        <NAME>[PA2]</NAME>
        <TEXT/>
      </PIN17>
      <PIN18>
        <NAME>[PB0]</NAME>
        <TEXT/>
      </PIN18>
      <PIN19>
        <NAME>[PB1]</NAME>
        <TEXT/>
      </PIN19>
      <PIN20>
        <NAME>[PB2]</NAME>
        <TEXT/>
      </PIN20>
      <PIN21>
        <NAME>[PB3]</NAME>
        <TEXT/>
      </PIN21>
      <PIN22>
        <NAME>[GND]</NAME>
        <TEXT/>
      </PIN22>
      <PIN23>
        <NAME>[VCC]</NAME>
        <TEXT/>
      </PIN23>
      <PIN24>
        <NAME>[PC0]</NAME>
        <TEXT/>
      </PIN24>
      <PIN25>
        <NAME>[BATT]</NAME>
        <TEXT/>
      </PIN25>
      <PIN26>
        <NAME>[GND]</NAME>
        <TEXT/>
      </PIN26>
      <PIN27>
        <NAME>[NC]</NAME>
        <TEXT/>
      </PIN27>
      <PIN28>
        <NAME>[OC]</NAME>
        <TEXT/>
      </PIN28>
    </TSOP>
  </PACKAGE>
  <POWER>
    <CLOCK>4MHz</CLOCK>
    <TEMP>70C</TEMP>
    <ACTIVE>TBD mA</ACTIVE>
    <IDLE>TBD mA</IDLE>
    <POWER_DOWN>TBD uA</POWER_DOWN>
  </POWER>
  <CORE>
    <CORE_VERSION>V2E</CORE_VERSION>
    <ID>AVRSimCoreV2.SimCoreV2</ID>
    <NEW_INSTRUCTIONS>[]</NEW_INSTRUCTIONS>
    <INSTRUCTIONS_NOT_SUPPORTED>[]</INSTRUCTIONS_NOT_SUPPORTED>
    <RAMP_REGISTERS>[]</RAMP_REGISTERS>
    <GP_REG_FILE>
      <NMB_REG>32</NMB_REG>
      <START_ADDR>$00</START_ADDR>
      <X_REG_HIGH>$1B</X_REG_HIGH>
      <X_REG_LOW>$1A</X_REG_LOW>
      <Y_REG_HIGH>$1D</Y_REG_HIGH>
      <Y_REG_LOW>$1C</Y_REG_LOW>
      <Z_REG_HIGH>$1F</Z_REG_HIGH>
      <Z_REG_LOW>$1E</Z_REG_LOW>
    </GP_REG_FILE>
  </CORE>
  <ADMIN>
    <PART_NAME>ATmega32HVB</PART_NAME>
    <SPEED>8MHZ</SPEED>
    <BUILD>1</BUILD>
    <RELEASE_STATUS>RELEASED</RELEASE_STATUS>
    <SIGNATURE>
      <ADDR000>$1E</ADDR000>
      <ADDR001>$95</ADDR001>
      <ADDR002>$10</ADDR002>
    </SIGNATURE>
    <OCD_PARAMETERS>
      <OCD_REVISION>1</OCD_REVISION>
      <OCD_REGISTER_ADDRESS>0x31</OCD_REGISTER_ADDRESS>
      <CACHE_TYPE>0</CACHE_TYPE>
      <USE_JTAGID>0</USE_JTAGID>
      <DW_BASE_PC>0x00</DW_BASE_PC>
    </OCD_PARAMETERS>
  </ADMIN>
  <MEMORY>
    <PROG_FLASH>32768</PROG_FLASH>
    <EEPROM>1024</EEPROM>
    <INT_SRAM>
      <SIZE>2048</SIZE>
      <START_ADDR>$100</START_ADDR>
    </INT_SRAM>
    <EXT_SRAM>
      <SIZE>NA</SIZE>
      <START_ADDR>NA</START_ADDR>
    </EXT_SRAM>
    <IO_MEMORY>
      <IO_START_ADDR>$00</IO_START_ADDR>
      <IO_STOP_ADDR>$3F</IO_STOP_ADDR>
      <EXT_IO_START_ADDR>$60</EXT_IO_START_ADDR>
      <EXT_IO_STOP_ADDR>$FF</EXT_IO_STOP_ADDR>
      <MEM_START_ADDR>$20</MEM_START_ADDR>
      <MEM_STOP_ADDR>$FF</MEM_STOP_ADDR>
      <BPPLR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xFE</MEM_ADDR>
        <BPPL_MASK>0x01</BPPL_MASK>
        <BPPLE_MASK>0x02</BPPLE_MASK>
      </BPPLR>
      <BPCR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xFD</MEM_ADDR>
        <CHCD_MASK>0x01</CHCD_MASK>
        <DHCD_MASK>0x02</DHCD_MASK>
        <COCD_MASK>0x04</COCD_MASK>
        <DOCD_MASK>0x08</DOCD_MASK>
        <SCD_MASK>0x10</SCD_MASK>
        <EPID_MASK>0x20</EPID_MASK>
      </BPCR>
      <BPHCTR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xFC</MEM_ADDR>
        <HCPT0_MASK>0x01</HCPT0_MASK>
        <HCPT1_MASK>0x02</HCPT1_MASK>
        <HCPT2_MASK>0x04</HCPT2_MASK>
        <HCPT3_MASK>0x08</HCPT3_MASK>
        <HCPT4_MASK>0x10</HCPT4_MASK>
        <HCPT5_MASK>0x20</HCPT5_MASK>
      </BPHCTR>
      <BPOCTR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xFB</MEM_ADDR>
        <OCPT0_MASK>0x01</OCPT0_MASK>
        <OCPT1_MASK>0x02</OCPT1_MASK>
        <OCPT2_MASK>0x04</OCPT2_MASK>
        <OCPT3_MASK>0x08</OCPT3_MASK>
        <OCPT4_MASK>0x10</OCPT4_MASK>
        <OCPT5_MASK>0x20</OCPT5_MASK>
      </BPOCTR>
      <BPSCTR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xFA</MEM_ADDR>
        <SCPT0_MASK>0x01</SCPT0_MASK>
        <SCPT1_MASK>0x02</SCPT1_MASK>
        <SCPT2_MASK>0x04</SCPT2_MASK>
        <SCPT3_MASK>0x08</SCPT3_MASK>
        <SCPT4_MASK>0x10</SCPT4_MASK>
        <SCPT5_MASK>0x20</SCPT5_MASK>
        <SCPT6_MASK>0x40</SCPT6_MASK>
      </BPSCTR>
      <BPCHCD>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF9</MEM_ADDR>
        <CHCDL0_MASK>0x01</CHCDL0_MASK>
        <CHCDL1_MASK>0x02</CHCDL1_MASK>
        <CHCDL2_MASK>0x04</CHCDL2_MASK>
        <CHCDL3_MASK>0x08</CHCDL3_MASK>
        <CHCDL4_MASK>0x10</CHCDL4_MASK>
        <CHCDL5_MASK>0x20</CHCDL5_MASK>
        <CHCDL6_MASK>0x40</CHCDL6_MASK>
        <CHCDL7_MASK>0x80</CHCDL7_MASK>
      </BPCHCD>
      <BPDHCD>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF8</MEM_ADDR>
        <DHCDL0_MASK>0x01</DHCDL0_MASK>
        <DHCDL1_MASK>0x02</DHCDL1_MASK>
        <DHCDL2_MASK>0x04</DHCDL2_MASK>
        <DHCDL3_MASK>0x08</DHCDL3_MASK>
        <DHCDL4_MASK>0x10</DHCDL4_MASK>
        <DHCDL5_MASK>0x20</DHCDL5_MASK>
        <DHCDL6_MASK>0x40</DHCDL6_MASK>
        <DHCDL7_MASK>0x80</DHCDL7_MASK>
      </BPDHCD>
      <BPCOCD>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF7</MEM_ADDR>
        <COCDL0_MASK>0x01</COCDL0_MASK>
        <COCDL1_MASK>0x02</COCDL1_MASK>
        <COCDL2_MASK>0x04</COCDL2_MASK>
        <COCDL3_MASK>0x08</COCDL3_MASK>
        <COCDL4_MASK>0x10</COCDL4_MASK>
        <COCDL5_MASK>0x20</COCDL5_MASK>
        <COCDL6_MASK>0x40</COCDL6_MASK>
        <COCDL7_MASK>0x80</COCDL7_MASK>
      </BPCOCD>
      <BPDOCD>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF6</MEM_ADDR>
        <DOCDL0_MASK>0x01</DOCDL0_MASK>
        <DOCDL1_MASK>0x02</DOCDL1_MASK>
        <DOCDL2_MASK>0x04</DOCDL2_MASK>
        <DOCDL3_MASK>0x08</DOCDL3_MASK>
        <DOCDL4_MASK>0x10</DOCDL4_MASK>
        <DOCDL5_MASK>0x20</DOCDL5_MASK>
        <DOCDL6_MASK>0x40</DOCDL6_MASK>
        <DOCDL7_MASK>0x80</DOCDL7_MASK>
      </BPDOCD>
      <BPSCD>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF5</MEM_ADDR>
        <SCDL0_MASK>0x01</SCDL0_MASK>
        <SCDL1_MASK>0x02</SCDL1_MASK>
        <SCDL2_MASK>0x04</SCDL2_MASK>
        <SCDL3_MASK>0x08</SCDL3_MASK>
        <SCDL4_MASK>0x10</SCDL4_MASK>
        <SCDL5_MASK>0x20</SCDL5_MASK>
        <SCDL6_MASK>0x40</SCDL6_MASK>
        <SCDL7_MASK>0x80</SCDL7_MASK>
      </BPSCD>
      <BPIFR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF3</MEM_ADDR>
        <CHCIF_MASK>0x01</CHCIF_MASK>
        <DHCIF_MASK>0x02</DHCIF_MASK>
        <COCIF_MASK>0x04</COCIF_MASK>
        <DOCIF_MASK>0x08</DOCIF_MASK>
        <SCIF_MASK>0x10</SCIF_MASK>
      </BPIFR>
      <BPIMSK>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF2</MEM_ADDR>
        <CHCIE_MASK>0x01</CHCIE_MASK>
        <DHCIE_MASK>0x02</DHCIE_MASK>
        <COCIE_MASK>0x04</COCIE_MASK>
        <DOCIE_MASK>0x08</DOCIE_MASK>
        <SCIE_MASK>0x10</SCIE_MASK>
      </BPIMSK>
      <CBCR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF1</MEM_ADDR>
        <CBE1_MASK>0x01</CBE1_MASK>
        <CBE2_MASK>0x02</CBE2_MASK>
        <CBE3_MASK>0x04</CBE3_MASK>
        <CBE4_MASK>0x08</CBE4_MASK>
      </CBCR>
      <FCSR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF0</MEM_ADDR>
        <CFE_MASK>0x01</CFE_MASK>
        <DFE_MASK>0x02</DFE_MASK>
        <CPS_MASK>0x04</CPS_MASK>
        <DUVRD_MASK>0x08</DUVRD_MASK>
      </FCSR>
      <CADRDC>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xEA</MEM_ADDR>
        <CADRDC0_MASK>0x01</CADRDC0_MASK>
        <CADRDC1_MASK>0x02</CADRDC1_MASK>
        <CADRDC2_MASK>0x04</CADRDC2_MASK>
        <CADRDC3_MASK>0x08</CADRDC3_MASK>
        <CADRDC4_MASK>0x10</CADRDC4_MASK>
        <CADRDC5_MASK>0x20</CADRDC5_MASK>
        <CADRDC6_MASK>0x40</CADRDC6_MASK>
        <CADRDC7_MASK>0x80</CADRDC7_MASK>
      </CADRDC>
      <CADRCC>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE9</MEM_ADDR>
        <CADRCC0_MASK>0x01</CADRCC0_MASK>
        <CADRCC1_MASK>0x02</CADRCC1_MASK>
        <CADRCC2_MASK>0x04</CADRCC2_MASK>
        <CADRCC3_MASK>0x08</CADRCC3_MASK>
        <CADRCC4_MASK>0x10</CADRCC4_MASK>
        <CADRCC5_MASK>0x20</CADRCC5_MASK>
        <CADRCC6_MASK>0x40</CADRCC6_MASK>
        <CADRCC7_MASK>0x80</CADRCC7_MASK>
      </CADRCC>
      <CADCSRC>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE8</MEM_ADDR>
        <CADVSE_MASK>0x01</CADVSE_MASK>
      </CADCSRC>
      <CADCSRB>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE7</MEM_ADDR>
        <CADICIF_MASK>0x01</CADICIF_MASK>
        <CADRCIF_MASK>0x02</CADRCIF_MASK>
        <CADACIF_MASK>0x04</CADACIF_MASK>
        <CADICIE_MASK>0x10</CADICIE_MASK>
        <CADRCIE_MASK>0x20</CADRCIE_MASK>
        <CADACIE_MASK>0x40</CADACIE_MASK>
      </CADCSRB>
      <CADCSRA>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE6</MEM_ADDR>
        <CADSE_MASK>0x01</CADSE_MASK>
        <CADSI0_MASK>0x02</CADSI0_MASK>
        <CADSI1_MASK>0x04</CADSI1_MASK>
        <CADAS0_MASK>0x08</CADAS0_MASK>
        <CADAS1_MASK>0x10</CADAS1_MASK>
        <CADUB_MASK>0x20</CADUB_MASK>
        <CADPOL_MASK>0x40</CADPOL_MASK>
        <CADEN_MASK>0x80</CADEN_MASK>
      </CADCSRA>
      <CADICH>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE5</MEM_ADDR>
        <CADICH0_MASK>0x01</CADICH0_MASK>
        <CADICH1_MASK>0x02</CADICH1_MASK>
        <CADICH2_MASK>0x04</CADICH2_MASK>
        <CADICH3_MASK>0x08</CADICH3_MASK>
        <CADICH4_MASK>0x10</CADICH4_MASK>
        <CADICH5_MASK>0x20</CADICH5_MASK>
        <CADICH6_MASK>0x40</CADICH6_MASK>
        <CADICH7_MASK>0x80</CADICH7_MASK>
      </CADICH>
      <CADICL>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE4</MEM_ADDR>
        <CADICL0_MASK>0x01</CADICL0_MASK>
        <CADICL1_MASK>0x02</CADICL1_MASK>
        <CADICL2_MASK>0x04</CADICL2_MASK>
        <CADICL3_MASK>0x08</CADICL3_MASK>
        <CADICL4_MASK>0x10</CADICL4_MASK>
        <CADICL5_MASK>0x20</CADICL5_MASK>
        <CADICL6_MASK>0x40</CADICL6_MASK>
        <CADICL7_MASK>0x80</CADICL7_MASK>
      </CADICL>
      <CADAC3>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE3</MEM_ADDR>
        <CADAC24_MASK>0x01</CADAC24_MASK>
        <CADAC25_MASK>0x02</CADAC25_MASK>
        <CADAC26_MASK>0x04</CADAC26_MASK>
        <CADAC27_MASK>0x08</CADAC27_MASK>
        <CADAC28_MASK>0x10</CADAC28_MASK>
        <CADAC29_MASK>0x20</CADAC29_MASK>
        <CADAC30_MASK>0x40</CADAC30_MASK>
        <CADAC31_MASK>0x80</CADAC31_MASK>
      </CADAC3>
      <CADAC2>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE2</MEM_ADDR>
        <CADAC16_MASK>0x01</CADAC16_MASK>
        <CADAC17_MASK>0x02</CADAC17_MASK>
        <CADAC18_MASK>0x04</CADAC18_MASK>
        <CADAC19_MASK>0x08</CADAC19_MASK>
        <CADAC20_MASK>0x10</CADAC20_MASK>
        <CADAC21_MASK>0x20</CADAC21_MASK>
        <CADAC22_MASK>0x40</CADAC22_MASK>
        <CADAC23_MASK>0x80</CADAC23_MASK>
      </CADAC2>
      <CADAC1>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE1</MEM_ADDR>
        <CADAC08_MASK>0x01</CADAC08_MASK>
        <CADAC09_MASK>0x02</CADAC09_MASK>
        <CADAC10_MASK>0x04</CADAC10_MASK>
        <CADAC11_MASK>0x08</CADAC11_MASK>
        <CADAC12_MASK>0x10</CADAC12_MASK>
        <CADAC13_MASK>0x20</CADAC13_MASK>
        <CADAC14_MASK>0x40</CADAC14_MASK>
        <CADAC15_MASK>0x80</CADAC15_MASK>
      </CADAC1>
      <CADAC0>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE0</MEM_ADDR>
        <CADAC00_MASK>0x01</CADAC00_MASK>
        <CADAC01_MASK>0x02</CADAC01_MASK>
        <CADAC02_MASK>0x04</CADAC02_MASK>
        <CADAC03_MASK>0x08</CADAC03_MASK>
        <CADAC04_MASK>0x10</CADAC04_MASK>
        <CADAC05_MASK>0x20</CADAC05_MASK>
        <CADAC06_MASK>0x40</CADAC06_MASK>
        <CADAC07_MASK>0x80</CADAC07_MASK>
      </CADAC0>
      <CHGDCSR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xD4</MEM_ADDR>
        <CHGDIE_MASK>0x01</CHGDIE_MASK>
        <CHGDIF_MASK>0x02</CHGDIF_MASK>
        <CHGDISC0_MASK>0x04</CHGDISC0_MASK>
        <CHGDISC1_MASK>0x08</CHGDISC1_MASK>
        <BATTPVL_MASK>0x10</BATTPVL_MASK>
      </CHGDCSR>
      <BGCSR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xD2</MEM_ADDR>
        <BGSCDIE_MASK>0x01</BGSCDIE_MASK>
        <BGSCDIF_MASK>0x02</BGSCDIF_MASK>
        <BGSCDE_MASK>0x10</BGSCDE_MASK>
        <BGD_MASK>0x20</BGD_MASK>
      </BGCSR>
      <BGCRR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xD1</MEM_ADDR>
        <BGCR0_MASK>0x01</BGCR0_MASK>
        <BGCR1_MASK>0x02</BGCR1_MASK>
        <BGCR2_MASK>0x04</BGCR2_MASK>
        <BGCR3_MASK>0x08</BGCR3_MASK>
        <BGCR4_MASK>0x10</BGCR4_MASK>
        <BGCR5_MASK>0x20</BGCR5_MASK>
        <BGCR6_MASK>0x40</BGCR6_MASK>
        <BGCR7_MASK>0x80</BGCR7_MASK>
      </BGCRR>
      <BGCCR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xD0</MEM_ADDR>
        <BGCC0_MASK>0x01</BGCC0_MASK>
        <BGCC1_MASK>0x02</BGCC1_MASK>
        <BGCC2_MASK>0x04</BGCC2_MASK>
        <BGCC3_MASK>0x08</BGCC3_MASK>
        <BGCC4_MASK>0x10</BGCC4_MASK>
        <BGCC5_MASK>0x20</BGCC5_MASK>
      </BGCCR>
      <ROCR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xC8</MEM_ADDR>
        <ROCWIE_MASK>0x01</ROCWIE_MASK>
        <ROCWIF_MASK>0x02</ROCWIF_MASK>
        <ROCD_MASK>0x10</ROCD_MASK>
        <ROCS_MASK>0x80</ROCS_MASK>
      </ROCR>
      <TWBCSR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xBE</MEM_ADDR>
        <TWBCIP_MASK>0x01</TWBCIP_MASK>
        <TWBDT0_MASK>0x02</TWBDT0_MASK>
        <TWBDT1_MASK>0x04</TWBDT1_MASK>
        <TWBCIE_MASK>0x40</TWBCIE_MASK>
        <TWBCIF_MASK>0x80</TWBCIF_MASK>
      </TWBCSR>
      <TWAMR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xBD</MEM_ADDR>
        <TWAM0_MASK>0x02</TWAM0_MASK>
        <TWAM1_MASK>0x04</TWAM1_MASK>
        <TWAM2_MASK>0x08</TWAM2_MASK>
        <TWAM3_MASK>0x10</TWAM3_MASK>
        <TWAM4_MASK>0x20</TWAM4_MASK>
        <TWAM5_MASK>0x40</TWAM5_MASK>
        <TWAM6_MASK>0x80</TWAM6_MASK>
      </TWAMR>
      <TWCR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xBC</MEM_ADDR>
        <TWIE_MASK>0x01</TWIE_MASK>
        <TWEN_MASK>0x04</TWEN_MASK>
        <TWWC_MASK>0x08</TWWC_MASK>
        <TWSTO_MASK>0x10</TWSTO_MASK>
        <TWSTA_MASK>0x20</TWSTA_MASK>
        <TWEA_MASK>0x40</TWEA_MASK>
        <TWINT_MASK>0x80</TWINT_MASK>
      </TWCR>
      <TWDR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xBB</MEM_ADDR>
        <TWD0_MASK>0x01</TWD0_MASK>
        <TWD1_MASK>0x02</TWD1_MASK>
        <TWD2_MASK>0x04</TWD2_MASK>
        <TWD3_MASK>0x08</TWD3_MASK>
        <TWD4_MASK>0x10</TWD4_MASK>
        <TWD5_MASK>0x20</TWD5_MASK>
        <TWD6_MASK>0x40</TWD6_MASK>
        <TWD7_MASK>0x80</TWD7_MASK>
      </TWDR>
      <TWAR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xBA</MEM_ADDR>
        <TWGCE_MASK>0x01</TWGCE_MASK>
        <TWA0_MASK>0x02</TWA0_MASK>
        <TWA1_MASK>0x04</TWA1_MASK>
        <TWA2_MASK>0x08</TWA2_MASK>
        <TWA3_MASK>0x10</TWA3_MASK>
        <TWA4_MASK>0x20</TWA4_MASK>
        <TWA5_MASK>0x40</TWA5_MASK>
        <TWA6_MASK>0x80</TWA6_MASK>
      </TWAR>
      <TWSR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xB9</MEM_ADDR>
        <TWPS0_MASK>0x01</TWPS0_MASK>
        <TWPS1_MASK>0x02</TWPS1_MASK>
        <TWS3_MASK>0x08</TWS3_MASK>
        <TWS4_MASK>0x10</TWS4_MASK>
        <TWS5_MASK>0x20</TWS5_MASK>
        <TWS6_MASK>0x40</TWS6_MASK>
        <TWS7_MASK>0x80</TWS7_MASK>
      </TWSR>
      <TWBR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xB8</MEM_ADDR>
        <TWBR0_MASK>0x01</TWBR0_MASK>
        <TWBR1_MASK>0x02</TWBR1_MASK>
        <TWBR2_MASK>0x04</TWBR2_MASK>
        <TWBR3_MASK>0x08</TWBR3_MASK>
        <TWBR4_MASK>0x10</TWBR4_MASK>
        <TWBR5_MASK>0x20</TWBR5_MASK>
        <TWBR6_MASK>0x40</TWBR6_MASK>
        <TWBR7_MASK>0x80</TWBR7_MASK>
      </TWBR>
      <OCR1B>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x89</MEM_ADDR>
        <OCR1B0_MASK>0x01</OCR1B0_MASK>
        <OCR1B1_MASK>0x02</OCR1B1_MASK>
        <OCR1B2_MASK>0x04</OCR1B2_MASK>
        <OCR1B3_MASK>0x08</OCR1B3_MASK>
        <OCR1B4_MASK>0x10</OCR1B4_MASK>
        <OCR1B5_MASK>0x20</OCR1B5_MASK>
        <OCR1B6_MASK>0x40</OCR1B6_MASK>
        <OCR1B7_MASK>0x80</OCR1B7_MASK>
      </OCR1B>
      <OCR1A>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x88</MEM_ADDR>
        <OCR1A0_MASK>0x01</OCR1A0_MASK>
        <OCR1A1_MASK>0x02</OCR1A1_MASK>
        <OCR1A2_MASK>0x04</OCR1A2_MASK>
        <OCR1A3_MASK>0x08</OCR1A3_MASK>
        <OCR1A4_MASK>0x10</OCR1A4_MASK>
        <OCR1A5_MASK>0x20</OCR1A5_MASK>
        <OCR1A6_MASK>0x40</OCR1A6_MASK>
        <OCR1A7_MASK>0x80</OCR1A7_MASK>
      </OCR1A>
      <TCNT1H>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x85</MEM_ADDR>
        <TCNT1H0_MASK>0x01</TCNT1H0_MASK>
        <TCNT1H1_MASK>0x02</TCNT1H1_MASK>
        <TCNT1H2_MASK>0x04</TCNT1H2_MASK>
        <TCNT1H3_MASK>0x08</TCNT1H3_MASK>
        <TCNT1H4_MASK>0x10</TCNT1H4_MASK>
        <TCNT1H5_MASK>0x20</TCNT1H5_MASK>
        <TCNT1H6_MASK>0x40</TCNT1H6_MASK>
        <TCNT1H7_MASK>0x80</TCNT1H7_MASK>
      </TCNT1H>
      <TCNT1L>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x84</MEM_ADDR>
        <TCNT1L0_MASK>0x01</TCNT1L0_MASK>
        <TCNT1L1_MASK>0x02</TCNT1L1_MASK>
        <TCNT1L2_MASK>0x04</TCNT1L2_MASK>
        <TCNT1L3_MASK>0x08</TCNT1L3_MASK>
        <TCNT1L4_MASK>0x10</TCNT1L4_MASK>
        <TCNT1L5_MASK>0x20</TCNT1L5_MASK>
        <TCNT1L6_MASK>0x40</TCNT1L6_MASK>
        <TCNT1L7_MASK>0x80</TCNT1L7_MASK>
      </TCNT1L>
      <TCCR1B>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x81</MEM_ADDR>
        <CS10_MASK>0x01</CS10_MASK>
        <CS11_MASK>0x02</CS11_MASK>
        <CS12_MASK>0x04</CS12_MASK>
      </TCCR1B>
      <TCCR1A>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x80</MEM_ADDR>
        <WGM10_MASK>0x01</WGM10_MASK>
        <ICS1_MASK>0x08</ICS1_MASK>
        <ICES1_MASK>0x10</ICES1_MASK>
        <ICNC1_MASK>0x20</ICNC1_MASK>
        <ICEN1_MASK>0x40</ICEN1_MASK>
        <TCW1_MASK>0x80</TCW1_MASK>
      </TCCR1A>
      <DIDR0>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x7E</MEM_ADDR>
        <PA0DID_MASK>0x01</PA0DID_MASK>
        <PA1DID_MASK>0x02</PA1DID_MASK>
      </DIDR0>
      <VADMUX>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x7C</MEM_ADDR>
        <VADMUX0_MASK>0x01</VADMUX0_MASK>
        <VADMUX1_MASK>0x02</VADMUX1_MASK>
        <VADMUX2_MASK>0x04</VADMUX2_MASK>
        <VADMUX3_MASK>0x08</VADMUX3_MASK>
      </VADMUX>
      <VADCSR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x7A</MEM_ADDR>
        <VADCCIE_MASK>0x01</VADCCIE_MASK>
        <VADCCIF_MASK>0x02</VADCCIF_MASK>
        <VADSC_MASK>0x04</VADSC_MASK>
        <VADEN_MASK>0x08</VADEN_MASK>
      </VADCSR>
      <VADCH>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x79</MEM_ADDR>
        <VADC8_MASK>0x01</VADC8_MASK>
        <VADC9_MASK>0x02</VADC9_MASK>
        <VADC10_MASK>0x04</VADC10_MASK>
        <VADC11_MASK>0x08</VADC11_MASK>
      </VADCH>
      <VADCL>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x78</MEM_ADDR>
        <VADC0_MASK>0x01</VADC0_MASK>
        <VADC1_MASK>0x02</VADC1_MASK>
        <VADC2_MASK>0x04</VADC2_MASK>
        <VADC3_MASK>0x08</VADC3_MASK>
        <VADC4_MASK>0x10</VADC4_MASK>
        <VADC5_MASK>0x20</VADC5_MASK>
        <VADC6_MASK>0x40</VADC6_MASK>
        <VADC7_MASK>0x80</VADC7_MASK>
      </VADCL>
      <TIMSK1>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x6F</MEM_ADDR>
        <TOIE1_MASK>0x01</TOIE1_MASK>
        <OCIE1A_MASK>0x02</OCIE1A_MASK>
        <OCIE1B_MASK>0x04</OCIE1B_MASK>
        <ICIE1_MASK>0x08</ICIE1_MASK>
      </TIMSK1>
      <TIMSK0>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x6E</MEM_ADDR>
        <TOIE0_MASK>0x01</TOIE0_MASK>
        <OCIE0A_MASK>0x02</OCIE0A_MASK>
        <OCIE0B_MASK>0x04</OCIE0B_MASK>
        <ICIE0_MASK>0x08</ICIE0_MASK>
      </TIMSK0>
      <PCMSK1>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x6C</MEM_ADDR>
        <PCINT4_MASK>0x01</PCINT4_MASK>
        <PCINT5_MASK>0x02</PCINT5_MASK>
        <PCINT6_MASK>0x04</PCINT6_MASK>
        <PCINT7_MASK>0x08</PCINT7_MASK>
        <PCINT8_MASK>0x10</PCINT8_MASK>
        <PCINT9_MASK>0x20</PCINT9_MASK>
        <PCINT10_MASK>0x40</PCINT10_MASK>
        <PCINT11_MASK>0x80</PCINT11_MASK>
      </PCMSK1>
      <PCMSK0>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x6B</MEM_ADDR>
        <PCINT0_MASK>0x01</PCINT0_MASK>
        <PCINT1_MASK>0x02</PCINT1_MASK>
        <PCINT2_MASK>0x04</PCINT2_MASK>
        <PCINT3_MASK>0x08</PCINT3_MASK>
      </PCMSK0>
      <EICRA>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x69</MEM_ADDR>
        <ISC00_MASK>0x01</ISC00_MASK>
        <ISC01_MASK>0x02</ISC01_MASK>
        <ISC10_MASK>0x04</ISC10_MASK>
        <ISC11_MASK>0x08</ISC11_MASK>
        <ISC20_MASK>0x10</ISC20_MASK>
        <ISC21_MASK>0x20</ISC21_MASK>
        <ISC30_MASK>0x40</ISC30_MASK>
        <ISC31_MASK>0x80</ISC31_MASK>
      </EICRA>
      <PCICR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x68</MEM_ADDR>
        <PCIE0_MASK>0x01</PCIE0_MASK>
        <PCIE1_MASK>0x02</PCIE1_MASK>
      </PCICR>
      <FOSCCAL>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x66</MEM_ADDR>
        <FCAL0_MASK>0x01</FCAL0_MASK>
        <FCAL1_MASK>0x02</FCAL1_MASK>
        <FCAL2_MASK>0x04</FCAL2_MASK>
        <FCAL3_MASK>0x08</FCAL3_MASK>
        <FCAL4_MASK>0x10</FCAL4_MASK>
        <FCAL5_MASK>0x20</FCAL5_MASK>
        <FCAL6_MASK>0x40</FCAL6_MASK>
        <FCAL7_MASK>0x80</FCAL7_MASK>
      </FOSCCAL>
      <PRR0>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x64</MEM_ADDR>
        <PRVADC_MASK>0x01</PRVADC_MASK>
        <PRTIM0_MASK>0x02</PRTIM0_MASK>
        <PRTIM1_MASK>0x04</PRTIM1_MASK>
        <PRSPI_MASK>0x08</PRSPI_MASK>
        <PRVRM_MASK>0x20</PRVRM_MASK>
        <PRTWI_MASK>0x40</PRTWI_MASK>
      </PRR0>
      <CLKPR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x61</MEM_ADDR>
        <CLKPS0_MASK>0x01</CLKPS0_MASK>
        <CLKPS1_MASK>0x02</CLKPS1_MASK>
        <CLKPCE_MASK>0x80</CLKPCE_MASK>
      </CLKPR>
      <WDTCSR>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x60</MEM_ADDR>
        <WDP0_MASK>0x01</WDP0_MASK>
        <WDP1_MASK>0x02</WDP1_MASK>
        <WDP2_MASK>0x04</WDP2_MASK>
        <WDE_MASK>0x08</WDE_MASK>
        <WDCE_MASK>0x10</WDCE_MASK>
        <WDP3_MASK>0x20</WDP3_MASK>
        <WDIE_MASK>0x40</WDIE_MASK>
        <WDIF_MASK>0x80</WDIF_MASK>
      </WDTCSR>
      <SREG>
        <IO_ADDR>0x3F</IO_ADDR>
        <MEM_ADDR>0x5F</MEM_ADDR>
        <C_MASK>0x01</C_MASK>
        <Z_MASK>0x02</Z_MASK>
        <N_MASK>0x04</N_MASK>
        <V_MASK>0x08</V_MASK>
        <S_MASK>0x10</S_MASK>
        <H_MASK>0x20</H_MASK>
        <T_MASK>0x40</T_MASK>
        <I_MASK>0x80</I_MASK>
      </SREG>
      <SPH>
        <IO_ADDR>0x3E</IO_ADDR>
        <MEM_ADDR>0x5E</MEM_ADDR>
        <INIT>0x08</INIT>
        <SP8_MASK>0x01</SP8_MASK>
        <SP9_MASK>0x02</SP9_MASK>
        <SP10_MASK>0x04</SP10_MASK>
        <SP11_MASK>0x08</SP11_MASK>
        <SP12_MASK>0x10</SP12_MASK>
        <SP13_MASK>0x20</SP13_MASK>
        <SP14_MASK>0x40</SP14_MASK>
        <SP15_MASK>0x80</SP15_MASK>
      </SPH>
      <SPL>
        <IO_ADDR>0x3D</IO_ADDR>
        <MEM_ADDR>0x5D</MEM_ADDR>
        <INIT>0xff</INIT>
        <SP0_MASK>0x01</SP0_MASK>
        <SP1_MASK>0x02</SP1_MASK>
        <SP2_MASK>0x04</SP2_MASK>
        <SP3_MASK>0x08</SP3_MASK>
        <SP4_MASK>0x10</SP4_MASK>
        <SP5_MASK>0x20</SP5_MASK>
        <SP6_MASK>0x40</SP6_MASK>
        <SP7_MASK>0x80</SP7_MASK>
      </SPL>
      <SPMCSR>
        <IO_ADDR>0x37</IO_ADDR>
        <MEM_ADDR>0x57</MEM_ADDR>
        <SPMEN_MASK>0x01</SPMEN_MASK>
        <PGERS_MASK>0x02</PGERS_MASK>
        <PGWRT_MASK>0x04</PGWRT_MASK>
        <LBSET_MASK>0x08</LBSET_MASK>
        <RWWSRE_MASK>0x10</RWWSRE_MASK>
        <SIGRD_MASK>0x20</SIGRD_MASK>
        <RWWSB_MASK>0x40</RWWSB_MASK>
        <SPMIE_MASK>0x80</SPMIE_MASK>
      </SPMCSR>
      <MCUCR>
        <IO_ADDR>0x35</IO_ADDR>
        <MEM_ADDR>0x55</MEM_ADDR>
        <IVCE_MASK>0x01</IVCE_MASK>
        <IVSEL_MASK>0x02</IVSEL_MASK>
        <PUD_MASK>0x10</PUD_MASK>
        <CKOE_MASK>0x20</CKOE_MASK>
      </MCUCR>
      <MCUSR>
        <IO_ADDR>0x34</IO_ADDR>
        <MEM_ADDR>0x54</MEM_ADDR>
        <PORF_MASK>0x01</PORF_MASK>
        <EXTRF_MASK>0x02</EXTRF_MASK>
        <BODRF_MASK>0x04</BODRF_MASK>
        <WDRF_MASK>0x08</WDRF_MASK>
        <OCDRF_MASK>0x10</OCDRF_MASK>
      </MCUSR>
      <SMCR>
        <IO_ADDR>0x33</IO_ADDR>
        <MEM_ADDR>0x53</MEM_ADDR>
        <SE_MASK>0x01</SE_MASK>
        <SM0_MASK>0x02</SM0_MASK>
        <SM1_MASK>0x04</SM1_MASK>
        <SM2_MASK>0x08</SM2_MASK>
      </SMCR>
      <DWDR>
        <IO_ADDR>0x31</IO_ADDR>
        <MEM_ADDR>0x51</MEM_ADDR>
      </DWDR>
      <SPDR>
        <IO_ADDR>0x2e</IO_ADDR>
        <MEM_ADDR>0x4e</MEM_ADDR>
        <SPDR0_MASK>0x01</SPDR0_MASK>
        <SPDR1_MASK>0x02</SPDR1_MASK>
        <SPDR2_MASK>0x04</SPDR2_MASK>
        <SPDR3_MASK>0x08</SPDR3_MASK>
        <SPDR4_MASK>0x10</SPDR4_MASK>
        <SPDR5_MASK>0x20</SPDR5_MASK>
        <SPDR6_MASK>0x40</SPDR6_MASK>
        <SPDR7_MASK>0x80</SPDR7_MASK>
      </SPDR>
      <SPSR>
        <IO_ADDR>0x2d</IO_ADDR>
        <MEM_ADDR>0x4d</MEM_ADDR>
        <SPI2X_MASK>0x01</SPI2X_MASK>
        <WCOL_MASK>0x40</WCOL_MASK>
        <SPIF_MASK>0x80</SPIF_MASK>
      </SPSR>
      <SPCR>
        <IO_ADDR>0x2c</IO_ADDR>
        <MEM_ADDR>0x4c</MEM_ADDR>
        <SPR0_MASK>0x01</SPR0_MASK>
        <SPR1_MASK>0x02</SPR1_MASK>
        <CPHA_MASK>0x04</CPHA_MASK>
        <CPOL_MASK>0x08</CPOL_MASK>
        <MSTR_MASK>0x10</MSTR_MASK>
        <DORD_MASK>0x20</DORD_MASK>
        <SPE_MASK>0x40</SPE_MASK>
        <SPIE_MASK>0x80</SPIE_MASK>
      </SPCR>
      <GPIOR2>
        <IO_ADDR>0x2B</IO_ADDR>
        <MEM_ADDR>0x4B</MEM_ADDR>
        <GPIOR20_MASK>0x01</GPIOR20_MASK>
        <GPIOR21_MASK>0x02</GPIOR21_MASK>
        <GPIOR22_MASK>0x04</GPIOR22_MASK>
        <GPIOR23_MASK>0x08</GPIOR23_MASK>
        <GPIOR24_MASK>0x10</GPIOR24_MASK>
        <GPIOR25_MASK>0x20</GPIOR25_MASK>
        <GPIOR26_MASK>0x40</GPIOR26_MASK>
        <GPIOR27_MASK>0x80</GPIOR27_MASK>
      </GPIOR2>
      <GPIOR1>
        <IO_ADDR>0x2A</IO_ADDR>
        <MEM_ADDR>0x4A</MEM_ADDR>
        <GPIOR10_MASK>0x01</GPIOR10_MASK>
        <GPIOR11_MASK>0x02</GPIOR11_MASK>
        <GPIOR12_MASK>0x04</GPIOR12_MASK>
        <GPIOR13_MASK>0x08</GPIOR13_MASK>
        <GPIOR14_MASK>0x10</GPIOR14_MASK>
        <GPIOR15_MASK>0x20</GPIOR15_MASK>
        <GPIOR16_MASK>0x40</GPIOR16_MASK>
        <GPIOR17_MASK>0x80</GPIOR17_MASK>
      </GPIOR1>
      <OCR0B>
        <IO_ADDR>0x29</IO_ADDR>
        <MEM_ADDR>0x49</MEM_ADDR>
        <OCR0B0_MASK>0x01</OCR0B0_MASK>
        <OCR0B1_MASK>0x02</OCR0B1_MASK>
        <OCR0B2_MASK>0x04</OCR0B2_MASK>
        <OCR0B3_MASK>0x08</OCR0B3_MASK>
        <OCR0B4_MASK>0x10</OCR0B4_MASK>
        <OCR0B5_MASK>0x20</OCR0B5_MASK>
        <OCR0B6_MASK>0x40</OCR0B6_MASK>
        <OCR0B7_MASK>0x80</OCR0B7_MASK>
      </OCR0B>
      <OCR0A>
        <IO_ADDR>0x28</IO_ADDR>
        <MEM_ADDR>0x48</MEM_ADDR>
        <OCR0A0_MASK>0x01</OCR0A0_MASK>
        <OCR0A1_MASK>0x02</OCR0A1_MASK>
        <OCR0A2_MASK>0x04</OCR0A2_MASK>
        <OCR0A3_MASK>0x08</OCR0A3_MASK>
        <OCR0A4_MASK>0x10</OCR0A4_MASK>
        <OCR0A5_MASK>0x20</OCR0A5_MASK>
        <OCR0A6_MASK>0x40</OCR0A6_MASK>
        <OCR0A7_MASK>0x80</OCR0A7_MASK>
      </OCR0A>
      <TCNT0H>
        <IO_ADDR>0x27</IO_ADDR>
        <MEM_ADDR>0x47</MEM_ADDR>
        <TCNT0H0_MASK>0x01</TCNT0H0_MASK>
        <TCNT0H1_MASK>0x02</TCNT0H1_MASK>
        <TCNT0H2_MASK>0x04</TCNT0H2_MASK>
        <TCNT0H3_MASK>0x08</TCNT0H3_MASK>
        <TCNT0H4_MASK>0x10</TCNT0H4_MASK>
        <TCNT0H5_MASK>0x20</TCNT0H5_MASK>
        <TCNT0H6_MASK>0x40</TCNT0H6_MASK>
        <TCNT0H7_MASK>0x80</TCNT0H7_MASK>
      </TCNT0H>
      <TCNT0L>
        <IO_ADDR>0x26</IO_ADDR>
        <MEM_ADDR>0x46</MEM_ADDR>
        <TCNT0L0_MASK>0x01</TCNT0L0_MASK>
        <TCNT0L1_MASK>0x02</TCNT0L1_MASK>
        <TCNT0L2_MASK>0x04</TCNT0L2_MASK>
        <TCNT0L3_MASK>0x08</TCNT0L3_MASK>
        <TCNT0L4_MASK>0x10</TCNT0L4_MASK>
        <TCNT0L5_MASK>0x20</TCNT0L5_MASK>
        <TCNT0L6_MASK>0x40</TCNT0L6_MASK>
        <TCNT0L7_MASK>0x80</TCNT0L7_MASK>
      </TCNT0L>
      <TCCR0B>
        <IO_ADDR>0x25</IO_ADDR>
        <MEM_ADDR>0x45</MEM_ADDR>
        <CS00_MASK>0x01</CS00_MASK>
        <CS01_MASK>0x02</CS01_MASK>
        <CS02_MASK>0x04</CS02_MASK>
      </TCCR0B>
      <TCCR0A>
        <IO_ADDR>0x24</IO_ADDR>
        <MEM_ADDR>0x44</MEM_ADDR>
        <WGM00_MASK>0x01</WGM00_MASK>
        <ICS0_MASK>0x08</ICS0_MASK>
        <ICES0_MASK>0x10</ICES0_MASK>
        <ICNC0_MASK>0x20</ICNC0_MASK>
        <ICEN0_MASK>0x40</ICEN0_MASK>
        <TCW0_MASK>0x80</TCW0_MASK>
      </TCCR0A>
      <GTCCR>
        <IO_ADDR>0x23</IO_ADDR>
        <MEM_ADDR>0x43</MEM_ADDR>
        <PSRSYNC_MASK>0x01</PSRSYNC_MASK>
        <TSM_MASK>0x80</TSM_MASK>
      </GTCCR>
      <EEARH>
        <IO_ADDR>0x22</IO_ADDR>
        <MEM_ADDR>0x42</MEM_ADDR>
        <EEAR8_MASK>0x01</EEAR8_MASK>
        <EEAR9_MASK>0x02</EEAR9_MASK>
      </EEARH>
      <EEARL>
        <IO_ADDR>0x21</IO_ADDR>
        <MEM_ADDR>0x41</MEM_ADDR>
        <EEAR0_MASK>0x01</EEAR0_MASK>
        <EEAR1_MASK>0x02</EEAR1_MASK>
        <EEAR2_MASK>0x04</EEAR2_MASK>
        <EEAR3_MASK>0x08</EEAR3_MASK>
        <EEAR4_MASK>0x10</EEAR4_MASK>
        <EEAR5_MASK>0x20</EEAR5_MASK>
        <EEAR6_MASK>0x40</EEAR6_MASK>
        <EEAR7_MASK>0x80</EEAR7_MASK>
      </EEARL>
      <EEDR>
        <IO_ADDR>0x20</IO_ADDR>
        <MEM_ADDR>0x40</MEM_ADDR>
        <EEDR0_MASK>0x01</EEDR0_MASK>
        <EEDR1_MASK>0x02</EEDR1_MASK>
        <EEDR2_MASK>0x04</EEDR2_MASK>
        <EEDR3_MASK>0x08</EEDR3_MASK>
        <EEDR4_MASK>0x10</EEDR4_MASK>
        <EEDR5_MASK>0x20</EEDR5_MASK>
        <EEDR6_MASK>0x40</EEDR6_MASK>
        <EEDR7_MASK>0x80</EEDR7_MASK>
      </EEDR>
      <EECR>
        <IO_ADDR>0x1F</IO_ADDR>
        <MEM_ADDR>0x3F</MEM_ADDR>
        <EERE_MASK>0x01</EERE_MASK>
        <EEPE_MASK>0x02</EEPE_MASK>
        <EEMPE_MASK>0x04</EEMPE_MASK>
        <EERIE_MASK>0x08</EERIE_MASK>
        <EEPM0_MASK>0x10</EEPM0_MASK>
        <EEPM1_MASK>0x20</EEPM1_MASK>
      </EECR>
      <GPIOR0>
        <IO_ADDR>0x1E</IO_ADDR>
        <MEM_ADDR>0x3E</MEM_ADDR>
        <GPIOR00_MASK>0x01</GPIOR00_MASK>
        <GPIOR01_MASK>0x02</GPIOR01_MASK>
        <GPIOR02_MASK>0x04</GPIOR02_MASK>
        <GPIOR03_MASK>0x08</GPIOR03_MASK>
        <GPIOR04_MASK>0x10</GPIOR04_MASK>
        <GPIOR05_MASK>0x20</GPIOR05_MASK>
        <GPIOR06_MASK>0x40</GPIOR06_MASK>
        <GPIOR07_MASK>0x80</GPIOR07_MASK>
      </GPIOR0>
      <EIMSK>
        <IO_ADDR>0x1D</IO_ADDR>
        <MEM_ADDR>0x3D</MEM_ADDR>
        <INT0_MASK>0x01</INT0_MASK>
        <INT1_MASK>0x02</INT1_MASK>
        <INT2_MASK>0x04</INT2_MASK>
        <INT3_MASK>0x08</INT3_MASK>
      </EIMSK>
      <EIFR>
        <IO_ADDR>0x1C</IO_ADDR>
        <MEM_ADDR>0x3C</MEM_ADDR>
        <INTF0_MASK>0x01</INTF0_MASK>
        <INTF1_MASK>0x02</INTF1_MASK>
        <INTF2_MASK>0x04</INTF2_MASK>
        <INTF3_MASK>0x08</INTF3_MASK>
      </EIFR>
      <PCIFR>
        <IO_ADDR>0x1B</IO_ADDR>
        <MEM_ADDR>0x3B</MEM_ADDR>
        <PCIF0_MASK>0x01</PCIF0_MASK>
        <PCIF1_MASK>0x02</PCIF1_MASK>
      </PCIFR>
      <OSICSR>
        <IO_ADDR>0x17</IO_ADDR>
        <MEM_ADDR>0x37</MEM_ADDR>
        <OSIEN_MASK>0x01</OSIEN_MASK>
        <OSIST_MASK>0x02</OSIST_MASK>
        <OSISEL0_MASK>0x10</OSISEL0_MASK>
      </OSICSR>
      <TIFR1>
        <IO_ADDR>0x16</IO_ADDR>
        <MEM_ADDR>0x36</MEM_ADDR>
        <TOV1_MASK>0x01</TOV1_MASK>
        <OCF1A_MASK>0x02</OCF1A_MASK>
        <OCF1B_MASK>0x04</OCF1B_MASK>
        <ICF1_MASK>0x08</ICF1_MASK>
      </TIFR1>
      <TIFR0>
        <IO_ADDR>0x15</IO_ADDR>
        <MEM_ADDR>0x35</MEM_ADDR>
        <TOV0_MASK>0x01</TOV0_MASK>
        <OCF0A_MASK>0x02</OCF0A_MASK>
        <OCF0B_MASK>0x04</OCF0B_MASK>
        <ICF0_MASK>0x08</ICF0_MASK>
      </TIFR0>
      <PORTC>
        <IO_ADDR>0x08</IO_ADDR>
        <MEM_ADDR>0x28</MEM_ADDR>
        <PORTC0_MASK>0x01</PORTC0_MASK>
        <PORTC1_MASK>0x02</PORTC1_MASK>
        <PORTC2_MASK>0x04</PORTC2_MASK>
        <PORTC3_MASK>0x08</PORTC3_MASK>
        <PORTC4_MASK>0x10</PORTC4_MASK>
        <PORTC5_MASK>0x20</PORTC5_MASK>
      </PORTC>
      <PINC>
        <IO_ADDR>0x06</IO_ADDR>
        <MEM_ADDR>0x26</MEM_ADDR>
        <PINC0_MASK>0x01</PINC0_MASK>
        <PINC1_MASK>0x02</PINC1_MASK>
        <PINC2_MASK>0x04</PINC2_MASK>
        <PINC3_MASK>0x08</PINC3_MASK>
        <PINC4_MASK>0x10</PINC4_MASK>
      </PINC>
      <PORTB>
        <IO_ADDR>0x05</IO_ADDR>
        <MEM_ADDR>0x25</MEM_ADDR>
        <PORTB0_MASK>0x01</PORTB0_MASK>
        <PORTB1_MASK>0x02</PORTB1_MASK>
        <PORTB2_MASK>0x04</PORTB2_MASK>
        <PORTB3_MASK>0x08</PORTB3_MASK>
        <PORTB4_MASK>0x10</PORTB4_MASK>
        <PORTB5_MASK>0x20</PORTB5_MASK>
        <PORTB6_MASK>0x40</PORTB6_MASK>
        <PORTB7_MASK>0x80</PORTB7_MASK>
      </PORTB>
      <DDRB>
        <IO_ADDR>0x04</IO_ADDR>
        <MEM_ADDR>0x24</MEM_ADDR>
        <DDB0_MASK>0x01</DDB0_MASK>
        <DDB1_MASK>0x02</DDB1_MASK>
        <DDB2_MASK>0x04</DDB2_MASK>
        <DDB3_MASK>0x08</DDB3_MASK>
        <DDB4_MASK>0x10</DDB4_MASK>
        <DDB5_MASK>0x20</DDB5_MASK>
        <DDB6_MASK>0x40</DDB6_MASK>
        <DDB7_MASK>0x80</DDB7_MASK>
      </DDRB>
      <PINB>
        <IO_ADDR>0x03</IO_ADDR>
        <MEM_ADDR>0x23</MEM_ADDR>
        <PINB0_MASK>0x01</PINB0_MASK>
        <PINB1_MASK>0x02</PINB1_MASK>
        <PINB2_MASK>0x04</PINB2_MASK>
        <PINB3_MASK>0x08</PINB3_MASK>
        <PINB4_MASK>0x10</PINB4_MASK>
        <PINB5_MASK>0x20</PINB5_MASK>
        <PINB6_MASK>0x40</PINB6_MASK>
        <PINB7_MASK>0x80</PINB7_MASK>
      </PINB>
      <PORTA>
        <IO_ADDR>0x02</IO_ADDR>
        <MEM_ADDR>0x22</MEM_ADDR>
        <PORTA0_MASK>0x01</PORTA0_MASK>
        <PORTA1_MASK>0x02</PORTA1_MASK>
        <PORTA2_MASK>0x04</PORTA2_MASK>
        <PORTA3_MASK>0x08</PORTA3_MASK>
      </PORTA>
      <DDRA>
        <IO_ADDR>0x01</IO_ADDR>
        <MEM_ADDR>0x21</MEM_ADDR>
        <DDA0_MASK>0x01</DDA0_MASK>
        <DDA1_MASK>0x02</DDA1_MASK>
        <DDA2_MASK>0x04</DDA2_MASK>
        <DDA3_MASK>0x08</DDA3_MASK>
      </DDRA>
      <PINA>
        <IO_ADDR>0x00</IO_ADDR>
        <MEM_ADDR>0x20</MEM_ADDR>
        <PINA0_MASK>0x01</PINA0_MASK>
        <PINA1_MASK>0x02</PINA1_MASK>
        <PINA2_MASK>0x04</PINA2_MASK>
        <PINA3_MASK>0x08</PINA3_MASK>
      </PINA>
    </IO_MEMORY>
    <BOOT_CONFIG>
      <NRWW_START_ADDR>$3800</NRWW_START_ADDR>
      <NRWW_STOP_ADDR>$3FFF</NRWW_STOP_ADDR>
      <RWW_START_ADDR>$0000</RWW_START_ADDR>
      <RWW_STOP_ADDR>$37FF</RWW_STOP_ADDR>
      <PAGESIZE>64</PAGESIZE>
      <BOOTSZMODE1>
        <BOOTSIZE>256</BOOTSIZE>
        <PAGES>4</PAGES>
        <APPSTART>$0000</APPSTART>
        <BOOTSTART>$3F00</BOOTSTART>
        <BOOTRESET>$3F00</BOOTRESET>
      </BOOTSZMODE1>
      <BOOTSZMODE2>
        <BOOTSIZE>512</BOOTSIZE>
        <PAGES>8</PAGES>
        <APPSTART>$0000</APPSTART>
        <BOOTSTART>$3E00</BOOTSTART>
        <BOOTRESET>$3E00</BOOTRESET>
      </BOOTSZMODE2>
      <BOOTSZMODE3>
        <BOOTSIZE>1024</BOOTSIZE>
        <PAGES>16</PAGES>
        <APPSTART>$0000</APPSTART>
        <BOOTSTART>$3C00</BOOTSTART>
        <BOOTRESET>$3C00</BOOTRESET>
      </BOOTSZMODE3>
      <BOOTSZMODE4>
        <BOOTSIZE>2048</BOOTSIZE>
        <PAGES>32</PAGES>
        <APPSTART>$0000</APPSTART>
        <BOOTSTART>$3800</BOOTSTART>
        <BOOTRESET>$3800</BOOTRESET>
      </BOOTSZMODE4>
    </BOOT_CONFIG>
  </MEMORY>
  <LOCKBIT>
    <ICON/>
    <ID/>
    <TEXT>[LB1 = 1 :  LB2 = 1] No memory lock features enabled. [LB1 = 0 :  LB2 = 1] Further programming of Flash and EEPROM is enabled. [LB1 = 0 :  LB2 = 0] Same as previous, but verify is also disabled</TEXT>
    <NMB_LOCK_BITS>6</NMB_LOCK_BITS>
    <NMB_TEXT>11</NMB_TEXT>
    <TEXT1>
      <MASK>0x03</MASK>
      <VALUE>0x03</VALUE>
      <TEXT>Mode 1: No memory lock features enabled</TEXT>
    </TEXT1>
    <TEXT2>
      <MASK>0x03</MASK>
      <VALUE>0x02</VALUE>
      <TEXT>Mode 2: Further programming disabled</TEXT>
    </TEXT2>
    <TEXT3>
      <MASK>0x03</MASK>
      <VALUE>0x00</VALUE>
      <TEXT>Mode 3: Further programming and verification disabled</TEXT>
    </TEXT3>
    <TEXT4>
      <MASK>0x0C</MASK>
      <VALUE>0x0C</VALUE>
      <TEXT>Application Protection Mode 1: No lock on SPM and LPM in Application Section</TEXT>
    </TEXT4>
    <TEXT5>
      <MASK>0x0C</MASK>
      <VALUE>0x08</VALUE>
      <TEXT>Application Protection Mode 2: SPM prohibited in Application Section</TEXT>
    </TEXT5>
    <TEXT6>
      <MASK>0x0C</MASK>
      <VALUE>0x00</VALUE>
      <TEXT>Application Protection Mode 3: LPM and SPM prohibited in Application Section</TEXT>
    </TEXT6>
    <TEXT7>
      <MASK>0x0C</MASK>
      <VALUE>0x04</VALUE>
      <TEXT>Application Protection Mode 4: LPM prohibited in Application Section</TEXT>
    </TEXT7>
    <TEXT8>
      <MASK>0x30</MASK>
      <VALUE>0x30</VALUE>
      <TEXT>Boot Loader Protection Mode 1: No lock on SPM and LPM in Boot Loader Section</TEXT>
    </TEXT8>
    <TEXT9>
      <MASK>0x30</MASK>
      <VALUE>0x20</VALUE>
      <TEXT>Boot Loader Protection Mode 2: SPM prohibited in Boot Loader Section</TEXT>
    </TEXT9>
    <TEXT10>
      <MASK>0x30</MASK>
      <VALUE>0x00</VALUE>
      <TEXT>Boot Loader Protection Mode 3: LPM and SPM prohibited in Boot Loader Section</TEXT>
    </TEXT10>
    <TEXT11>
      <MASK>0x30</MASK>
      <VALUE>0x10</VALUE>
      <TEXT>Boot Loader Protection Mode 4: LPM prohibited in Boot Loader Section</TEXT>
    </TEXT11>
    <LOCKBIT0>
      <NAME>LB1</NAME>
      <TEXT>Lock bit</TEXT>
    </LOCKBIT0>
    <LOCKBIT1>
      <NAME>LB2</NAME>
      <TEXT>Lock bit</TEXT>
    </LOCKBIT1>
    <LOCKBIT2>
      <NAME>BLB01</NAME>
      <TEXT>Boot Lock bit</TEXT>
    </LOCKBIT2>
    <LOCKBIT3>
      <NAME>BLB02</NAME>
      <TEXT>Boot Lock bit</TEXT>
    </LOCKBIT3>
    <LOCKBIT4>
      <NAME>BLB11</NAME>
      <TEXT>Boot lock bit</TEXT>
    </LOCKBIT4>
    <LOCKBIT5>
      <NAME>BLB12</NAME>
      <TEXT>Boot lock bit</TEXT>
    </LOCKBIT5>
  </LOCKBIT>
  <FUSE>
    <LIST>[LOW:HIGH]</LIST>
    <ID/>
    <ICON/>
    <TEXT/>
    <LOW>
      <NMB_FUSE_BITS>8</NMB_FUSE_BITS>
      <FUSE7>
        <NAME>WDTON</NAME>
        <TEXT>Watchdog Timer Always On</TEXT>
        <DEFAULT>1</DEFAULT>
      </FUSE7>
      <FUSE6>
        <NAME>EESAVE</NAME>
        <TEXT>EEPROM memory is preserved through chip erase</TEXT>
        <DEFAULT>1</DEFAULT>
      </FUSE6>
      <FUSE5>
        <NAME>SPIEN</NAME>
        <TEXT>Enable Serial programming and Data Downloading</TEXT>
        <DEFAULT>0</DEFAULT>
      </FUSE5>
      <FUSE4>
        <NAME>SUT2</NAME>
        <TEXT>Select start-up time</TEXT>
        <DEFAULT>1</DEFAULT>
      </FUSE4>
      <FUSE3>
        <NAME>SUT1</NAME>
        <TEXT>Select start-up time</TEXT>
        <DEFAULT>1</DEFAULT>
      </FUSE3>
      <FUSE2>
        <NAME>SUT0</NAME>
        <TEXT>Select start-up time</TEXT>
        <DEFAULT>1</DEFAULT>
      </FUSE2>
      <FUSE1>
        <NAME>OSCSEL1</NAME>
        <TEXT>Oscillator Select</TEXT>
        <DEFAULT>1</DEFAULT>
      </FUSE1>
      <FUSE0>
        <NAME>OSCSEL0</NAME>
        <TEXT>Oscillator Select</TEXT>
        <DEFAULT>0</DEFAULT>
      </FUSE0>
      <NMB_TEXT>13</NMB_TEXT>
      <TEXT1>
        <MASK>0x80</MASK>
        <VALUE>0x00</VALUE>
        <TEXT>Watch-dog Timer always on; [WDTON=0]</TEXT>
      </TEXT1>
      <TEXT2>
        <MASK>0x40</MASK>
        <VALUE>0x00</VALUE>
        <TEXT>Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]</TEXT>
      </TEXT2>
      <TEXT3>
        <MASK>0x20</MASK>
        <VALUE>0x00</VALUE>
        <TEXT>Serial program downloading (SPI) enabled; [SPIEN=0]</TEXT>
      </TEXT3>
      <TEXT4>
        <MASK>0x01C</MASK>
        <VALUE>0x00</VALUE>
        <TEXT>Start-up time 14 CK + 4 ms;   [SUT=000]</TEXT>
      </TEXT4>
      <TEXT5>
        <MASK>0x01C</MASK>
        <VALUE>0x01</VALUE>
        <TEXT>Start-up time 14 CK + 8 ms;   [SUT=001]</TEXT>
      </TEXT5>
      <TEXT6>
        <MASK>0x01C</MASK>
        <VALUE>0x02</VALUE>
        <TEXT>Start-up time 14 CK + 16 ms;  [SUT=010]</TEXT>
      </TEXT6>
      <TEXT7>
        <MASK>0x01C</MASK>
        <VALUE>0x03</VALUE>
        <TEXT>Start-up time 14 CK + 32 ms;  [SUT=011]</TEXT>
      </TEXT7>
      <TEXT8>
        <MASK>0x01C</MASK>
        <VALUE>0x04</VALUE>
        <TEXT>Start-up time 14 CK + 64 ms;  [SUT=100]</TEXT>
      </TEXT8>
      <TEXT9>
        <MASK>0x01C</MASK>
        <VALUE>0x05</VALUE>
        <TEXT>Start-up time 14 CK + 128 ms; [SUT=101]</TEXT>
      </TEXT9>
      <TEXT10>
        <MASK>0x01C</MASK>
        <VALUE>0x06</VALUE>
        <TEXT>Start-up time 14 CK + 256 ms; [SUT=110]</TEXT>
      </TEXT10>
      <TEXT11>
        <MASK>0x1C</MASK>
        <VALUE>0x07</VALUE>
        <TEXT>Start-up time 14 CK + 512 ms; [SUT=111]; default value</TEXT>
      </TEXT11>
    </LOW>
    <HIGH>
      <NMB_FUSE_BITS>5</NMB_FUSE_BITS>
      <FUSE4>
        <NAME>DUVRDINIT</NAME>
        <TEXT>Reset Value of DUVRDRegister</TEXT>
        <DEFAULT>0</DEFAULT>
      </FUSE4>
      <FUSE3>
        <NAME>DWEN</NAME>
        <TEXT>Enable debugWire</TEXT>
        <DEFAULT>1</DEFAULT>
      </FUSE3>
      <FUSE2>
        <NAME>BOOTSZ1</NAME>
        <TEXT>Select Boot Size</TEXT>
        <DEFAULT>0</DEFAULT>
      </FUSE2>
      <FUSE1>
        <NAME>BOOTSZ0</NAME>
        <TEXT>Select Boot Size</TEXT>
        <DEFAULT>0</DEFAULT>
      </FUSE1>
      <FUSE0>
        <NAME>BOOTRST</NAME>
        <TEXT>Select Reset Vector</TEXT>
        <DEFAULT>1</DEFAULT>
      </FUSE0>
      <NMB_TEXT>7</NMB_TEXT>
      <TEXT1>
        <MASK>0x10</MASK>
        <VALUE>0x00</VALUE>
        <TEXT>DUVR mode on; [DUVR=0]</TEXT>
      </TEXT1>
      <TEXT2>
        <MASK>0x08</MASK>
        <VALUE>0x00</VALUE>
        <TEXT>Debug Wire enable; [DWEN=0]</TEXT>
      </TEXT2>
      <TEXT3>
        <MASK>0x06</MASK>
        <VALUE>0x06</VALUE>
        <TEXT>Boot Flash section size=256 words Boot start address=$3F00; [BOOTSZ=11]</TEXT>
      </TEXT3>
      <TEXT4>
        <MASK>0x06</MASK>
        <VALUE>0x04</VALUE>
        <TEXT>Boot Flash section size=512 words Boot start address=$3E00; [BOOTSZ=10]</TEXT>
      </TEXT4>
      <TEXT5>
        <MASK>0x06</MASK>
        <VALUE>0x02</VALUE>
        <TEXT>Boot Flash section size=1024 words Boot start address=$3C00; [BOOTSZ=01]</TEXT>
      </TEXT5>
      <TEXT6>
        <MASK>0x06</MASK>
        <VALUE>0x00</VALUE>
        <TEXT>Boot Flash section size=2048 words Boot start address=$3800; [BOOTSZ=00] ; default value</TEXT>
      </TEXT6>
      <TEXT7>
        <MASK>0x01</MASK>
        <VALUE>0x00</VALUE>
        <TEXT>Boot Reset vector Enabled (default address=$0000); [BOOTRST=0]</TEXT>
      </TEXT7>
    </HIGH>
  </FUSE>
  <PROGRAMMING>
    <ISPInterface>
      <FuseReadMask>0xff,0xdf</FuseReadMask>
      <FuseProgMask>0xff,0xdf</FuseProgMask>
      <FuseWarning>0,0x20,0x20,WARNING! These fuse settings will disable the ISP interface!</FuseWarning>
      <FuseWarning>1,0x08,0x00,WARNING! Enabling DEBUGWIRE will make the ISP interface inaccessible!</FuseWarning>
    </ISPInterface>
    <HVInterface>
      <FuseWarning>0,0x20,0x20,WARNING! These fuse settings will disable the ISP interface!</FuseWarning>
      <FuseWarning>1,0x08,0x00,WARNING! Enabling DEBUGWIRE will make the ISP interface inaccessible!</FuseWarning>
    </HVInterface>
    <OscCal>
      <OCEntry>0x00,8.0 MHz</OCEntry>
    </OscCal>
    <FlashPageSize>128</FlashPageSize>
    <EepromPageSize>4</EepromPageSize>
  </PROGRAMMING>
  <INTERRUPT_VECTOR>
    <NMB_VECTORS>29</NMB_VECTORS>
    <VECTOR1>
      <PROGRAM_ADDRESS>$0000</PROGRAM_ADDRESS>
      <SOURCE>RESET</SOURCE>
      <DEFINITION>External Pin, Power-on Reset, Brown-out Reset and Watchdog Reset</DEFINITION>
    </VECTOR1>
    <VECTOR2>
      <PROGRAM_ADDRESS>$0002</PROGRAM_ADDRESS>
      <SOURCE>BPINT</SOURCE>
      <DEFINITION>Battery Protection Interrupt</DEFINITION>
    </VECTOR2>
    <VECTOR3>
      <PROGRAM_ADDRESS>$0004</PROGRAM_ADDRESS>
      <SOURCE>VREGMON</SOURCE>
      <DEFINITION>Voltage regulator monitor interrupt</DEFINITION>
    </VECTOR3>
    <VECTOR4>
      <PROGRAM_ADDRESS>$0006</PROGRAM_ADDRESS>
      <SOURCE>INT0</SOURCE>
      <DEFINITION>External Interrupt Request 0</DEFINITION>
    </VECTOR4>
    <VECTOR5>
      <PROGRAM_ADDRESS>$0008</PROGRAM_ADDRESS>
      <SOURCE>INT1</SOURCE>
      <DEFINITION>External Interrupt Request 1</DEFINITION>
    </VECTOR5>
    <VECTOR6>
      <PROGRAM_ADDRESS>$000A</PROGRAM_ADDRESS>
      <SOURCE>INT2</SOURCE>
      <DEFINITION>External Interrupt Request 2</DEFINITION>
    </VECTOR6>
    <VECTOR7>
      <PROGRAM_ADDRESS>$000C</PROGRAM_ADDRESS>
      <SOURCE>INT3</SOURCE>
      <DEFINITION>External Interrupt Request 3</DEFINITION>
    </VECTOR7>
    <VECTOR8>
      <PROGRAM_ADDRESS>$000E</PROGRAM_ADDRESS>
      <SOURCE>PCINT0</SOURCE>
      <DEFINITION>Pin Change Interrupt 0</DEFINITION>
    </VECTOR8>
    <VECTOR9>
      <PROGRAM_ADDRESS>$0010</PROGRAM_ADDRESS>
      <SOURCE>PCINT1</SOURCE>
      <DEFINITION>Pin Change Interrupt 1</DEFINITION>
    </VECTOR9>
    <VECTOR10>
      <PROGRAM_ADDRESS>$0012</PROGRAM_ADDRESS>
      <SOURCE>WDT</SOURCE>
      <DEFINITION>Watchdog Timeout Interrupt</DEFINITION>
    </VECTOR10>
    <VECTOR11>
      <PROGRAM_ADDRESS>$0014</PROGRAM_ADDRESS>
      <SOURCE>BGSCD</SOURCE>
      <DEFINITION>Bandgap Buffer Short Circuit Detected</DEFINITION>
    </VECTOR11>
    <VECTOR12>
      <PROGRAM_ADDRESS>$0016</PROGRAM_ADDRESS>
      <SOURCE>CHDET</SOURCE>
      <DEFINITION>Charger Detect</DEFINITION>
    </VECTOR12>
    <VECTOR13>
      <PROGRAM_ADDRESS>$0018</PROGRAM_ADDRESS>
      <SOURCE>TIMER1_IC</SOURCE>
      <DEFINITION>Timer 1 Input capture</DEFINITION>
    </VECTOR13>
    <VECTOR14>
      <PROGRAM_ADDRESS>$001A</PROGRAM_ADDRESS>
      <SOURCE>TIMER1_COMPA</SOURCE>
      <DEFINITION>Timer 1 Compare Match A</DEFINITION>
    </VECTOR14>
    <VECTOR15>
      <PROGRAM_ADDRESS>$001C</PROGRAM_ADDRESS>
      <SOURCE>TIMER1_COMPB</SOURCE>
      <DEFINITION>Timer 1 Compare Match B</DEFINITION>
    </VECTOR15>
    <VECTOR16>
      <PROGRAM_ADDRESS>$001E</PROGRAM_ADDRESS>
      <SOURCE>TIMER1_OVF</SOURCE>
      <DEFINITION>Timer 1 overflow</DEFINITION>
    </VECTOR16>
    <VECTOR17>
      <PROGRAM_ADDRESS>$0020</PROGRAM_ADDRESS>
      <SOURCE>TIMER0_IC</SOURCE>
      <DEFINITION>Timer 0 Input Capture</DEFINITION>
    </VECTOR17>
    <VECTOR18>
      <PROGRAM_ADDRESS>$0022</PROGRAM_ADDRESS>
      <SOURCE>TIMER0_COMPA</SOURCE>
      <DEFINITION>Timer 0 Comapre Match A</DEFINITION>
    </VECTOR18>
    <VECTOR19>
      <PROGRAM_ADDRESS>$0024</PROGRAM_ADDRESS>
      <SOURCE>TIMER0_COMPB</SOURCE>
      <DEFINITION>Timer 0 Compare Match B</DEFINITION>
    </VECTOR19>
    <VECTOR20>
      <PROGRAM_ADDRESS>$0026</PROGRAM_ADDRESS>
      <SOURCE>TIMER0_OVF</SOURCE>
      <DEFINITION>Timer 0 Overflow</DEFINITION>
    </VECTOR20>
    <VECTOR21>
      <PROGRAM_ADDRESS>$0028</PROGRAM_ADDRESS>
      <SOURCE>TWIBUSCD</SOURCE>
      <DEFINITION>Two-Wire Bus Connect/Disconnect</DEFINITION>
    </VECTOR21>
    <VECTOR22>
      <PROGRAM_ADDRESS>$002A</PROGRAM_ADDRESS>
      <SOURCE>TWI</SOURCE>
      <DEFINITION>Two-Wire Serial Interface</DEFINITION>
    </VECTOR22>
    <VECTOR23>
      <PROGRAM_ADDRESS>$002C</PROGRAM_ADDRESS>
      <SOURCE>SPI_STC</SOURCE>
      <DEFINITION>SPI Serial transfer complete</DEFINITION>
    </VECTOR23>
    <VECTOR24>
      <PROGRAM_ADDRESS>$002E</PROGRAM_ADDRESS>
      <SOURCE>VADC</SOURCE>
      <DEFINITION>Voltage ADC Conversion Complete</DEFINITION>
    </VECTOR24>
    <VECTOR25>
      <PROGRAM_ADDRESS>$0030</PROGRAM_ADDRESS>
      <SOURCE>CCADC_CONV</SOURCE>
      <DEFINITION>Coulomb Counter ADC Conversion Complete</DEFINITION>
    </VECTOR25>
    <VECTOR26>
      <PROGRAM_ADDRESS>$0032</PROGRAM_ADDRESS>
      <SOURCE>CCADC_REG_CUR</SOURCE>
      <DEFINITION>Coloumb Counter ADC Regular Current</DEFINITION>
    </VECTOR26>
    <VECTOR27>
      <PROGRAM_ADDRESS>$0034</PROGRAM_ADDRESS>
      <SOURCE>CCADC_ACC</SOURCE>
      <DEFINITION>Coloumb Counter ADC Accumulator</DEFINITION>
    </VECTOR27>
    <VECTOR28>
      <PROGRAM_ADDRESS>$036</PROGRAM_ADDRESS>
      <SOURCE>EE_READY</SOURCE>
      <DEFINITION>EEPROM Ready</DEFINITION>
    </VECTOR28>
    <VECTOR29>
      <PROGRAM_ADDRESS>$038</PROGRAM_ADDRESS>
      <SOURCE>SPM</SOURCE>
      <DEFINITION>SPM Ready</DEFINITION>
    </VECTOR29>
  </INTERRUPT_VECTOR>
  <IO_MODULE>
    <MODULE_LIST>[AD_CONVERTER:WATCHDOG:FET:SPI:EEPROM:COULOMB_COUNTER:TWI:EXTERNAL_INTERRUPT:TIMER_COUNTER_1:CELL_BALANCING:BATTERY_PROTECTION:CHARGER_DETECT:VOLTAGE_REGULATOR:BANDGAP:CPU:PORTA:PORTB:PORTC:TIMER_COUNTER_0:BOOT_LOAD]</MODULE_LIST>
    <AD_CONVERTER>
      <LIST>[VADMUX:VADCH:VADCL:VADCSR]</LIST>
      <LINK>[VADCH:VADCL]</LINK>
      <ICON>io_analo.bmp</ICON>
      <ID/>
      <TEXT>12-bit resolution Sigmal-Delta ADC with +/-1 LSB Accuracy. 512 us conversion time.</TEXT>
      <VADMUX>
        <NAME>VADMUX</NAME>
        <DESCRIPTION>The VADC multiplexer Selection Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x7C</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT3>
          <NAME>VADMUX3</NAME>
          <DESCRIPTION>Analog Channel and Gain Selection Bits</DESCRIPTION>
          <TEXT>The value of these bits selects which combination of analog inputs are connected to the ADC. These bits also select the gain for the differential channels. See Table 92 for details. If these bits are changed during a conversion, the change will not go in effect until this conversion is complete (ADIF in ADCSR is set).</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>VADMUX2</NAME>
          <DESCRIPTION>Analog Channel and Gain Selection Bits</DESCRIPTION>
          <TEXT>The value of these bits selects which combination of analog inputs are connected to the ADC. These bits also select the gain for the differential channels. See Table 92 for details. If these bits are changed during a conversion, the change will not go in effect until this conversion is complete (ADIF in ADCSR is set).</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>VADMUX1</NAME>
          <DESCRIPTION>Analog Channel and Gain Selection Bits</DESCRIPTION>
          <TEXT>The value of these bits selects which combination of analog inputs are connected to the ADC. These bits also select the gain for the differential channels. See Table 92 for details. If these bits are changed during a conversion, the change will not go in effect until this conversion is complete (ADIF in ADCSR is set).</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>VADMUX0</NAME>
          <DESCRIPTION>Analog Channel and Gain Selection Bits</DESCRIPTION>
          <TEXT>The value of these bits selects which combination of analog inputs are connected to the ADC. These bits also select the gain for the differential channels. See Table 92 for details. If these bits are changed during a conversion, the change will not go in effect until this conversion is complete (ADIF in ADCSR is set).</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </VADMUX>
      <VADCH>
        <NAME>VADCH</NAME>
        <DESCRIPTION>VADC Data Register High Byte</DESCRIPTION>
        <TEXT>When VADCL is read, the Voltage ADC Data Register is not updated until VADCH is read. Consequently if no more than 8-bit precision is required, it is sufficient to read VADCH. Otherwise, VADCL must be read first, then VADCH.</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x79</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT3>
          <NAME>VADC11</NAME>
          <DESCRIPTION>ADC Data Register High Byte Bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>VADC10</NAME>
          <DESCRIPTION>ADC Data Register High Byte Bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>VADC9</NAME>
          <DESCRIPTION>ADC Data Register High Byte Bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>VADC8</NAME>
          <DESCRIPTION>ADC Data Register High Byte Bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </VADCH>
      <VADCL>
        <NAME>VADCL</NAME>
        <DESCRIPTION>VADC Data Register Low Byte</DESCRIPTION>
        <TEXT>When VADCL is read, the Voltage ADC Data Register is not updated until VADCH is read. Consequently if no more than 8-bit precision is required, it is sufficient to read VADCH. Otherwise, VADCL must be read first, then VADCH.</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x78</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>VADC7</NAME>
          <DESCRIPTION>ADC Data Register Low Byte Bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>VADC6</NAME>
          <DESCRIPTION>ADC Data Register Low Byte Bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>VADC5</NAME>
          <DESCRIPTION>ADC Data Register Low Byte Bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>VADC4</NAME>
          <DESCRIPTION>ADC Data Register Low Byte Bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>VADC3</NAME>
          <DESCRIPTION>ADC Data Register Low Byte Bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>VADC2</NAME>
          <DESCRIPTION>ADC Data Register Low Byte Bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>VADC1</NAME>
          <DESCRIPTION>ADC Data Register Low Byte Bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>VADC0</NAME>
          <DESCRIPTION>ADC Data Register Low Byte Bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </VADCL>
      <VADCSR>
        <NAME>VADCSR</NAME>
        <DESCRIPTION>The VADC Control and Status register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x7A</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT3>
          <NAME>VADEN</NAME>
          <DESCRIPTION>VADC Enable</DESCRIPTION>
          <TEXT>Writing this bit to one enables V-ADC Conversion. By writing it to zero, the V-ADC is turned off. Turning the V-ADC off while a conversion is in progress will terminate this conversion</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>VADSC</NAME>
          <DESCRIPTION>VADC Satrt Conversion</DESCRIPTION>
          <TEXT>Write this bit to one to start a new conversion of the selected channel. VADSC will read as one as long as the conversion is not finished. When the conversion is complete, it returns to zero. Writing zero to this bit has no effect.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>VADCCIF</NAME>
          <DESCRIPTION>VADC Conversion Complete Interrupt Flag</DESCRIPTION>
          <TEXT>This bit is set when a V-ADC conversion completes and the data registers are updated.V-ADC Conversion complete Interrupt is executed if the VADCCIE bit and the I-bit in S-REG are set. VADCCIF is cleared by hardware when executing the corresponding interrupt handling vector. Alternatively, VADCCIF is cleared by writing a logical one to the flag. Beware that if doing a Read-Modify-Write on VADCSR, a pending interrupt can be disabled.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>VADCCIE</NAME>
          <DESCRIPTION>VADC Conversion Complete Interrupt Enable</DESCRIPTION>
          <TEXT>When this bit is written to one and the I-Bit in SREG is set, the V-ADC Conversion Complete Interrupt is activated</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </VADCSR>
    </AD_CONVERTER>
    <WATCHDOG>
      <LIST>[WDTCSR]</LIST>
      <LINK/>
      <ICON>io_watch.bmp</ICON>
      <ID/>
      <TEXT/>
      <WDTCSR>
        <NAME>WDTCSR</NAME>
        <DESCRIPTION>Watchdog Timer Control Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x60</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>WDIF</NAME>
          <DESCRIPTION>Watchdog Timeout Interrupt Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>WDIE</NAME>
          <DESCRIPTION>Watchdog Timeout Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>WDP3</NAME>
          <DESCRIPTION>Watchdog Timer Prescaler Bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>WDCE</NAME>
          <DESCRIPTION>Watchdog Change Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>WDE</NAME>
          <DESCRIPTION>Watch Dog Enable</DESCRIPTION>
          <TEXT>When the WDE is set (one) the Watchdog Timer is enabled, and if the WDE is cleared (zero) the Watchdog Timer function is disabled. WDE can only be cleared if the WDTOE bit is set(one). To disable an enabled watchdog timer, the following procedure must be followed: 1. In the same operation, write a logical one to WDTOE and WDE. A logical one must be written to WDE even though it is set to one before the disable operation starts. 2. Within the next four clock cycles, write a logical 0 to WDE. This disables the watchdog</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>WDP2</NAME>
          <DESCRIPTION>Watch Dog Timer Prescaler bit 2</DESCRIPTION>
          <TEXT/>
          <ENUM>WDOG_TIMER_PRESCALE_4BITS</ENUM>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>WDP1</NAME>
          <DESCRIPTION>Watch Dog Timer Prescaler bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>WDP0</NAME>
          <DESCRIPTION>Watch Dog Timer Prescaler bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </WDTCSR>
    </WATCHDOG>
    <FET>
      <LIST>[FCSR]</LIST>
      <LINK/>
      <ICON>io_analo.bmp</ICON>
      <ID/>
      <TEXT/>
      <FCSR>
        <NAME>FCSR</NAME>
        <DESCRIPTION>FET Control and Status Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF0</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT3>
          <NAME>DUVRD</NAME>
          <DESCRIPTION>Deep Under-Voltage Recovery Disable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CPS</NAME>
          <DESCRIPTION>Current Protection Status</DESCRIPTION>
          <TEXT>The CPTS bit shows the status of the Current Protection. This bit is set (one) when the Current Protection Timer is activated, and is cleared (zero) when the hold-off time has elapsed. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>DFE</NAME>
          <DESCRIPTION>Discharge FET Enable</DESCRIPTION>
          <TEXT>When the DFE bit is cleared (zero), the Discharge FET will be disabled regardless of the state of the Battery Protection circuitry. When this bit is set (one), the Discharge FET state is determined by the Battery Protection circuitry. This bit will be cleared when CURRENT_PROTECTION is set (one). </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CFE</NAME>
          <DESCRIPTION>Charge FET Enable</DESCRIPTION>
          <TEXT>When the CFE bit is cleared (zero), the Charge FET will be disabled regardless of the state of the Battery Protection circuitry. When this bit is set (one), the Charge FET state is determined by the Battery Protection circuitry. This bit will be cleared when CURRENT_PROTECTION is set (one). </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </FCSR>
    </FET>
    <SPI>
      <LIST>[SPDR:SPSR:SPCR]</LIST>
      <LINK/>
      <ICON>io_com.bmp</ICON>
      <ID/>
      <TEXT>The Serial Peripheral Interface(SPI) allows high-speed synchronous data transfer between the AT90S4414/8515 and peripheral devices or between several AVR devices. The AT90S4414/8515 SPI features include the following: &#x2022; Full-duplex, 3-wire Synchronous Data Transfer &#x2022; Master or Slave Operation &#x2022; LSB First or MSB First Data Transfer &#x2022; Four Programmable Bit Rates &#x2022; End of Transmission Interrupt Flag &#x2022; Write Collision Flag Protection &#x2022; Wakeup from Idle Mode (Slave Mode Only)</TEXT>
      <SPCR>
        <NAME>SPCR</NAME>
        <DESCRIPTION>SPI Control Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x2c</IO_ADDR>
        <MEM_ADDR>0x4c</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>SPIE</NAME>
          <DESCRIPTION>SPI Interrupt Enable</DESCRIPTION>
          <TEXT>This bit causes the SPI interrupt to be executed if SPIF bit in the SPSR register is set and the global interrupts are enabled.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>SPE</NAME>
          <DESCRIPTION>SPI Enable</DESCRIPTION>
          <TEXT>When the SPE bit is set (one), the SPI is enabled. This bit must be set to enable any SPI operations.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>DORD</NAME>
          <DESCRIPTION>Data Order</DESCRIPTION>
          <TEXT>When the DORD bit is set (one), the LSB of the data word is transmitted first. When the DORD bit is cleared (zero), the MSB of the data word is transmitted first.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>MSTR</NAME>
          <DESCRIPTION>Master/Slave Select</DESCRIPTION>
          <TEXT>This bit selects Master SPI mode when set (one), and Slave SPI mode when cleared (zero). If SS is configured as an input and is driven low while MSTR is set, MSTR will be cleared, and SPIF in SPSR will become set. The user will then have to set MSTR to re-enable SPI master mode.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CPOL</NAME>
          <DESCRIPTION>Clock polarity</DESCRIPTION>
          <TEXT>When this bit is set (one), SCK is high when idle. When CPOL is cleared (zero), SCK is low when idle. Refer to Figure 36 and Figure 37 for additional information.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CPHA</NAME>
          <DESCRIPTION>Clock Phase</DESCRIPTION>
          <TEXT>Refer to Figure 36 or Figure 37 for the functionality of this bit.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>SPR1</NAME>
          <DESCRIPTION>SPI Clock Rate Select 1</DESCRIPTION>
          <TEXT>These two bits control the SCK rate of the device configured as a master. SPR1 and SPR0 have no effect on the slave.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>SPR0</NAME>
          <DESCRIPTION>SPI Clock Rate Select 0</DESCRIPTION>
          <TEXT>These two bits control the SCK rate of the device configured as a master. SPR1 and SPR0 have no effect on the slave.</TEXT>
          <ACCESS>RW</ACCESS>
          <ENUM>COMM_SCK_RATE_3BIT</ENUM>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </SPCR>
      <SPSR>
        <NAME>SPSR</NAME>
        <DESCRIPTION>SPI Status Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x2d</IO_ADDR>
        <MEM_ADDR>0x4d</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>SPIF</NAME>
          <DESCRIPTION>SPI Interrupt Flag</DESCRIPTION>
          <TEXT>When a serial transfer is complete, the SPIF bit is set (one) and an interrupt is generated if SPIE in SPCR is set (one) and global interrupts are enabled. If SS is an input and is driven low when the SPI is in master mode, this will also set the SPIF flag. SPIF is cleared by hardware when executing the corresponding interrupt handling vector. Alternatively, the SPIF bit is cleared by first reading the SPI status register when SPIF is set (one), then accessing the SPI Data Register (SPDR).</TEXT>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>WCOL</NAME>
          <DESCRIPTION>Write Collision Flag</DESCRIPTION>
          <TEXT>The WCOL bit is set if the SPI data register (SPDR) is written during a data transfer. The WCOL bit (and the SPIF bit) are cleared (zero) by first reading the SPI Status Register when WCOL is set (one), and then accessing the SPI Data Register.</TEXT>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT0>
          <NAME>SPI2X</NAME>
          <DESCRIPTION>Double SPI Speed Bit</DESCRIPTION>
          <TEXT>When this bit is written logic one the SPI speed (SCK Frequency)will be doubled when the SPI is in master mode .This means that the minimum SCK period will be 2 CPU clock periods.When the SPI is configured as Slave,the SPI is only guaranteed to work at f osc /4orlower. The SPI interface on the ATmega162 is also used for program memory and EEPROM downloading or uploading.     </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </SPSR>
      <SPDR>
        <NAME>SPDR</NAME>
        <DESCRIPTION>SPI Data Register</DESCRIPTION>
        <TEXT>The SPI Data Register is a read/write register used for data transfer between the register file and the SPI Shift register. Writing to the register initiates data transmission. Reading the register causes the Shift Register Receive buffer to be read.</TEXT>
        <IO_ADDR>0x2e</IO_ADDR>
        <MEM_ADDR>0x4e</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <READ_INTRUSIVE/>
        <ICON>io_com.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>SPDR7</NAME>
          <DESCRIPTION>SPI Data Register bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>X</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>SPDR6</NAME>
          <DESCRIPTION>SPI Data Register bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>X</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>SPDR5</NAME>
          <DESCRIPTION>SPI Data Register bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>X</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>SPDR4</NAME>
          <DESCRIPTION>SPI Data Register bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>X</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>SPDR3</NAME>
          <DESCRIPTION>SPI Data Register bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>X</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>SPDR2</NAME>
          <DESCRIPTION>SPI Data Register bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>X</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>SPDR1</NAME>
          <DESCRIPTION>SPI Data Register bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>SPDR0</NAME>
          <DESCRIPTION>SPI Data Register bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </SPDR>
    </SPI>
    <EEPROM>
      <LIST>[EEARH:EEARL:EEDR:EECR]</LIST>
      <LINK>[EEARH:EEARL]</LINK>
      <ICON>io_cpu.bmp</ICON>
      <ID>EEPROM_m32HVB.xml</ID>
      <TEXT/>
      <EEARH>
        <NAME>EEARH</NAME>
        <DESCRIPTION>EEPROM Read/Write Access</DESCRIPTION>
        <TEXT>The EEPROM access register is accessible in the I/O space. The write access time is in the range of 2.5 - 4ms, depending on the V CC voltages. A self-timing function, however, lets the user software detect when the next byte can be written. If the user code contains code that writes the EEPROM, some pre-caution must be taken. In heavily filtered power supplies, V CC is likely to rise or fall slowly on power-up/down. This causes the device for some period of time to run at a voltage lower than specified as minimum for the clock frequency used. CPU operation under these conditions is likely cause the program counter to perform unintentional jumps and eventually execute the EEPROM write code. To secure EEPROM integrity, the user is advised to use an external under-voltage reset circuit in this case. In order to prevent unintentional EEPROM writes, a specific write procedure must be followed. Refer to the description of the EEPROM Control Register for details on this. When the EEPROM is written, the CPU is halted for two clock cycles before the next instruction is executed. When the EEPROM is read, the CPU is halted for four clock cycles before the next instruction</TEXT>
        <IO_ADDR>0x22</IO_ADDR>
        <MEM_ADDR>0x42</MEM_ADDR>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT1>
          <NAME>EEAR9</NAME>
          <DESCRIPTION>EEPROM Read/Write Access bit 9</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>EEAR8</NAME>
          <DESCRIPTION>EEPROM Read/Write Access bit 8</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </EEARH>
      <EEARL>
        <NAME>EEARL</NAME>
        <DESCRIPTION>EEPROM Read/Write Access</DESCRIPTION>
        <TEXT>The EEPROM access register is accessible in the I/O space. The write access time is in the range of 2.5 - 4ms, depending on the V CC voltages. A self-timing function, however, lets the user software detect when the next byte can be written. If the user code contains code that writes the EEPROM, some pre-caution must be taken. In heavily filtered power supplies, V CC is likely to rise or fall slowly on power-up/down. This causes the device for some period of time to run at a voltage lower than specified as minimum for the clock frequency used. CPU operation under these conditions is likely cause the program counter to perform unintentional jumps and eventually execute the EEPROM write code. To secure EEPROM integrity, the user is advised to use an external under-voltage reset circuit in this case. In order to prevent unintentional EEPROM writes, a specific write procedure must be followed. Refer to the description of the EEPROM Control Register for details on this. When the EEPROM is written, the CPU is halted for two clock cycles before the next instruction is executed. When the EEPROM is read, the CPU is halted for four clock cycles before the next instruction</TEXT>
        <IO_ADDR>0x21</IO_ADDR>
        <MEM_ADDR>0x41</MEM_ADDR>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>EEAR7</NAME>
          <DESCRIPTION>EEPROM Read/Write Access bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>EEAR6</NAME>
          <DESCRIPTION>EEPROM Read/Write Access bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>EEAR5</NAME>
          <DESCRIPTION>EEPROM Read/Write Access bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>EEAR4</NAME>
          <DESCRIPTION>EEPROM Read/Write Access bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>EEAR3</NAME>
          <DESCRIPTION>EEPROM Read/Write Access bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>EEAR2</NAME>
          <DESCRIPTION>EEPROM Read/Write Access bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>EEAR1</NAME>
          <DESCRIPTION>EEPROM Read/Write Access bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>EEAR0</NAME>
          <DESCRIPTION>EEPROM Read/Write Access bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </EEARL>
      <EEDR>
        <NAME>EEDR</NAME>
        <DESCRIPTION>EEPROM Data Register</DESCRIPTION>
        <TEXT>For the EEPROM write operation, the EEDR register contains the data to be written to the EEPROM in the address given by the EEAR register. For the EEPROM read operation, the EEDR contains the data read out from the EEPROM at the address given by EEAR.</TEXT>
        <IO_ADDR>0x20</IO_ADDR>
        <MEM_ADDR>0x40</MEM_ADDR>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>EEDR7</NAME>
          <DESCRIPTION>EEPROM Data Register bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>EEDR6</NAME>
          <DESCRIPTION>EEPROM Data Register bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>EEDR5</NAME>
          <DESCRIPTION>EEPROM Data Register bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>EEDR4</NAME>
          <DESCRIPTION>EEPROM Data Register bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>EEDR3</NAME>
          <DESCRIPTION>EEPROM Data Register bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>EEDR2</NAME>
          <DESCRIPTION>EEPROM Data Register bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>EEDR1</NAME>
          <DESCRIPTION>EEPROM Data Register bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>EEDR0</NAME>
          <DESCRIPTION>EEPROM Data Register bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </EEDR>
      <EECR>
        <NAME>EECR</NAME>
        <DESCRIPTION>EEPROM Control Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x1F</IO_ADDR>
        <MEM_ADDR>0x3F</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT5>
          <NAME>EEPM1</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>EEPM0</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <ENUM>EEP_MODE</ENUM>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>EERIE</NAME>
          <DESCRIPTION>EEProm Ready Interrupt Enable</DESCRIPTION>
          <TEXT>When the I-bit in SREG and EERIE are set (one), the EEPROM Ready Interrupt is enabled. When cleared (zero), the interrupt is disabled. The EEPROM Ready Interrupt generates a constant interrupt when EEWE is cleared (zero).</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>EEMPE</NAME>
          <ALIAS>EEMWE</ALIAS>
          <DESCRIPTION>EEPROM Master Write Enable</DESCRIPTION>
          <TEXT>The EEMWE bit determines whether setting EEWE to one causes the EEPROM to be written. When EEMWE is set(one) setting EEWE will write data to the EEPROM at the selected address If EEMWE is zero, setting EEWE will have no effect. When EEMWE has been set (one) by software, hardware clears the bit to zero after four clock cycles. See the description of the EEWE bit for a EEPROM write procedure.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>EEPE</NAME>
          <ALIAS>EEWE</ALIAS>
          <DESCRIPTION>EEPROM Write Enable</DESCRIPTION>
          <TEXT>The EEPROM Write Enable Signal EEWE is the write strobe to the EEPROM. When address and data are correctly set up, the EEWE bit must be set to write the value into the EEPROM. The EEMWE bit must be set when the logical one is written to EEWE, otherwise no EEPROM write takes place. The following procedure should be followed when writing the EEPROM (the order of steps 2 and 3 is unessential): 1. Wait until EEWE becomes zero. 2. Write new EEPROM address to EEARL and EEARH (optional). 3. Write new EEPROM data to EEDR (optional). 4. Write a logical one to the EEMWE bit in EECR (to be able to write a logical one to the EEMWE bit, the EEWE bit mustbewritten to zero in thesamecycle). 5. Within four clock cycles after setting EEMWE, write a logical one to EEWE. When the write access time (typically 2.5 ms at V CC =5Vor 4msatV CC = 2.7V) has elapsed, the EEWE bit is cleared (zero) by hardware. The user software can poll this bit and wait for a zero before writing the next byte. When EEWE has been set, the CPU is halted or two cycles before the next instruction is executed. Caution: An interrupt between step 4 and step 5 will make the write cycle fail, since the EEPROM Master Write Enable will time-out. If an interrupt routine accessing the EEPROM is interrupting another EEPROM access, the EEAR or EEDR regis-ter will be modified, causing the interrupted EEPROM access to fail. It is recommended to have the global interrupt flag cleared during the 4 last steps to avoid these problems.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>EERE</NAME>
          <DESCRIPTION>EEPROM Read Enable</DESCRIPTION>
          <TEXT>The EEPROM Read Enable Signal EERE is the read strobe to the EEPROM. When the correct address is set up in the EEAR register, the EERE bit must be set. When the EERE bit is cleared (zero) by hardware, requested data is found in the EEDR register. The EEPROM read access takes one instruction and there is no need to poll the EERE bit. When EERE has been set, the CPU is halted for four cycles before the next instruction is executed. The user should poll the EEWE bit before starting the read operation. If a write operation is in progress when new data or address is written to the EEPROM I/O registers, the write operation will be interrupted, and the result is undefined.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </EECR>
    </EEPROM>
    <COULOMB_COUNTER>
      <LIST>[CADCSRA:CADCSRB:CADCSRC:CADICH:CADICL:CADAC3:CADAC2:CADAC1:CADAC0:CADRCC:CADRDC]</LIST>
      <LINK>[CADICH:CADICL];[CADAC3:CADAC2:CADAC1:CADAC0]</LINK>
      <ICON>io_analo.bmp</ICON>
      <ID>CoulombCounter_m406</ID>
      <TEXT/>
      <CADCSRA>
        <NAME>CADCSRA</NAME>
        <DESCRIPTION>CC-ADC Control and Status Register A</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE6</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>CADEN</NAME>
          <DESCRIPTION>When the CADEN bit is cleared (zero), the CC-ADC is disabled. When the CADEN bit is set (one), the CC-ADC will continuously measure the voltage drop over the external sense resistor RSENSE. In Power-down, only the Regular Current detection is active. In Power-off, the CC-ADC is always disabled. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>CADPOL</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>CADUB</NAME>
          <DESCRIPTION>CC_ADC Update Busy</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>CADAS1</NAME>
          <DESCRIPTION>CC_ADC Accumulate Current Select Bit 1</DESCRIPTION>
          <TEXT>The CADAS bits select the conversion time for the Accumulate Current output. Please refer to table 45 in the manual.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CADAS0</NAME>
          <DESCRIPTION>CC_ADC Accumulate Current Select Bit 0</DESCRIPTION>
          <TEXT>The CADAS bits select the conversion time for the Accumulate Current output. Please refer to table 45 in the manual.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CADSI1</NAME>
          <DESCRIPTION>The CADSI bits determine the current sampling interval for the Regular Current detection in Power-down mode. The actual settings remain to be determined. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CADSI0</NAME>
          <DESCRIPTION>The CADSI bits determine the current sampling interval for the Regular Current detection in Power-down mode. The actual settings remain to be determined. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CADSE</NAME>
          <DESCRIPTION>When the CADSE bit is written to one, the ongoing CC-ADC conversion is aborted, and the CC-ADC enters Regular Current detection mode.</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CADCSRA>
      <CADCSRB>
        <NAME>CADCSRB</NAME>
        <DESCRIPTION>CC-ADC Control and Status Register B</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE7</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT6>
          <NAME>CADACIE</NAME>
          <DESCRIPTION/>
          <TEXT>CC-ADC Accumulate Current Interrupt Enable </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>CADRCIE</NAME>
          <DESCRIPTION>Regular Current Interrupt Enable</DESCRIPTION>
          <TEXT>When the CADACIE bit is set (one), and the I-bit in the Status Register is set (one), the CC-ADC Accumulate Current Interrupt is enabled. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>CADICIE</NAME>
          <DESCRIPTION>CAD Instantenous Current Interrupt Enable</DESCRIPTION>
          <TEXT>The CADACT bits determine the conversion time for the Accumulate Current output as shown in Table 43. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT2>
          <NAME>CADACIF</NAME>
          <DESCRIPTION>CC-ADC Accumulate Current Interrupt Flag</DESCRIPTION>
          <TEXT>The CADACIF bit is set (one) after the Accumulate Current conversion has completed. The CC-ADC Accumulate Current Interrupt is executed if the CADAIE bit and the I-bit in SREG are set (one). CADACIF is cleared by hardware when executing the corresponding Interrupt Handling Vector. Alternatively, CADACIF is cleared by writing a logic one to the flag. he CADRCIF bit is set (one) when the absolute value of the result of the last CC-ADC conversion is greater than, or equal to, the compare values set by the CC-ADC Regular Charge/Discharge Current Level Registers. A positive value is compared to the Regular Charge Current Level, and a negative value is compared to the Regular Discharge Current Level. The CC-ADC Regular Current Interrupt is executed if the CADRCIE bit and the I-bit in SREG are set (one). CADRCIF is cleared by hardware when executing the corresponding Interrupt Handling vector. Alternatively, CADRCIF is cleared by writing a logic one to the flag.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CADRCIF</NAME>
          <DESCRIPTION>CC-ADC Accumulate Current Interrupt Flag</DESCRIPTION>
          <TEXT>The CADACIF bit is set (one) after the Accumulate Current conversion has completed. The CC-ADC Accumulate Current Interrupt is executed if the CADAIE bit and the I-bit in SREG are set (one). CADACIF is cleared by hardware when executing the corresponding Interrupt Handling Vector. Alternatively, CADACIF is cleared by writing a logic one to the flag. he CADRCIF bit is set (one) when the absolute value of the result of the last CC-ADC conversion is greater than, or equal to, the compare values set by the CC-ADC Regular Charge/Discharge Current Level Registers. A positive value is compared to the Regular Charge Current Level, and a negative value is compared to the Regular Discharge Current Level. The CC-ADC Regular Current Interrupt is executed if the CADRCIE bit and the I-bit in SREG are set (one). CADRCIF is cleared by hardware when executing the corresponding Interrupt Handling vector. Alternatively, CADRCIF is cleared by writing a logic one to the flag.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CADICIF</NAME>
          <DESCRIPTION>CC-ADC Instantaneous Current Interrupt Flag </DESCRIPTION>
          <TEXT>The CADICIF bit is set (one) when a CC-ADC Instantaneous Current conversion is completed. The CC-ADC Instantaneous Current Interrupt is executed if the CADICIE bit and the I-bit in SREG are set (one). CADICIF is cleared by hardware when executing the corresponding Interrupt Handling vector. Alternatively, CADICIF is cleared by writing a  logic one to the flag. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CADCSRB>
      <CADCSRC>
        <NAME>CADCSRC</NAME>
        <DESCRIPTION>CC-ADC Control and Status Register C</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE8</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT0>
          <NAME>CADVSE</NAME>
          <DESCRIPTION>CC-ADC Voltage Scaling Enable</DESCRIPTION>
          <TEXT>Setting this flag enables the Internal Voltage Scaling.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CADCSRC>
      <CADICH>
        <NAME>CADICH</NAME>
        <DESCRIPTION>CC-ADC Instantaneous Current</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE5</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>CADICH7</NAME>
          <DESCRIPTION>When the CADEN bit is cleared (zero), the CC-ADC is disabled. When the CADEN bit is set (one), the CC-ADC will continuously measure the voltage drop over the external sense resistor RSENSE. In Power-down, only the Regular Current detection is active. In Power-off, the CC-ADC is always disabled. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>CADICH6</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>CADICH5</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>CADICH4</NAME>
          <DESCRIPTION>The CADACT bits determine the conversion time for the Accumulate Current output as shown in Table 43. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CADICH3</NAME>
          <DESCRIPTION>The CADACT bits determine the conversion time for the Accumulate Current output as shown in Table 43. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CADICH2</NAME>
          <DESCRIPTION>The CADSI bits determine the current sampling interval for the Regular Current detection in Power-down mode. The actual settings remain to be determined. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CADICH1</NAME>
          <DESCRIPTION>The CADSI bits determine the current sampling interval for the Regular Current detection in Power-down mode. The actual settings remain to be determined. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CADICH0</NAME>
          <DESCRIPTION>When the CADSE bit is written to one, the ongoing CC-ADC conversion is aborted, and the CC-ADC enters Regular Current detection mode.</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CADICH>
      <CADICL>
        <NAME>CADICL</NAME>
        <DESCRIPTION>CC-ADC Instantaneous Current</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE4</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>CADICL7</NAME>
          <DESCRIPTION>When the CADEN bit is cleared (zero), the CC-ADC is disabled. When the CADEN bit is set (one), the CC-ADC will continuously measure the voltage drop over the external sense resistor RSENSE. In Power-down, only the Regular Current detection is active. In Power-off, the CC-ADC is always disabled. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>CADICL6</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>CADICL5</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>CADICL4</NAME>
          <DESCRIPTION>The CADACT bits determine the conversion time for the Accumulate Current output as shown in Table 43. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CADICL3</NAME>
          <DESCRIPTION>The CADACT bits determine the conversion time for the Accumulate Current output as shown in Table 43. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CADICL2</NAME>
          <DESCRIPTION>The CADSI bits determine the current sampling interval for the Regular Current detection in Power-down mode. The actual settings remain to be determined. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CADICL1</NAME>
          <DESCRIPTION>The CADSI bits determine the current sampling interval for the Regular Current detection in Power-down mode. The actual settings remain to be determined. </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CADICL0</NAME>
          <DESCRIPTION>When the CADSE bit is written to one, the ongoing CC-ADC conversion is aborted, and the CC-ADC enters Regular Current detection mode.</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CADICL>
      <CADAC3>
        <NAME>CADAC3</NAME>
        <DESCRIPTION>ADC Accumulate Current</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE3</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>CADAC31</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>CADAC30</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>CADAC29</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>CADAC28</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CADAC27</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CADAC26</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CADAC25</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CADAC24</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CADAC3>
      <CADAC2>
        <NAME>CADAC2</NAME>
        <DESCRIPTION>ADC Accumulate Current</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE2</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>CADAC23</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>CADAC22</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>CADAC21</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>CADAC20</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CADAC19</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CADAC18</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CADAC17</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CADAC16</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CADAC2>
      <CADAC1>
        <NAME>CADAC1</NAME>
        <DESCRIPTION>ADC Accumulate Current</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE1</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>CADAC15</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>CADAC14</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>CADAC13</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>CADAC12</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CADAC11</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CADAC10</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CADAC09</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CADAC08</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CADAC1>
      <CADAC0>
        <NAME>CADAC0</NAME>
        <DESCRIPTION>ADC Accumulate Current</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE0</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>CADAC07</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>CADAC06</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>CADAC05</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>CADAC04</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CADAC03</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CADAC02</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CADAC01</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CADAC00</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CADAC0>
      <CADRCC>
        <NAME>CADRCC</NAME>
        <DESCRIPTION>CC-ADC Regular Charge Current</DESCRIPTION>
        <TEXT>The CC-ADC Regular Charge Current Register determines the threshold level for the Regular Charge Current</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xE9</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>CADRCC7</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>CADRCC6</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>CADRCC5</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>CADRCC4</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CADRCC3</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CADRCC2</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CADRCC1</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CADRCC0</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CADRCC>
      <CADRDC>
        <NAME>CADRDC</NAME>
        <DESCRIPTION>CC-ADC Regular Discharge Current</DESCRIPTION>
        <TEXT>he CC-ADC Regular Current Discharge Register determines the threshold level for the Regular Discharge Current</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xEA</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>CADRDC7</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>CADRDC6</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>CADRDC5</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>CADRDC4</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CADRDC3</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CADRDC2</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CADRDC1</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CADRDC0</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CADRDC>
    </COULOMB_COUNTER>
    <TWI>
      <LIST>[TWBCSR:TWAMR:TWBR:TWCR:TWSR:TWDR:TWAR]</LIST>
      <LINK/>
      <ICON>io_com.bmp</ICON>
      <ID/>
      <TEXT>TWI: Simple yet powerful and flexible communications interface, only two bus lines needed. Both master and slave operation supported. Device can operate as transmitter or receiver. 7-bit address space allows up to 128 different slave addresses.  Multi-master arbitration support  Up to 400 kHz data transfer speed  Slew-rate limited output drivers  Noise suppression circuitry rejects spikes on bus lines  Fully programmable slave address with general call support  Address recognition causes wake-up when AVR is in sleep mode The Two-Wire Serial Interface (TWI) is ideally suited to typical microcontroller applications. The TWI protocol allows the systems designer to interconnect up to 128 different devices using only two bidirectional bus lines, one for clock (SCL) andone for data (SDA). The only external hardware needed to implement the bus is a single pull-up resistor for each of the TWI bus lines. All devices connected to the bus have individual addresses, and mechanisms for resolving bus contention are inherent in the TWI </TEXT>
      <TWBCSR>
        <NAME>TWBCSR</NAME>
        <DESCRIPTION>TWI Bus Control and Status Register</DESCRIPTION>
        <TEXT>The Bus Connect/Disconnect module is an addition to the TWI Interface. Based on a configuration bit, an interrupt can be generated either when the TWI bus is connected or disconnected.</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xBE</MEM_ADDR>
        <ICON>io_com.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>TWBCIF</NAME>
          <DESCRIPTION>TWI Bus Connect/Disconnect Interrupt Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>TWBCIE</NAME>
          <DESCRIPTION>TWI Bus Connect/Disconnect Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT2>
          <NAME>TWBDT1</NAME>
          <DESCRIPTION>TWI Bus Disconnect Time-out Period</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <ENUM>COMM_TW_BUS_TIMEOUT</ENUM>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>TWBDT0</NAME>
          <DESCRIPTION>TWI Bus Disconnect Time-out Period</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TWBCIP</NAME>
          <DESCRIPTION>TWI Bus Connect/Disconnect Interrupt Polarity</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TWBCSR>
      <TWAMR>
        <NAME>TWAMR</NAME>
        <DESCRIPTION>TWI (Slave) Address Mask Register</DESCRIPTION>
        <TEXT>The TWAMR can be loaded with a 7-bit Salve Address mask. Each of the bits in TWAMR can mask (disable) the corresponding address bits in the TWI Address Register (TWAR). If the mask bit is set to one then the address match logic ingnores the compare between the incomming address bit and the corresponding bit in TWAR.</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xBD</MEM_ADDR>
        <ICON>io_com.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>TWAM6</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>TWAM5</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>TWAM4</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>TWAM3</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>TWAM2</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>TWAM1</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>TWAM0</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
      </TWAMR>
      <TWBR>
        <NAME>TWBR</NAME>
        <DESCRIPTION>TWI Bit Rate register</DESCRIPTION>
        <TEXT>TWBR selects the division factor for the bit rate generator. The bit rate generator is a frequency divider which generates the SCL clock frequency in the master modes. See &#x201C;Bit Rate Generator Unit&#x201D; on page 165 for calculating bit rates.</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xB8</MEM_ADDR>
        <ICON>io_com.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>TWBR7</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>TWBR6</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>TWBR5</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>TWBR4</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>TWBR3</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>TWBR2</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>TWBR1</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TWBR0</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TWBR>
      <TWCR>
        <NAME>TWCR</NAME>
        <DESCRIPTION>TWI Control Register</DESCRIPTION>
        <TEXT>The TWCR is used to control the operation of the TWI. It is used to enable the TWI, to initiate a master access by applying a START condition to the bus, to generate a receiver acknowledge, to generate a stop condition, and to control halting of the bus while the data to be written to the bus are written to the TWDR. It also indicates a write collision if data is attempted written to TWDR while the register is inaccessible.</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xBC</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>TWINT</NAME>
          <DESCRIPTION>TWI Interrupt Flag</DESCRIPTION>
          <TEXT>This bit is set by hardware when the TWI has finished its current job and expects application software response. If the I-bit in SREG and TWIE in TWCR are set, the MCU will jump to the TWI interrupt vector. While the TWINT flag is set, the SCL low period is stretched. The TWINT flag must be cleared by software by writing a logic one to it. Note that this flag is not automatically cleared by hardware when executing the interrupt routine. Also note that clearing this flag starts the operation of the TWI, so all accesses to the TWI Address Register (TWAR), TWI Status Register (TWSR), and TWI Data Register (TWDR) must be complete before clearing this flag</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>TWEA</NAME>
          <DESCRIPTION>TWI Enable Acknowledge Bit</DESCRIPTION>
          <TEXT>The TWEA bit controls the generation of the acknowledge pulse. If the TWEA bit is written to one, the ACK pulse is gener-ated on the TWI bus if the following conditions are met: 1. The device&#x2019;s own slave address has been received. 2. A general call has been received, while the TWGCE bit in the TWAR is set. 3. A data byte has been received in master receiver or slave receiver mode. By writing the TWEA bit to zero, the device can be virtually disconnected from the 2-wire Serial Bus temporarily. Address recognition can then be resumed by writing the TWEA bit to one again</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>TWSTA</NAME>
          <DESCRIPTION>TWI Start Condition Bit</DESCRIPTION>
          <TEXT>The application writes the TWSTA bit to one when it desires to become a master on the 2-wire Serial Bus. The TWI hard-ware checks if the bus is available, and generates a START condition on the bus if it is free. However, if the bus is not free, the TWI waits until a STOP condition is detected, and then generates a new START condition to claim the bus Master sta-tus. TWSTA is cleared by the TWI hardware when the START condition has been transmitted.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>TWSTO</NAME>
          <DESCRIPTION>TWI Stop Condition Bit</DESCRIPTION>
          <TEXT>Writing the TWSTO bit to one in master mode will generate a STOP condition on the 2-wire Serial Bus. When the STOP condition is executed on the bus, the TWSTO bit is cleared automatically. In slave mode, setting the TWSTO bit can be used to recover from an error condition. This will not generate a STOP condition, but the TWI returns to a well-defined unaddressed slave mode and releases the SCL and SDA lines to a high impedance state.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>TWWC</NAME>
          <DESCRIPTION>TWI Write Collition Flag</DESCRIPTION>
          <TEXT>The TWWC bit is set when attempting to write to the TWI Data Register - TWDR when TWINT is low. This flag is cleared by writing the TWDR register when TWINT is high.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>TWEN</NAME>
          <DESCRIPTION>TWI Enable Bit</DESCRIPTION>
          <TEXT>The TWEN bit enables TWI operation and activates the TWI interface. When TWEN is written to one, the TWI takes control over the I/O pins connected to the SCL and SDA pins, enabling the slew-rate limiters and spike filters. If this bit is written to zero, the TWI is switched off and all TWI transmissions are terminated, regardless of any ongoing operation.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT0>
          <NAME>TWIE</NAME>
          <DESCRIPTION>TWI Interrupt Enable</DESCRIPTION>
          <TEXT>When this bit is written to one, and the I-bit in SREG is set, the TWI interrupt request will be activated for as long as the TWINT flag is high.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TWCR>
      <TWSR>
        <NAME>TWSR</NAME>
        <DESCRIPTION>TWI Status Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xB9</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>TWS7</NAME>
          <DESCRIPTION>TWI Status</DESCRIPTION>
          <TEXT>Bits 7..3: These 5 bits reflect the status of the TWI logic and the 2-Wire Serial Bus. The different status codes are described later in this chapter. Note that the value read from TWSR contains both the 5-bit status value and the 2-bit prescaler value. The application designer should consider masking the prescaler bits to zero when checking the Status bits. This makes status checking independent of prescaler setting. This approach is used in this datasheet, unless otherwise noted. If the prescaler setting remains unchanged in the application, the prescaler bits need not be masked. Instead, bit 1:0 in the values that TWSR is compared to can be modified to match the prescaler setting. This will yield more efficient c</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>TWS6</NAME>
          <DESCRIPTION>TWI Status</DESCRIPTION>
          <TEXT>Bits 7..3: These 5 bits reflect the status of the TWI logic and the 2-Wire Serial Bus. The different status codes are described later in this chapter. Note that the value read from TWSR contains both the 5-bit status value and the 2-bit prescaler value. The application designer should consider masking the prescaler bits to zero when checking the Status bits. This makes status checking independent of prescaler setting. This approach is used in this datasheet, unless otherwise noted. If the prescaler setting remains unchanged in the application, the prescaler bits need not be masked. Instead, bit 1:0 in the values that TWSR is compared to can be modified to match the prescaler setting. This will yield more efficient co</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>TWS5</NAME>
          <DESCRIPTION>TWI Status</DESCRIPTION>
          <TEXT>Bits 7..3: These 5 bits reflect the status of the TWI logic and the 2-Wire Serial Bus. The different status codes are described later in this chapter. Note that the value read from TWSR contains both the 5-bit status value and the 2-bit prescaler value. The application designer should consider masking the prescaler bits to zero when checking the Status bits. This makes status checking independent of prescaler setting. This approach is used in this datasheet, unless otherwise noted. If the prescaler setting remains unchanged in the application, the prescaler bits need not be masked. Instead, bit 1:0 in the values that TWSR is compared to can be modified to match the prescaler setting. This will yield more efficient c</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>TWS4</NAME>
          <DESCRIPTION>TWI Status</DESCRIPTION>
          <TEXT>Bits 7..3: These 5 bits reflect the status of the TWI logic and the 2-Wire Serial Bus. The different status codes are described later in this chapter. Note that the value read from TWSR contains both the 5-bit status value and the 2-bit prescaler value. The application designer should consider masking the prescaler bits to zero when checking the Status bits. This makes status checking independent of prescaler setting. This approach is used in this datasheet, unless otherwise noted. If the prescaler setting remains unchanged in the application, the prescaler bits need not be masked. Instead, bit 1:0 in the values that TWSR is compared to can be modified to match the prescaler setting. This will yield more efficient co</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>TWS3</NAME>
          <DESCRIPTION>TWI Status</DESCRIPTION>
          <TEXT>Bits 7..3: These 5 bits reflect the status of the TWI logic and the 2-Wire Serial Bus. The different status codes are described later in this chapter. Note that the value read from TWSR contains both the 5-bit status value and the 2-bit prescaler value. The application designer should consider masking the prescaler bits to zero when checking the Status bits. This makes status checking independent of prescaler setting. This approach is used in this datasheet, unless otherwise noted. If the prescaler setting remains unchanged in the application, the prescaler bits need not be masked. Instead, bit 1:0 in the values that TWSR is compared to can be modified to match the prescaler setting. This will yield more efficient co</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT1>
          <NAME>TWPS1</NAME>
          <DESCRIPTION>TWI Prescaler</DESCRIPTION>
          <TEXT>Bits 1..0: These bits can be read and written, and control the bit rate prescaler. See &#x201C;Bit Rate Generator Unit&#x201D; on page 165 for calculating bit rates.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TWPS0</NAME>
          <DESCRIPTION>TWI Prescaler</DESCRIPTION>
          <TEXT>Bits 1..0: These bits can be read and written, and control the bit rate prescaler. See &#x201C;Bit Rate Generator Unit&#x201D; on page 165 for calculating bit rates.</TEXT>
          <ACCESS>RW</ACCESS>
          <ENUM>COMM_TWI_PRESACLE</ENUM>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TWSR>
      <TWDR>
        <NAME>TWDR</NAME>
        <DESCRIPTION>TWI Data register</DESCRIPTION>
        <TEXT>In transmit mode, TWDR contains the next byte to be transmitted. In receive mode, the TWDR contains the last byte received. It is writable while the TWI is not in the process of shifting a byte. This occurs when the TWI interrupt flag (TWINT) is set by hardware. Note that the data register cannot be initialized by the user before the first interrupt occurs. The data in TWDR remains stable as long as TWINT is set. While data is shifted out, data on the bus is simultaneously shifted in. TWDR always contains the last byte present on the bus, except after a wake up from a sleep mode by the TWI interrupt. In this case, the contents of TWDR is undefined. In the case of a lost bus arbitration, no data is lost in the transi-tion from Master to Slave. Handling of the ACK bit is controlled automatically by the TWI logic, the CPU cannot access the ACK bit directl</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xBB</MEM_ADDR>
        <ICON>io_com.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>TWD7</NAME>
          <DESCRIPTION>TWI Data Register Bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>TWD6</NAME>
          <DESCRIPTION>TWI Data Register Bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>TWD5</NAME>
          <DESCRIPTION>TWI Data Register Bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>TWD4</NAME>
          <DESCRIPTION>TWI Data Register Bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>TWD3</NAME>
          <DESCRIPTION>TWI Data Register Bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>TWD2</NAME>
          <DESCRIPTION>TWI Data Register Bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>TWD1</NAME>
          <DESCRIPTION>TWI Data Register Bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TWD0</NAME>
          <DESCRIPTION>TWI Data Register Bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT0>
      </TWDR>
      <TWAR>
        <NAME>TWAR</NAME>
        <DESCRIPTION>TWI (Slave) Address register</DESCRIPTION>
        <TEXT>The TWAR should be loaded with the 7-bit slave address (in the seven most significant bits of TWAR) to which the TWI will respond when programmed as a slave transmitter or receiver, and not needed in the master modes. In multimaster sys-tems, TWAR must be set in masters which can be addressed as slaves by other masters. The LSB of TWAR is used to enable recognition of the general call address ($00). There is an associated address compar-ator that looks for the slave address (or general call address if enabled) in the received serial address. If a match is found, an interrupt request is genera</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xBA</MEM_ADDR>
        <ICON>io_com.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>TWA6</NAME>
          <DESCRIPTION>TWI (Slave) Address register Bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>TWA5</NAME>
          <DESCRIPTION>TWI (Slave) Address register Bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>TWA4</NAME>
          <DESCRIPTION>TWI (Slave) Address register Bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>TWA3</NAME>
          <DESCRIPTION>TWI (Slave) Address register Bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>TWA2</NAME>
          <DESCRIPTION>TWI (Slave) Address register Bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>TWA1</NAME>
          <DESCRIPTION>TWI (Slave) Address register Bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>TWA0</NAME>
          <DESCRIPTION>TWI (Slave) Address register Bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TWGCE</NAME>
          <DESCRIPTION>TWI General Call Recognition Enable Bit</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TWAR>
    </TWI>
    <EXTERNAL_INTERRUPT>
      <LIST>[EICRA:EIMSK:EIFR:PCICR:PCIFR:PCMSK1:PCMSK0]</LIST>
      <LINK>[PCMSK1:PCMSK0]</LINK>
      <ICON>io_ext.bmp</ICON>
      <ID/>
      <TEXT>The external interrupts are triggered by the INT3:0 pins or any of the PCINT11:0 pins.</TEXT>
      <EICRA>
        <NAME>EICRA</NAME>
        <DESCRIPTION>External Interrupt Control Register </DESCRIPTION>
        <TEXT>The External Interrupt Control Register A contains control bits for interrupt sense control.</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x69</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>ISC31</NAME>
          <DESCRIPTION>External Interrupt Sense Control 3 Bit 1 </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>ISC30</NAME>
          <DESCRIPTION>External Interrupt Sense Control 3 Bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <ENUM>INTERRUPT_SENSE_CONTROL</ENUM>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>ISC21</NAME>
          <DESCRIPTION>External Interrupt Sense Control 2 Bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>ISC20</NAME>
          <DESCRIPTION>External Interrupt Sense Control 2 Bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <ENUM>INTERRUPT_SENSE_CONTROL</ENUM>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>ISC11</NAME>
          <DESCRIPTION>External Interrupt Sense Control 1 Bit 1 </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>ISC10</NAME>
          <DESCRIPTION>External Interrupt Sense Control 1 Bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <ENUM>INTERRUPT_SENSE_CONTROL</ENUM>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>ISC01</NAME>
          <DESCRIPTION>External Interrupt Sense Control 0 Bit 1 </DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>ISC00</NAME>
          <DESCRIPTION>External Interrupt Sense Control 0 Bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <ENUM>INTERRUPT_SENSE_CONTROL</ENUM>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </EICRA>
      <EIMSK>
        <NAME>EIMSK</NAME>
        <DESCRIPTION>External Interrupt Mask Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x1D</IO_ADDR>
        <MEM_ADDR>0x3D</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT3>
          <NAME>INT3</NAME>
          <DESCRIPTION>External Interrupt Request 3 Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>INT2</NAME>
          <DESCRIPTION>External Interrupt Request 2 Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>INT1</NAME>
          <DESCRIPTION>External Interrupt Request 1 Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>INT0</NAME>
          <DESCRIPTION>External Interrupt Request 0 Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </EIMSK>
      <EIFR>
        <NAME>EIFR</NAME>
        <DESCRIPTION>External Interrupt Flag Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x1C</IO_ADDR>
        <MEM_ADDR>0x3C</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT3>
          <NAME>INTF3</NAME>
          <DESCRIPTION>External Interrupt Flag 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>INTF2</NAME>
          <DESCRIPTION>External Interrupt Flag 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>INTF1</NAME>
          <DESCRIPTION>External Interrupt Flag 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>INTF0</NAME>
          <DESCRIPTION>External Interrupt Flag 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </EIFR>
      <PCICR>
        <NAME>PCICR</NAME>
        <DESCRIPTION>Pin Change Interrupt Control Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x68</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT1>
          <NAME>PCIE1</NAME>
          <DESCRIPTION>Pin Change Interrupt Enable 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PCIE0</NAME>
          <DESCRIPTION>Pin Change Interrupt Enable 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </PCICR>
      <PCIFR>
        <NAME>PCIFR</NAME>
        <DESCRIPTION>Pin Change Interrupt Flag Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x1B</IO_ADDR>
        <MEM_ADDR>0x3B</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT1>
          <NAME>PCIF1</NAME>
          <DESCRIPTION>Pin Change Interrupt Flag 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PCIF0</NAME>
          <DESCRIPTION>Pin Change Interrupt Flag 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </PCIFR>
      <PCMSK1>
        <NAME>PCMSK1</NAME>
        <DESCRIPTION>Pin Change Enable Mask Register 1</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x6C</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>PCINT11</NAME>
          <DESCRIPTION>Pin Change Enable Mask 11</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>PCINT10</NAME>
          <DESCRIPTION>Pin Change Enable Mask 10</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>PCINT9</NAME>
          <DESCRIPTION>Pin Change Enable Mask 9</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>PCINT8</NAME>
          <DESCRIPTION>Pin Change Enable Mask 8</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>PCINT7</NAME>
          <DESCRIPTION>Pin Change Enable Mask 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>PCINT6</NAME>
          <DESCRIPTION>Pin Change Enable Mask 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>PCINT5</NAME>
          <DESCRIPTION>Pin Change Enable Mask 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PCINT4</NAME>
          <DESCRIPTION>Pin Change Enable Mask 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </PCMSK1>
      <PCMSK0>
        <NAME>PCMSK0</NAME>
        <DESCRIPTION>Pin Change Enable Mask Register 0</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x6B</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT3>
          <NAME>PCINT3</NAME>
          <DESCRIPTION>Pin Change Enable Mask 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>PCINT2</NAME>
          <DESCRIPTION>Pin Change Enable Mask 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>PCINT1</NAME>
          <DESCRIPTION>Pin Change Enable Mask 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PCINT0</NAME>
          <DESCRIPTION>Pin Change Enable Mask 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </PCMSK0>
    </EXTERNAL_INTERRUPT>
    <TIMER_COUNTER_1>
      <LIST>[TCCR1A:TCCR1B:TCNT1H:TCNT1L:OCR1A:OCR1B:TIMSK1:TIFR1:GTCCR]</LIST>
      <LINK>[TCNT1H:TCNT1L];[OCR1AH:OCR1AL]</LINK>
      <ICON>io_timer.bmp</ICON>
      <ID/>
      <TEXT/>
      <TCCR1B>
        <NAME>TCCR1B</NAME>
        <DESCRIPTION>Timer/Counter1 Control Register B</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x81</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT2>
          <NAME>CS12</NAME>
          <DESCRIPTION>Clock Select1 bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CS11</NAME>
          <DESCRIPTION>Clock Select1 bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CS10</NAME>
          <DESCRIPTION>Clock Select1 bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <ENUM>CLK_SEL_3BIT_EXT</ENUM>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TCCR1B>
      <TCCR1A>
        <NAME>TCCR1A</NAME>
        <DESCRIPTION>Timer/Counter 1 Control Register A</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x80</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>TCW1</NAME>
          <DESCRIPTION>Timer/Counter Width</DESCRIPTION>
          <TEXT>When this bit is written to one 16-bit mode is selected. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>ICEN1</NAME>
          <DESCRIPTION>Input Capture Mode Enable</DESCRIPTION>
          <TEXT>The Input Capture Mode is enabled when this bit is written to one.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>ICNC1</NAME>
          <DESCRIPTION>Input Capture Noise Canceler</DESCRIPTION>
          <TEXT>Setting this bit activates the Input Capture Noise Canceler. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>ICES1</NAME>
          <DESCRIPTION>Input Capture Edge Select</DESCRIPTION>
          <TEXT>This bit selects which edge on the Input Capture Source that is used to trigger a capture event.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>ICS1</NAME>
          <DESCRIPTION>Input Capture Select</DESCRIPTION>
          <TEXT>When written logic one, this bit enables the input capture function in Timer/Counter to be triggered by the alternative Input Capture Source.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT0>
          <NAME>WGM10</NAME>
          <DESCRIPTION>Waveform Generation Mode</DESCRIPTION>
          <TEXT>This bit controls the counting sequence of the counter</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TCCR1A>
      <TCNT1H>
        <NAME>TCNT1H</NAME>
        <DESCRIPTION>Timer Counter 1 High Byte</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x85</MEM_ADDR>
        <ICON>io_timer.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>TCNT1H7</NAME>
          <DESCRIPTION>Timer Counter 1 High Byte bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>TCNT1H6</NAME>
          <DESCRIPTION>Timer Counter 1 High Byte bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>TCNT1H5</NAME>
          <DESCRIPTION>Timer Counter 1 High Byte bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>TCNT1H4</NAME>
          <DESCRIPTION>Timer Counter 1 High Byte bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>TCNT1H3</NAME>
          <DESCRIPTION>Timer Counter 1 High Byte bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>TCNT1H2</NAME>
          <DESCRIPTION>Timer Counter 1 High Byte bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>TCNT1H1</NAME>
          <DESCRIPTION>Timer Counter 1 High Byte bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TCNT1H0</NAME>
          <DESCRIPTION>Timer Counter 1 High Byte bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TCNT1H>
      <TCNT1L>
        <NAME>TCNT1L</NAME>
        <DESCRIPTION>Timer Counter 1 Low Byte</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x84</MEM_ADDR>
        <ICON>io_timer.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>TCNT1L7</NAME>
          <DESCRIPTION>Timer Counter 1 Low Byte bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>TCNT1L6</NAME>
          <DESCRIPTION>Timer Counter 1 Low Byte bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>TCNT1L5</NAME>
          <DESCRIPTION>Timer Counter 1 Low Byte bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>TCNT1L4</NAME>
          <DESCRIPTION>Timer Counter 1 Low Byte bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>TCNT1L3</NAME>
          <DESCRIPTION>Timer Counter 1 Low Byte bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>TCNT1L2</NAME>
          <DESCRIPTION>Timer Counter 1 Low Byte bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>TCNT1L1</NAME>
          <DESCRIPTION>Timer Counter 1 Low Byte bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TCNT1L0</NAME>
          <DESCRIPTION>Timer Counter 1 Low Byte bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TCNT1L>
      <OCR1A>
        <NAME>OCR1A</NAME>
        <DESCRIPTION>Output Compare Register 1A </DESCRIPTION>
        <TEXT>The Output Compare Register A contains an 8-bit value that is continuously compared with the</TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x88</MEM_ADDR>
        <ICON>io_timer.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>OCR1A7</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>OCR1A6</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>OCR1A5</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>OCR1A4</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>OCR1A3</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>OCR1A2</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>OCR1A1</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>OCR1A0</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </OCR1A>
      <OCR1B>
        <NAME>OCR1B</NAME>
        <DESCRIPTION>Output Compare Register B </DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x89</MEM_ADDR>
        <ICON>io_timer.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>OCR1B7</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>OCR1B6</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>OCR1B5</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>OCR1B4</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>OCR1B3</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>OCR1B2</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>OCR1B1</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>OCR1B0</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </OCR1B>
      <TIMSK1>
        <NAME>TIMSK1</NAME>
        <DESCRIPTION>Timer/Counter Interrupt Mask Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x6F</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT3>
          <NAME>ICIE1</NAME>
          <DESCRIPTION>Timer/Counter n Input Capture Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>OCIE1B</NAME>
          <DESCRIPTION>Timer/Counter1 Output Compare B Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>OCIE1A</NAME>
          <DESCRIPTION>Timer/Counter1 Output Compare A Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TOIE1</NAME>
          <DESCRIPTION>Timer/Counter1 Overflow Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TIMSK1>
      <TIFR1>
        <NAME>TIFR1</NAME>
        <DESCRIPTION>Timer/Counter Interrupt Flag register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x16</IO_ADDR>
        <MEM_ADDR>0x36</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT3>
          <NAME>ICF1</NAME>
          <DESCRIPTION>Timer/Counter 1 Input Capture Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>OCF1B</NAME>
          <DESCRIPTION>Timer/Counter1 Output Compare Flag B</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>OCF1A</NAME>
          <DESCRIPTION>Timer/Counter1 Output Compare Flag A</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TOV1</NAME>
          <DESCRIPTION>Timer/Counter1 Overflow Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TIFR1>
      <GTCCR>
        <NAME>GTCCR</NAME>
        <DESCRIPTION>General Timer/Counter Control Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x23</IO_ADDR>
        <MEM_ADDR>0x43</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>TSM</NAME>
          <DESCRIPTION>Timer/Counter Synchronization Mode</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT0>
          <NAME>PSRSYNC</NAME>
          <DESCRIPTION>Prescaler Reset</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </GTCCR>
    </TIMER_COUNTER_1>
    <CELL_BALANCING>
      <LIST>[CBCR]</LIST>
      <LINK/>
      <ICON>io_analo.bmp</ICON>
      <ID/>
      <TEXT/>
      <CBCR>
        <NAME>CBCR</NAME>
        <DESCRIPTION>Cell Balancing Control Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF1</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT3>
          <NAME>CBE4</NAME>
          <DESCRIPTION>Cell Balancing Enable 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CBE3</NAME>
          <DESCRIPTION>Cell Balancing Enable 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CBE2</NAME>
          <DESCRIPTION>Cell Balancing Enable 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CBE1</NAME>
          <DESCRIPTION>Battery Protection Parameter Lock</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CBCR>
    </CELL_BALANCING>
    <BATTERY_PROTECTION>
      <LIST>[BPPLR:BPCR:BPHCTR:BPOCTR:BPSCTR:BPCHCD:BPDHCD:BPCOCD:BPDOCD:BPSCD:BPIFR:BPIMSK]</LIST>
      <LINK/>
      <ICON>io_analo.bmp</ICON>
      <ID/>
      <TEXT/>
      <BPPLR>
        <NAME>BPPLR</NAME>
        <DESCRIPTION>Battery Protection Parameter Lock Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xFE</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT1>
          <NAME>BPPLE</NAME>
          <DESCRIPTION>Battery Protection Parameter Lock Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>BPPL</NAME>
          <DESCRIPTION>Battery Protection Parameter Lock</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </BPPLR>
      <BPCR>
        <NAME>BPCR</NAME>
        <DESCRIPTION>Battery Protection Control Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xFD</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT5>
          <NAME>EPID</NAME>
          <DESCRIPTION>External Protection Input Disable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>SCD</NAME>
          <DESCRIPTION>Short Circuit Protection Disabled</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>DOCD</NAME>
          <DESCRIPTION>Discharge Over-current Protection Disabled</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>COCD</NAME>
          <DESCRIPTION>Charge Over-current Protection Disabled</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>DHCD</NAME>
          <DESCRIPTION>Discharge High-current Protection Disable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CHCD</NAME>
          <DESCRIPTION>Charge High-current Protection Disable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </BPCR>
      <BPHCTR>
        <NAME>BPHCTR</NAME>
        <DESCRIPTION>Battery Protection Short-current Timing Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xFC</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT5>
          <NAME>HCPT5</NAME>
          <DESCRIPTION>High-current Protection Timing bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>HCPT4</NAME>
          <DESCRIPTION>High-current Protection Timing bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>HCPT3</NAME>
          <DESCRIPTION>High-current Protection Timing bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>HCPT2</NAME>
          <DESCRIPTION>High-current Protection Timing bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>HCPT1</NAME>
          <DESCRIPTION>High-current Protection Timing bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>HCPT0</NAME>
          <DESCRIPTION>High-current Protection Timing bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </BPHCTR>
      <BPOCTR>
        <NAME>BPOCTR</NAME>
        <DESCRIPTION>Battery Protection Over-current Timing Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xFB</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT5>
          <NAME>OCPT5</NAME>
          <DESCRIPTION>Over-current Protection Timing bit 5</DESCRIPTION>
          <TEXT>These bits control the delay of the Over-circuit Protection. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>OCPT4</NAME>
          <DESCRIPTION>Over-current Protection Timing bit 4</DESCRIPTION>
          <TEXT>These bits control the delay of the Over-circuit Protection. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>OCPT3</NAME>
          <DESCRIPTION>Over-current Protection Timing bit 3</DESCRIPTION>
          <TEXT>These bits control the delay of the Over-circuit Protection. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>OCPT2</NAME>
          <DESCRIPTION>Over-current Protection Timing bit 2</DESCRIPTION>
          <TEXT>These bits control the delay of the Over-circuit Protection. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>OCPT1</NAME>
          <DESCRIPTION>Over-current Protection Timing bit 1</DESCRIPTION>
          <TEXT>These bits control the delay of the Over-circuit Protection. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>OCPT0</NAME>
          <DESCRIPTION>Over-current Protection Timing bit 0</DESCRIPTION>
          <TEXT>These bits control the delay of the Over-circuit Protection. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </BPOCTR>
      <BPSCTR>
        <NAME>BPSCTR</NAME>
        <DESCRIPTION>Battery Protection Short-current Timing Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xFA</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT6>
          <NAME>SCPT6</NAME>
          <DESCRIPTION>Short-current Protection Timing</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>SCPT5</NAME>
          <DESCRIPTION>Short-current Protection Timing</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>SCPT4</NAME>
          <DESCRIPTION>Short-current Protection Timing</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>SCPT3</NAME>
          <DESCRIPTION>Short-current Protection Timing</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>SCPT2</NAME>
          <DESCRIPTION>Short-current Protection Timing</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>SCPT1</NAME>
          <DESCRIPTION>Short-current Protection Timing</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>SCPT0</NAME>
          <DESCRIPTION>Short-current Protection Timing</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </BPSCTR>
      <BPCHCD>
        <NAME>BPCHCD</NAME>
        <DESCRIPTION>Battery Protection Charge-High-current Detection Level Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF9</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>CHCDL7</NAME>
          <DESCRIPTION>Charge High-current Detection Level</DESCRIPTION>
          <TEXT>These bits sets the RSENSE voltage level for detection of Charge High-current</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>CHCDL6</NAME>
          <DESCRIPTION>Charge High-current Detection Level</DESCRIPTION>
          <TEXT>These bits sets the RSENSE voltage level for detection of Charge High-current</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>CHCDL5</NAME>
          <DESCRIPTION>Charge High-current Detection Level</DESCRIPTION>
          <TEXT>These bits sets the RSENSE voltage level for detection of Charge High-current</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>CHCDL4</NAME>
          <DESCRIPTION>Charge High-current Detection Level</DESCRIPTION>
          <TEXT>These bits sets the RSENSE voltage level for detection of Charge High-current</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CHCDL3</NAME>
          <DESCRIPTION>Charge High-current Detection Level</DESCRIPTION>
          <TEXT>These bits sets the RSENSE voltage level for detection of Charge High-current</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CHCDL2</NAME>
          <DESCRIPTION>Charge High-current Detection Level</DESCRIPTION>
          <TEXT>These bits sets the RSENSE voltage level for detection of Charge High-current</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CHCDL1</NAME>
          <DESCRIPTION>Charge High-current Detection Level</DESCRIPTION>
          <TEXT>These bits sets the RSENSE voltage level for detection of Charge High-current</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CHCDL0</NAME>
          <DESCRIPTION>Charge High-current Detection Level</DESCRIPTION>
          <TEXT>These bits sets the RSENSE voltage level for detection of Charge High-current</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT0>
      </BPCHCD>
      <BPDHCD>
        <NAME>BPDHCD</NAME>
        <DESCRIPTION>Battery Protection Discharge-High-current Detection Level Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF8</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>DHCDL7</NAME>
          <DESCRIPTION>Discharge High-current Detection Level bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>DHCDL6</NAME>
          <DESCRIPTION>Discharge High-current Detection Level bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>DHCDL5</NAME>
          <DESCRIPTION>Discharge High-current Detection Level bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>DHCDL4</NAME>
          <DESCRIPTION>Discharge High-current Detection Level bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>DHCDL3</NAME>
          <DESCRIPTION>Discharge High-current Detection Level bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>DHCDL2</NAME>
          <DESCRIPTION>Discharge High-current Detection Level bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>DHCDL1</NAME>
          <DESCRIPTION>Discharge High-current Detection Level bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>DHCDL0</NAME>
          <DESCRIPTION>Discharge High-current Detection Level bit 0</DESCRIPTION>
          <TEXT>1</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL/>
        </BIT0>
      </BPDHCD>
      <BPCOCD>
        <NAME>BPCOCD</NAME>
        <DESCRIPTION>Battery Protection Charge-Over-current Detection Level Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF7</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>COCDL7</NAME>
          <DESCRIPTION>Charge Over-current Detection Level</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>COCDL6</NAME>
          <DESCRIPTION>Charge Over-current Detection Level</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>COCDL5</NAME>
          <DESCRIPTION>Charge Over-current Detection Level</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>COCDL4</NAME>
          <DESCRIPTION>Charge Over-current Detection Level</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>COCDL3</NAME>
          <DESCRIPTION>Charge Over-current Detection Level</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>COCDL2</NAME>
          <DESCRIPTION>Charge Over-current Detection Level</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>COCDL1</NAME>
          <DESCRIPTION>Charge Over-current Detection Level</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>COCDL0</NAME>
          <DESCRIPTION>Charge Over-current Detection Level</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT0>
      </BPCOCD>
      <BPDOCD>
        <NAME>BPDOCD</NAME>
        <DESCRIPTION>Battery Protection Discharge-Over-current Detection Level Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF6</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>DOCDL7</NAME>
          <DESCRIPTION>Discharge Over-current Detection Level bit7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>DOCDL6</NAME>
          <DESCRIPTION>Discharge Over-current Detection Level bit6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>DOCDL5</NAME>
          <DESCRIPTION>Discharge Over-current Detection Level bit5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>DOCDL4</NAME>
          <DESCRIPTION>Discharge Over-current Detection Level bit4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>DOCDL3</NAME>
          <DESCRIPTION>Discharge Over-current Detection Level bit3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>DOCDL2</NAME>
          <DESCRIPTION>Discharge Over-current Detection Level bit2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>DOCDL1</NAME>
          <DESCRIPTION>Discharge Over-current Detection Level bit1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>DOCDL0</NAME>
          <DESCRIPTION>Discharge Over-current Detection Level bit0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT0>
      </BPDOCD>
      <BPSCD>
        <NAME>BPSCD</NAME>
        <DESCRIPTION>Battery Protection Short-Circuit Detection Level Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF5</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>SCDL7</NAME>
          <DESCRIPTION>Short-circuit Detection Level bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>SCDL6</NAME>
          <DESCRIPTION>Short-circuit Detection Level bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>SCDL5</NAME>
          <DESCRIPTION>Short-circuit Detection Level bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>SCDL4</NAME>
          <DESCRIPTION>Short-circuit Detection Level bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>SCDL3</NAME>
          <DESCRIPTION>Short-circuit Detection Level bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>SCDL2</NAME>
          <DESCRIPTION>Short-circuit Detection Level bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>SCDL1</NAME>
          <DESCRIPTION>Short-circuit Detection Level bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>SCDL0</NAME>
          <DESCRIPTION>Short-circuit Detection Level bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT0>
      </BPSCD>
      <BPIFR>
        <NAME>BPIFR</NAME>
        <DESCRIPTION>Battery Protection Interrupt Flag Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF3</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT4>
          <NAME>SCIF</NAME>
          <DESCRIPTION>Short-circuit Protection Activated Interrupt Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>DOCIF</NAME>
          <DESCRIPTION>Discharge Over-current Protection Activated Interrupt Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>COCIF</NAME>
          <DESCRIPTION>Charge Over-current Protection Activated Interrupt Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>DHCIF</NAME>
          <DESCRIPTION>Disharge High-current Protection Activated Interrupt</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CHCIF</NAME>
          <DESCRIPTION>Charge High-current Protection Activated Interrupt</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </BPIFR>
      <BPIMSK>
        <NAME>BPIMSK</NAME>
        <DESCRIPTION>Battery Protection Interrupt Mask Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xF2</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT4>
          <NAME>SCIE</NAME>
          <DESCRIPTION>Short-circuit Protection Activated Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>DOCIE</NAME>
          <DESCRIPTION>Discharge Over-current Protection Activated Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>COCIE</NAME>
          <DESCRIPTION>Charge Over-current Protection Activated Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>DHCIE</NAME>
          <DESCRIPTION>Discharger High-current Protection Activated Interrupt</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CHCIE</NAME>
          <DESCRIPTION>Charger High-current Protection Activated Interrupt</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </BPIMSK>
    </BATTERY_PROTECTION>
    <CHARGER_DETECT>
      <LIST>[CHGDCSR]</LIST>
      <LINK/>
      <ICON>io_analo.bmp</ICON>
      <ID/>
      <TEXT/>
      <CHGDCSR>
        <NAME>CHGDCSR</NAME>
        <DESCRIPTION>Charger Detect Control and Status Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xD4</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT4>
          <NAME>BATTPVL</NAME>
          <DESCRIPTION>BATT Pin Voltage Level</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>CHGDISC1</NAME>
          <DESCRIPTION>Charger Detect Interrupt Sense Control</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>CHGDISC0</NAME>
          <DESCRIPTION>Charger Detect Interrupt Sense Control</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CHGDIF</NAME>
          <DESCRIPTION>Charger Detect Interrupt Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CHGDIE</NAME>
          <DESCRIPTION>Charger Detect Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </CHGDCSR>
    </CHARGER_DETECT>
    <VOLTAGE_REGULATOR>
      <LIST>[ROCR]</LIST>
      <LINK/>
      <ICON>io_analo.bmp</ICON>
      <ID/>
      <TEXT/>
      <ROCR>
        <NAME>ROCR</NAME>
        <DESCRIPTION>Regulator Operating Condition Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xC8</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>ROCS</NAME>
          <DESCRIPTION>ROC Status</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT4>
          <NAME>ROCD</NAME>
          <DESCRIPTION>ROC Disable</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT1>
          <NAME>ROCWIF</NAME>
          <DESCRIPTION>ROC Warning Interrupt Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>ROCWIE</NAME>
          <DESCRIPTION>ROC Warning Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </ROCR>
    </VOLTAGE_REGULATOR>
    <BANDGAP>
      <LIST>[BGCSR:BGCRR:BGCCR]</LIST>
      <LINK/>
      <ICON>io_analo.bmp</ICON>
      <ID/>
      <TEXT/>
      <BGCSR>
        <NAME>BGCSR</NAME>
        <DESCRIPTION>Bandgap Control and Status Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xD2</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT5>
          <NAME>BGD</NAME>
          <DESCRIPTION>Bandgap Disable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>BGSCDE</NAME>
          <DESCRIPTION>Bandgap Short Circuit Detection Enabled</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT1>
          <NAME>BGSCDIF</NAME>
          <DESCRIPTION>Bandgap Short Circuit Detection Interrupt Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>BGSCDIE</NAME>
          <DESCRIPTION>Bandgap Short Circuit Detection Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </BGCSR>
      <BGCRR>
        <NAME>BGCRR</NAME>
        <DESCRIPTION>Bandgap Calibration of Resistor Ladder</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xD1</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>BGCR7</NAME>
          <DESCRIPTION>Bandgap Calibration of Resistor Ladder Bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>BGCR6</NAME>
          <DESCRIPTION>Bandgap Calibration of Resistor Ladder Bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>BGCR5</NAME>
          <DESCRIPTION>Bandgap Calibration of Resistor Ladder Bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>BGCR4</NAME>
          <DESCRIPTION>Bandgap Calibration of Resistor Ladder Bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>BGCR3</NAME>
          <DESCRIPTION>Bandgap Calibration of Resistor Ladder Bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>BGCR2</NAME>
          <DESCRIPTION>Bandgap Calibration of Resistor Ladder Bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>BGCR1</NAME>
          <DESCRIPTION>Bandgap Calibration of Resistor Ladder Bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>BGCR0</NAME>
          <DESCRIPTION>Bandgap Calibration of Resistor Ladder Bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </BGCRR>
      <BGCCR>
        <NAME>BGCCR</NAME>
        <DESCRIPTION>Bandgap Calibration Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0xD0</MEM_ADDR>
        <ICON>io_analo.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT5>
          <NAME>BGCC5</NAME>
          <DESCRIPTION>BG Calibration of PTAT Current Bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>BGCC4</NAME>
          <DESCRIPTION>BG Calibration of PTAT Current Bit 4</DESCRIPTION>
          <TEXT>These bits are used for trimming of the nominal value of the bandgap reference voltage. These bits are binary caoded, step size is approximately 2mV.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>BGCC3</NAME>
          <DESCRIPTION>BG Calibration of PTAT Current Bit 3</DESCRIPTION>
          <TEXT>These bits are used for trimming of the nominal value of the bandgap reference voltage. These bits are binary caoded, step size is approximately 2mV.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>BGCC2</NAME>
          <DESCRIPTION>BG Calibration of PTAT Current Bit 2</DESCRIPTION>
          <TEXT>These bits are used for trimming of the nominal value of the bandgap reference voltage. These bits are binary caoded, step size is approximately 2mV.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>BGCC1</NAME>
          <DESCRIPTION>BG Calibration of PTAT Current Bit 1</DESCRIPTION>
          <TEXT>These bits are used for trimming of the nominal value of the bandgap reference voltage. These bits are binary caoded, step size is approximately 2mV.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>BGCC0</NAME>
          <DESCRIPTION>BG Calibration of PTAT Current Bit 0</DESCRIPTION>
          <TEXT>These bits are used for trimming of the nominal value of the bandgap reference voltage. These bits are binary caoded, step size is approximately 2mV.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </BGCCR>
    </BANDGAP>
    <CPU>
      <LIST>[SREG:SPH:SPL:MCUCR:MCUSR:FOSCCAL:OSICSR:SMCR:GPIOR2:GPIOR1:GPIOR0:DIDR0:PRR0:CLKPR]</LIST>
      <LINK>[SPH:SPL]</LINK>
      <ICON>io_cpu.bmp</ICON>
      <ID/>
      <TEXT/>
      <SREG>
        <NAME>SREG</NAME>
        <DESCRIPTION>Status Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x3F</IO_ADDR>
        <MEM_ADDR>0x5F</MEM_ADDR>
        <ICON>io_sreg.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>I</NAME>
          <DESCRIPTION>Global Interrupt Enable</DESCRIPTION>
          <TEXT>The global interrupt enable bit must be set (one) for the interrupts to be enabled. The individual interrupt enable control is then performed in separate control registers. If the global interrupt enable bit is cleared (zero), none of the interrupts are enabled independent of the individual interrupt enable settings. The I-bit is cleared by hardware after an interrupt has occurred, and is set by the RETI instruction to enable subsequent interrupts.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>T</NAME>
          <DESCRIPTION>Bit Copy Storage</DESCRIPTION>
          <TEXT>The bit copy instructions BLD (Bit LoaD) and BST (Bit STore) use the T bit as source and destination for the operated bit. A bit from a register in the register file can be copied into T by the BST instruction, and a bit in T can be copied into a bit in a register in the register file by the BLD instruction.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>H</NAME>
          <DESCRIPTION>Half Carry Flag</DESCRIPTION>
          <TEXT>The half carry flag H indicates a half carry in some arithmetic operations. See the Instruction Set Description for detailed information.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>S</NAME>
          <DESCRIPTION>Sign Bit</DESCRIPTION>
          <TEXT>The S-bit is always an exclusive or between the negative flag N and the two&#x2019;s complement overflow flag V. See the Instruc-tion Set Description for detailed information.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>V</NAME>
          <DESCRIPTION>Two's Complement Overflow Flag</DESCRIPTION>
          <TEXT>The two&#x2019;s complement overflow flag V supports two&#x2019;s complement arithmetics. See the Instruction Set Description for detailed information.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>N</NAME>
          <DESCRIPTION>Negative Flag</DESCRIPTION>
          <TEXT>The negative flag N indicates a negative result after the different arithmetic and logic operations. See the Instruction Set Description for detailed information.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>Z</NAME>
          <DESCRIPTION>Zero Flag</DESCRIPTION>
          <TEXT>The zero flag Z indicates a zero result after the different arithmetic and logic operations. See the Instruction Set Description for detailed information.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>C</NAME>
          <DESCRIPTION>Carry Flag</DESCRIPTION>
          <TEXT>The carry flag C indicates a carry in an arithmetic or logic operation. See the Instruction Set Description for detailed information. Note that the status register is not automatically stored when entering an interrupt routine and restored when returning from an interrupt routine. This must be handled by software.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </SREG>
      <SPH>
        <NAME>SPH</NAME>
        <DESCRIPTION>Stack Pointer High</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x3E</IO_ADDR>
        <MEM_ADDR>0x5E</MEM_ADDR>
        <ICON>io_sph.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>SP15</NAME>
          <DESCRIPTION>Stack pointer bit 15</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>SP14</NAME>
          <DESCRIPTION>Stack pointer bit 14</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>SP13</NAME>
          <DESCRIPTION>Stack pointer bit 13</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>SP12</NAME>
          <DESCRIPTION>Stack pointer bit 12</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>SP11</NAME>
          <DESCRIPTION>Stack pointer bit 11</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>SP10</NAME>
          <DESCRIPTION>Stack pointer bit 10</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>SP9</NAME>
          <DESCRIPTION>Stack pointer bit 9</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>SP8</NAME>
          <DESCRIPTION>Stack pointer bit 8</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </SPH>
      <SPL>
        <NAME>SPL</NAME>
        <DESCRIPTION>Stack Pointer Low</DESCRIPTION>
        <TEXT>The general AVR 16-bit Stack Pointer is effectively built up of two 8-bit registers in the I/O space locations $3E ($5E) and $3D ($5D). As the AT90S4414/8515 supports up to 64 kB external SRAM, all 16-bits are used. The Stack Pointer points to the data SRAM stack area where the Subroutine and Interrupt Stacks are located. This Stack space in the data SRAM must be defined by the program before any subroutine calls are executed or interrupts are enabled. The stack pointer must be set to point above $60. The Stack Pointer is decremented by one when data is pushed onto the Stack with the PUSH instruction, and it is decremented by two when an address is pushed onto the Stack with subroutine calls and interrupts. The Stack Pointer is incremented by one when data is popped from the Stack with the POP instruction, and it is incremented by two when an address is popped from the Stack with return from subroutine RET or return from interrupt </TEXT>
        <IO_ADDR>0x3D</IO_ADDR>
        <MEM_ADDR>0x5D</MEM_ADDR>
        <ICON>io_sph.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>SP7</NAME>
          <DESCRIPTION>Stack pointer bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>SP6</NAME>
          <DESCRIPTION>Stack pointer bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>SP5</NAME>
          <DESCRIPTION>Stack pointer bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>SP4</NAME>
          <DESCRIPTION>Stack pointer bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>SP3</NAME>
          <DESCRIPTION>Stack pointer bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>SP2</NAME>
          <DESCRIPTION>Stack pointer bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>SP1</NAME>
          <DESCRIPTION>Stack pointer bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>SP0</NAME>
          <DESCRIPTION>Stack pointer bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </SPL>
      <MCUCR>
        <NAME>MCUCR</NAME>
        <DESCRIPTION>MCU Control Register</DESCRIPTION>
        <TEXT>The MCU Control Register contains control bits for general MCU functions.</TEXT>
        <IO_ADDR>0x35</IO_ADDR>
        <MEM_ADDR>0x55</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT5>
          <NAME>CKOE</NAME>
          <DESCRIPTION>Clock Output Enable</DESCRIPTION>
          <TEXT>When this bit is written to one, the CPU clock divided by 4 is output on the CKOUT pin. The CKOUT pin will be tri-stated when this bit is zero.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>PUD</NAME>
          <DESCRIPTION>Pull-up disable</DESCRIPTION>
          <TEXT>When this bit is written to one,the pull-ups in the I/O ports are disabled even if the DDxn and PORTxn registers are configured to enable the pull-ups ({DDxn,PORTxn}=0b01).      </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT1>
          <NAME>IVSEL</NAME>
          <DESCRIPTION>Interrupt Vector Select</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>IVCE</NAME>
          <DESCRIPTION>Interrupt Vector Change Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </MCUCR>
      <MCUSR>
        <NAME>MCUSR</NAME>
        <DESCRIPTION>MCU Status Register</DESCRIPTION>
        <TEXT>The MCU Status Register provides information on which reset source caused an MCU reset.</TEXT>
        <IO_ADDR>0x34</IO_ADDR>
        <MEM_ADDR>0x54</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT4>
          <NAME>OCDRF</NAME>
          <DESCRIPTION>OCD Reset Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>WDRF</NAME>
          <DESCRIPTION>Watchdog Reset Flag</DESCRIPTION>
          <TEXT>This bit is set if a watchdog reset occurs. The bit is reset by a power-on reset, or by writing a logic zero to the flag.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>BODRF</NAME>
          <DESCRIPTION>Brown-out Reset Flag</DESCRIPTION>
          <TEXT>This bit is set if a Brown-out Reset occurs. This bit is reset by a Power-on Reset, or by writing a logic zero to the flag.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>EXTRF</NAME>
          <DESCRIPTION>External Reset Flag</DESCRIPTION>
          <TEXT>This bit is set if an external reset occurs. The bit is reset by a power-on reset, or by writing a logic zero to the flag.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PORF</NAME>
          <DESCRIPTION>Power-on reset flag</DESCRIPTION>
          <TEXT>This bit is set if a power-on reset occurs. The bit is reset only by writing a logic zero to the flag. To make use of the reset flags to identify a reset condition, the user should read and then reset the MCUCSR as early as possible in the program. If the register is cleared before another reset occurs, the source of the reset can be found by examining the reset flags.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </MCUSR>
      <FOSCCAL>
        <NAME>FOSCCAL</NAME>
        <DESCRIPTION>Fast Oscillator Calibration Value</DESCRIPTION>
        <TEXT>Writing the calibration byte to this address will trim the internal oscillator to remove process variations from the oscillator frequency. This is done automatically during chip reset. When OSCCAL is zero, the lowest available frequency is chosen. Writing non-zero values to this register will increase the frequency of the internal oscillator. Writing $FF to the register gives the highest available frequency. The calibrated oscillator is used to time EEPROM and Flash access. If EEPROM or Flash is written, do not calibrate to more than 10% above the nominal frequency. Otherwise, the EEPROM or Flash write may fail. Note that the Oscillator is intended for calibration to 1.0 MHz, 2.0 MHz, 4.0 MHz, or 8.0MHz. Tuning to other values is not guaranteed, as indicated in Table </TEXT>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x66</MEM_ADDR>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>FCAL7</NAME>
          <DESCRIPTION>Oscillator Calibration Value Bit7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>FCAL6</NAME>
          <DESCRIPTION>Oscillator Calibration Value Bit6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>FCAL5</NAME>
          <DESCRIPTION>Oscillator Calibration Value Bit5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>FCAL4</NAME>
          <DESCRIPTION>Oscillator Calibration Value Bit4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>FCAL3</NAME>
          <DESCRIPTION>Oscillator Calibration Value Bit3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>FCAL2</NAME>
          <DESCRIPTION>Oscillator Calibration Value Bit2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>FCAL1</NAME>
          <DESCRIPTION>Oscillator Calibration Value Bit1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>FCAL0</NAME>
          <DESCRIPTION>Oscillator Calibration Value Bit0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </FOSCCAL>
      <OSICSR>
        <NAME>OSICSR</NAME>
        <DESCRIPTION>Oscillator Sampling Interface Control and Status Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x17</IO_ADDR>
        <MEM_ADDR>0x37</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT4>
          <NAME>OSISEL0</NAME>
          <DESCRIPTION>Oscillator Sampling Interface Select 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT1>
          <NAME>OSIST</NAME>
          <DESCRIPTION>Oscillator Sampling Interface Status</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>OSIEN</NAME>
          <DESCRIPTION>Oscillator Sampling Interface Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </OSICSR>
      <SMCR>
        <NAME>SMCR</NAME>
        <DESCRIPTION>Sleep Mode Control Register</DESCRIPTION>
        <TEXT>The Sleep Mode Control Register contains control bits for power management.</TEXT>
        <IO_ADDR>0x33</IO_ADDR>
        <MEM_ADDR>0x53</MEM_ADDR>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT3>
          <NAME>SM2</NAME>
          <DESCRIPTION>Sleep Mode Select bit 2</DESCRIPTION>
          <TEXT>These bits select between the five available sleep modes.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>SM1</NAME>
          <DESCRIPTION>Sleep Mode Select bit 1</DESCRIPTION>
          <TEXT>These bits select between the five available sleep modes.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>SM0</NAME>
          <DESCRIPTION>Sleep Mode Select bit 0</DESCRIPTION>
          <TEXT>These bits select between the five available sleep modes.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>SE</NAME>
          <DESCRIPTION>Sleep Enable</DESCRIPTION>
          <TEXT>The SE bit must be written to logic one to make the MCU enter the sleep mode when the SLEEP instruction is executed.To</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </SMCR>
      <GPIOR2>
        <NAME>GPIOR2</NAME>
        <DESCRIPTION>General Purpose IO Register 2</DESCRIPTION>
        <TEXT>The ATmega169 contains three General Purpose I/O Registers.These registers can be used for storing any information, and they are particularly useful for storing global variables and status flags.General Purpose I/O Registers within the address range $00 -$1F are directly bit-accessible using the SBI,CBI,SBIS,and SBIC instructions.     </TEXT>
        <IO_ADDR>0x2B</IO_ADDR>
        <MEM_ADDR>0x4B</MEM_ADDR>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>GPIOR27</NAME>
          <DESCRIPTION>General Purpose IO Register 2 bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>GPIOR26</NAME>
          <DESCRIPTION>General Purpose IO Register 2 bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>GPIOR25</NAME>
          <DESCRIPTION>General Purpose IO Register 2 bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>GPIOR24</NAME>
          <DESCRIPTION>General Purpose IO Register 2 bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>GPIOR23</NAME>
          <DESCRIPTION>General Purpose IO Register 2 bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>GPIOR22</NAME>
          <DESCRIPTION>General Purpose IO Register 2 bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>GPIOR21</NAME>
          <DESCRIPTION>General Purpose IO Register 2 bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>GPIOR20</NAME>
          <DESCRIPTION>General Purpose IO Register 2 bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </GPIOR2>
      <GPIOR1>
        <NAME>GPIOR1</NAME>
        <DESCRIPTION>General Purpose IO Register 1</DESCRIPTION>
        <TEXT>The ATmega169 contains three General Purpose I/O Registers.These registers can be used for storing any information, and they are particularly useful for storing global variables and status flags.General Purpose I/O Registers within the address range $00 -$1F are directly bit-accessible using the SBI,CBI,SBIS,and SBIC instructions.     </TEXT>
        <IO_ADDR>0x2A</IO_ADDR>
        <MEM_ADDR>0x4A</MEM_ADDR>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>GPIOR17</NAME>
          <DESCRIPTION>General Purpose IO Register 1 bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>GPIOR16</NAME>
          <DESCRIPTION>General Purpose IO Register 1 bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>GPIOR15</NAME>
          <DESCRIPTION>General Purpose IO Register 1 bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>GPIOR14</NAME>
          <DESCRIPTION>General Purpose IO Register 1 bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>GPIOR13</NAME>
          <DESCRIPTION>General Purpose IO Register 1 bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>GPIOR12</NAME>
          <DESCRIPTION>General Purpose IO Register 1 bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>GPIOR11</NAME>
          <DESCRIPTION>General Purpose IO Register 1 bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>GPIOR10</NAME>
          <DESCRIPTION>General Purpose IO Register 1 bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </GPIOR1>
      <GPIOR0>
        <NAME>GPIOR0</NAME>
        <DESCRIPTION>General Purpose IO Register 0</DESCRIPTION>
        <TEXT>The ATmega169 contains three General Purpose I/O Registers.These registers can be used for storing any information, and they are particularly useful for storing global variables and status flags.General Purpose I/O Registers within the address range $00 -$1F are directly bit-accessible using the SBI,CBI,SBIS,and SBIC instructions.     </TEXT>
        <IO_ADDR>0x1E</IO_ADDR>
        <MEM_ADDR>0x3E</MEM_ADDR>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>GPIOR07</NAME>
          <DESCRIPTION>General Purpose IO Register 0 bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>GPIOR06</NAME>
          <DESCRIPTION>General Purpose IO Register 0 bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>GPIOR05</NAME>
          <DESCRIPTION>General Purpose IO Register 0 bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>GPIOR04</NAME>
          <DESCRIPTION>General Purpose IO Register 0 bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>GPIOR03</NAME>
          <DESCRIPTION>General Purpose IO Register 0 bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>GPIOR02</NAME>
          <DESCRIPTION>General Purpose IO Register 0 bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>GPIOR01</NAME>
          <DESCRIPTION>General Purpose IO Register 0 bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>GPIOR00</NAME>
          <DESCRIPTION>General Purpose IO Register 0 bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </GPIOR0>
      <DIDR0>
        <NAME>DIDR0</NAME>
        <DESCRIPTION>Digital Input Disable Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x7E</MEM_ADDR>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT1>
          <NAME>PA1DID</NAME>
          <DESCRIPTION>When this bit is written logic one, the digital input buffer of the corresponding V_ADC pin is disabled.</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PA0DID</NAME>
          <DESCRIPTION>When this bit is written logic one, the digital input buffer of the corresponding V_ADC pin is disabled.</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </DIDR0>
      <PRR0>
        <NAME>PRR0</NAME>
        <DESCRIPTION>Power Reduction Register 0</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x64</MEM_ADDR>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT6>
          <NAME>PRTWI</NAME>
          <DESCRIPTION>Power Reduction TWI</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>PRVRM</NAME>
          <DESCRIPTION>Power Reduction Voltage Regulator Monitor</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT3>
          <NAME>PRSPI</NAME>
          <DESCRIPTION>Power reduction SPI</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>PRTIM1</NAME>
          <DESCRIPTION>Power Reduction Timer/Counter1</DESCRIPTION>
          <TEXT>Writing a logic one to this bit shuts down the Timer/Counter1 module. When the, Timer/Counter1 is enabled, operation will continue like before the shutdown.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>PRTIM0</NAME>
          <DESCRIPTION>Power Reduction Timer/Counter0</DESCRIPTION>
          <TEXT>Writing a logic one to this bit shuts down the Timer/Counter0 module. When the Timer/Counter0 is enabled, operation will continue like before the shutdown.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PRVADC</NAME>
          <DESCRIPTION>Power Reduction V-ADC</DESCRIPTION>
          <TEXT>Writing a logic one to this bit shuts down the V-ADC. The V-ADC must be disabled before shut down.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </PRR0>
      <CLKPR>
        <NAME>CLKPR</NAME>
        <DESCRIPTION>Clock Prescale Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x61</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_cpu.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>CLKPCE</NAME>
          <DESCRIPTION>Clock Prescaler Change Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT1>
          <NAME>CLKPS1</NAME>
          <DESCRIPTION>Clock Prescaler Select Bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CLKPS0</NAME>
          <DESCRIPTION>Clock Prescaler Select Bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>1</INIT_VAL>
        </BIT0>
      </CLKPR>
    </CPU>
    <PORTA>
      <LIST>[PORTA:DDRA:PINA]</LIST>
      <LINK/>
      <ICON>io_port.bmp</ICON>
      <ID>AVRSimIOPort.SimIOPort</ID>
      <TEXT/>
      <PORTA>
        <NAME>PORTA</NAME>
        <DESCRIPTION>Port A Data Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x02</IO_ADDR>
        <MEM_ADDR>0x22</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_port.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT3>
          <NAME>PORTA3</NAME>
          <DESCRIPTION>Port A Data Register bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>PORTA2</NAME>
          <DESCRIPTION>Port A Data Register bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>PORTA1</NAME>
          <DESCRIPTION>Port A Data Register bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PORTA0</NAME>
          <DESCRIPTION>Port A Data Register bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </PORTA>
      <DDRA>
        <NAME>DDRA</NAME>
        <DESCRIPTION>Port A Data Direction Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x01</IO_ADDR>
        <MEM_ADDR>0x21</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT3>
          <NAME>DDA3</NAME>
          <DESCRIPTION>Data Direction Register, Port A, bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>DDA2</NAME>
          <DESCRIPTION>Data Direction Register, Port A, bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>DDA1</NAME>
          <DESCRIPTION>Data Direction Register, Port A, bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>DDA0</NAME>
          <DESCRIPTION>Data Direction Register, Port A, bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </DDRA>
      <PINA>
        <NAME>PINA</NAME>
        <DESCRIPTION>Port A Input Pins</DESCRIPTION>
        <TEXT>The Port A Input Pins address - PINA - is not a register, and this address enables access to the physical value on each Port A pin. When reading PORTA the Port A Data Latch is read, and when reading PINA, the logical values present on the pins are read.</TEXT>
        <IO_ADDR>0x00</IO_ADDR>
        <MEM_ADDR>0x20</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_port.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT3>
          <NAME>PINA3</NAME>
          <DESCRIPTION>Input Pins, Port A bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>Hi-Z</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>PINA2</NAME>
          <DESCRIPTION>Input Pins, Port A bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>Hi-Z</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>PINA1</NAME>
          <DESCRIPTION>Input Pins, Port A bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>Hi-Z</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PINA0</NAME>
          <DESCRIPTION>Input Pins, Port A bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>Hi-Z</INIT_VAL>
        </BIT0>
      </PINA>
    </PORTA>
    <PORTB>
      <LIST>[PORTB:DDRB:PINB]</LIST>
      <LINK/>
      <ICON>io_port.bmp</ICON>
      <ID>AVRSimIOPort.SimIOPort</ID>
      <TEXT/>
      <PORTB>
        <NAME>PORTB</NAME>
        <DESCRIPTION>Port B Data Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x05</IO_ADDR>
        <MEM_ADDR>0x25</MEM_ADDR>
        <ICON>io_port.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>PORTB7</NAME>
          <DESCRIPTION>Port B Data Register bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>PORTB6</NAME>
          <DESCRIPTION>Port B Data Register bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>PORTB5</NAME>
          <DESCRIPTION>Port B Data Register bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>PORTB4</NAME>
          <DESCRIPTION>Port B Data Register bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>PORTB3</NAME>
          <DESCRIPTION>Port B Data Register bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>PORTB2</NAME>
          <DESCRIPTION>Port B Data Register bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>PORTB1</NAME>
          <DESCRIPTION>Port B Data Register bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PORTB0</NAME>
          <DESCRIPTION>Port B Data Register bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </PORTB>
      <DDRB>
        <NAME>DDRB</NAME>
        <DESCRIPTION>Port B Data Direction Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x04</IO_ADDR>
        <MEM_ADDR>0x24</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>DDB7</NAME>
          <DESCRIPTION>Port B Data Direction Register bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>DDB6</NAME>
          <DESCRIPTION>Port B Data Direction Register bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>DDB5</NAME>
          <DESCRIPTION>Port B Data Direction Register bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>DDB4</NAME>
          <DESCRIPTION>Port B Data Direction Register bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>DDB3</NAME>
          <DESCRIPTION>Port B Data Direction Register bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>DDB2</NAME>
          <DESCRIPTION>Port B Data Direction Register bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>DDB1</NAME>
          <DESCRIPTION>Port B Data Direction Register bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>DDB0</NAME>
          <DESCRIPTION>Port B Data Direction Register bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </DDRB>
      <PINB>
        <NAME>PINB</NAME>
        <DESCRIPTION>Port B Input Pins</DESCRIPTION>
        <TEXT>The Port B Input Pins address - PINB - is not a register, and this address enables access to the physical value on each Port B pin. When reading PORTB, the Port B Data Latch is read, and when reading PINB, the logical values present on the pins are read.</TEXT>
        <IO_ADDR>0x03</IO_ADDR>
        <MEM_ADDR>0x23</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_port.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>PINB7</NAME>
          <DESCRIPTION>Port B Input Pins bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>PINB6</NAME>
          <DESCRIPTION>Port B Input Pins bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>PINB5</NAME>
          <DESCRIPTION>Port B Input Pins bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>PINB4</NAME>
          <DESCRIPTION>Port B Input Pins bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>PINB3</NAME>
          <DESCRIPTION>Port B Input Pins bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>PINB2</NAME>
          <DESCRIPTION>Port B Input Pins bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>PINB1</NAME>
          <DESCRIPTION>Port B Input Pins bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PINB0</NAME>
          <DESCRIPTION>Port B Input Pins bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </PINB>
    </PORTB>
    <PORTC>
      <LIST>[PORTC:PINC]</LIST>
      <LINK/>
      <ICON>io_port.bmp</ICON>
      <ID>AVRSimIOPort.SimIOPort</ID>
      <TEXT/>
      <PORTC>
        <NAME>PORTC</NAME>
        <DESCRIPTION>Port C Data Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x08</IO_ADDR>
        <MEM_ADDR>0x28</MEM_ADDR>
        <ICON>io_port.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT5>
          <NAME>PORTC5</NAME>
          <DESCRIPTION>Port C Data Register bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>PORTC4</NAME>
          <DESCRIPTION>Port C Data Register bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>PORTC3</NAME>
          <DESCRIPTION>Port C Data Register bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>PORTC2</NAME>
          <DESCRIPTION>Port C Data Register bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>PORTC1</NAME>
          <DESCRIPTION>Port C Data Register bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PORTC0</NAME>
          <DESCRIPTION>Port C Data Register bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </PORTC>
      <PINC>
        <NAME>PINC</NAME>
        <DESCRIPTION>Port C Input Pins</DESCRIPTION>
        <TEXT>The Port C Input Pins address - PINC - is not a register, and this address enables access to the physical value on each Port C pin. When reading PORTC, the Port C Data Latch is read, and when reading PINC, the logical values present on the pins are read.</TEXT>
        <IO_ADDR>0x06</IO_ADDR>
        <MEM_ADDR>0x26</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_port.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT4>
          <NAME>PINC4</NAME>
          <DESCRIPTION>Port C Input Pins bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>PINC3</NAME>
          <DESCRIPTION>Port C Input Pins bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>PINC2</NAME>
          <DESCRIPTION>Port C Input Pins bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>PINC1</NAME>
          <DESCRIPTION>Port C Input Pins bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>PINC0</NAME>
          <DESCRIPTION>Port C Input Pins bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </PINC>
    </PORTC>
    <TIMER_COUNTER_0>
      <LIST>[TCCR0A:TCCR0B:TCNT0H:TCNT0L:OCR0A:OCR0B:TIMSK0:TIFR0:GTCCR]</LIST>
      <LINK>[TCNT0H:TCNT0L];[OCR0AH:OCR0AL]</LINK>
      <ICON>io_timer.bmp</ICON>
      <ID/>
      <TEXT/>
      <TCCR0B>
        <NAME>TCCR0B</NAME>
        <DESCRIPTION>Timer/Counter0 Control Register B</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x25</IO_ADDR>
        <MEM_ADDR>0x45</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT2>
          <NAME>CS02</NAME>
          <DESCRIPTION>Clock Select0 bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>CS01</NAME>
          <DESCRIPTION>Clock Select0 bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>CS00</NAME>
          <DESCRIPTION>Clock Select0 bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <ENUM>CLK_SEL_3BIT_EXT</ENUM>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TCCR0B>
      <TCCR0A>
        <NAME>TCCR0A</NAME>
        <DESCRIPTION>Timer/Counter 0 Control Register A</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x24</IO_ADDR>
        <MEM_ADDR>0x44</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>TCW0</NAME>
          <DESCRIPTION>Timer/Counter Width</DESCRIPTION>
          <TEXT>When this bit is written to one 16-bit mode is selected. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>ICEN0</NAME>
          <DESCRIPTION>Input Capture Mode Enable</DESCRIPTION>
          <TEXT>The Input Capture Mode is enabled when this bit is written to one.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>ICNC0</NAME>
          <DESCRIPTION>Input Capture Noise Canceler</DESCRIPTION>
          <TEXT>Setting this bit activates the Input Capture Noise Canceler. </TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>ICES0</NAME>
          <DESCRIPTION>Input Capture Edge Select</DESCRIPTION>
          <TEXT>This bit selects which edge on the Input Capture Source that is used to trigger a capture event.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>ICS0</NAME>
          <DESCRIPTION>Input Capture Select</DESCRIPTION>
          <TEXT>When written logic one, this bit enables the input capture function in Timer/Counter to be triggered by the alternative Input Capture Source.</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT0>
          <NAME>WGM00</NAME>
          <DESCRIPTION>Waveform Generation Mode</DESCRIPTION>
          <TEXT>This bit controls the counting sequence of the counter</TEXT>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TCCR0A>
      <TCNT0H>
        <NAME>TCNT0H</NAME>
        <DESCRIPTION>Timer Counter 0 High Byte</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x27</IO_ADDR>
        <MEM_ADDR>0x47</MEM_ADDR>
        <ICON>io_timer.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>TCNT0H7</NAME>
          <DESCRIPTION>Timer Counter 0 High Byte bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>TCNT0H6</NAME>
          <DESCRIPTION>Timer Counter 0 High Byte bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>TCNT0H5</NAME>
          <DESCRIPTION>Timer Counter 0 High Byte bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>TCNT0H4</NAME>
          <DESCRIPTION>Timer Counter 0 High Byte bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>TCNT0H3</NAME>
          <DESCRIPTION>Timer Counter 0 High Byte bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>TCNT0H2</NAME>
          <DESCRIPTION>Timer Counter 0 High Byte bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>TCNT0H1</NAME>
          <DESCRIPTION>Timer Counter 0 High Byte bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TCNT0H0</NAME>
          <DESCRIPTION>Timer Counter 0 High Byte bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TCNT0H>
      <TCNT0L>
        <NAME>TCNT0L</NAME>
        <DESCRIPTION>Timer Counter 0 Low Byte</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x26</IO_ADDR>
        <MEM_ADDR>0x46</MEM_ADDR>
        <ICON>io_timer.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>TCNT0L7</NAME>
          <DESCRIPTION>Timer Counter 0 Low Byte bit 7</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>TCNT0L6</NAME>
          <DESCRIPTION>Timer Counter 0 Low Byte bit 6</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>TCNT0L5</NAME>
          <DESCRIPTION>Timer Counter 0 Low Byte bit 5</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>TCNT0L4</NAME>
          <DESCRIPTION>Timer Counter 0 Low Byte bit 4</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>TCNT0L3</NAME>
          <DESCRIPTION>Timer Counter 0 Low Byte bit 3</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>TCNT0L2</NAME>
          <DESCRIPTION>Timer Counter 0 Low Byte bit 2</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>TCNT0L1</NAME>
          <DESCRIPTION>Timer Counter 0 Low Byte bit 1</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TCNT0L0</NAME>
          <DESCRIPTION>Timer Counter 0 Low Byte bit 0</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TCNT0L>
      <OCR0A>
        <NAME>OCR0A</NAME>
        <DESCRIPTION>Output Compare Register 0A </DESCRIPTION>
        <TEXT>The Output Compare Register A contains an 8-bit value that is continuously compared with the</TEXT>
        <IO_ADDR>0x28</IO_ADDR>
        <MEM_ADDR>0x48</MEM_ADDR>
        <ICON>io_timer.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>OCR0A7</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>OCR0A6</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>OCR0A5</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>OCR0A4</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>OCR0A3</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>OCR0A2</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>OCR0A1</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>OCR0A0</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </OCR0A>
      <OCR0B>
        <NAME>OCR0B</NAME>
        <DESCRIPTION>Output Compare Register B </DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x29</IO_ADDR>
        <MEM_ADDR>0x49</MEM_ADDR>
        <ICON>io_timer.bmp</ICON>
        <DISPLAY_BITS>N</DISPLAY_BITS>
        <BIT7>
          <NAME>OCR0B7</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>OCR0B6</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>OCR0B5</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>OCR0B4</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>OCR0B3</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>OCR0B2</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>OCR0B1</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>OCR0B0</NAME>
          <DESCRIPTION/>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </OCR0B>
      <TIMSK0>
        <NAME>TIMSK0</NAME>
        <DESCRIPTION>Timer/Counter Interrupt Mask Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>NA</IO_ADDR>
        <MEM_ADDR>0x6E</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT3>
          <NAME>ICIE0</NAME>
          <DESCRIPTION>Timer/Counter n Input Capture Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>OCIE0B</NAME>
          <DESCRIPTION>Timer/Counter0 Output Compare B Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>OCIE0A</NAME>
          <DESCRIPTION>Timer/Counter0 Output Compare A Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TOIE0</NAME>
          <DESCRIPTION>Timer/Counter0 Overflow Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TIMSK0>
      <TIFR0>
        <NAME>TIFR0</NAME>
        <DESCRIPTION>Timer/Counter Interrupt Flag register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x15</IO_ADDR>
        <MEM_ADDR>0x35</MEM_ADDR>
        <WRITE_INTRUSIVE/>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT3>
          <NAME>ICF0</NAME>
          <DESCRIPTION>Timer/Counter 0 Input Capture Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>OCF0B</NAME>
          <DESCRIPTION>Timer/Counter0 Output Compare Flag B</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>OCF0A</NAME>
          <DESCRIPTION>Timer/Counter0 Output Compare Flag A</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>TOV0</NAME>
          <DESCRIPTION>Timer/Counter0 Overflow Flag</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </TIFR0>
      <GTCCR>
        <NAME>GTCCR</NAME>
        <DESCRIPTION>General Timer/Counter Control Register</DESCRIPTION>
        <TEXT/>
        <IO_ADDR>0x23</IO_ADDR>
        <MEM_ADDR>0x43</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>TSM</NAME>
          <DESCRIPTION>Timer/Counter Synchronization Mode</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT0>
          <NAME>PSRSYNC</NAME>
          <DESCRIPTION>Prescaler Reset</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </GTCCR>
    </TIMER_COUNTER_0>
    <BOOT_LOAD>
      <LIST>[SPMCSR]</LIST>
      <LINK/>
      <RULES/>
      <ICON>io_cpu.bmp</ICON>
      <ID>AVRSimIOSPM.SimIOSPM</ID>
      <TEXT>The Boot Loader Support provides a real Read While Write self-programming mechanism for downloading and uploading program code by the MCU itself. This feature allows flexible application software updates controlled by the MCU using a Flash-resident Boot Loader program. The Boot Loader program can use any available data interface and associated proto-col to read code and write (program) that code into the Flash memory, or read the code from the program memory. The program code within the Boot Loader section has the capability to write into the entire Flash, including the Boot Loader Memory. The Boot Loader can thus even modify itself, and it can also erase itself from the code if the feature is not needed anymore. The size of the Boot Loader Memory is configurable with fuses and the Boot Loader has two separate sets of Boot Lock Bits which can be set independently. This gives the user a unique flexibility to select different levels of protection. Boot Loader Features: Read While Write self-programming. Flexibl Boot Memory size. High security (separate Boot Lock bits for a flexible protection).  Separate fuse to select reset vector Optimized page (1) size. Code efficient algorithm Efficient read-modify-write suppor</TEXT>
      <SPMCSR>
        <NAME>SPMCSR</NAME>
        <DESCRIPTION>Store Program Memory Control and Status Register</DESCRIPTION>
        <TEXT>The Store Program Memory Control Register contains the control bits needed to control the Boot Loader operations.</TEXT>
        <IO_ADDR>0x37</IO_ADDR>
        <MEM_ADDR>0x57</MEM_ADDR>
        <ICON>io_flag.bmp</ICON>
        <DISPLAY_BITS>Y</DISPLAY_BITS>
        <BIT7>
          <NAME>SPMIE</NAME>
          <DESCRIPTION>SPM Interrupt Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT7>
        <BIT6>
          <NAME>RWWSB</NAME>
          <DESCRIPTION>Read-While-Write Section Busy</DESCRIPTION>
          <TEXT/>
          <ACCESS>R</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT6>
        <BIT5>
          <NAME>SIGRD</NAME>
          <DESCRIPTION>Signature Row Read</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT5>
        <BIT4>
          <NAME>RWWSRE</NAME>
          <DESCRIPTION>Read-While-Write Section Read Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT4>
        <BIT3>
          <NAME>LBSET</NAME>
          <DESCRIPTION>Lock Bit Set</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT3>
        <BIT2>
          <NAME>PGWRT</NAME>
          <DESCRIPTION>Page Write</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT2>
        <BIT1>
          <NAME>PGERS</NAME>
          <DESCRIPTION>Page Erase</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT1>
        <BIT0>
          <NAME>SPMEN</NAME>
          <DESCRIPTION>Store Program Memory Enable</DESCRIPTION>
          <TEXT/>
          <ACCESS>RW</ACCESS>
          <INIT_VAL>0</INIT_VAL>
        </BIT0>
      </SPMCSR>
    </BOOT_LOAD>
  </IO_MODULE>
  <ICE_SETTINGS>
    <MODULE_LIST>[AVRDragon:AVRISPmkII:STK500_2:JTAGICEmkII:SIMULATOR:STK600:AVRONE:SIMULATOR2]</MODULE_LIST>
    <AVRDragon/>
    <AVRISPmkII/>
    <STK500_2>
      <IspEnterProgMode>
        <timeout>200</timeout>
        <stabDelay>100</stabDelay>
        <cmdexeDelay>25</cmdexeDelay>
        <synchLoops>32</synchLoops>
        <byteDelay>0</byteDelay>
        <pollIndex>3</pollIndex>
        <pollValue>0x53</pollValue>
      </IspEnterProgMode>
      <IspLeaveProgMode>
        <preDelay>1</preDelay>
        <postDelay>1</postDelay>
      </IspLeaveProgMode>
      <IspChipErase>
        <eraseDelay>45</eraseDelay>
        <pollMethod>1</pollMethod>
      </IspChipErase>
      <IspProgramFlash>
        <mode>0x41</mode>
        <blockSize>128</blockSize>
        <delay>10</delay>
        <cmd1>0x40</cmd1>
        <cmd2>0x4C</cmd2>
        <cmd3>0x00</cmd3>
        <pollVal1>0x00</pollVal1>
        <pollVal2>0x00</pollVal2>
      </IspProgramFlash>
      <IspProgramEeprom>
        <mode>0x41</mode>
        <blockSize>4</blockSize>
        <delay>10</delay>
        <cmd1>0xC1</cmd1>
        <cmd2>0xC2</cmd2>
        <cmd3>0x00</cmd3>
        <pollVal1>0x00</pollVal1>
        <pollVal2>0x00</pollVal2>
      </IspProgramEeprom>
      <IspReadFlash>
        <blockSize>256</blockSize>
      </IspReadFlash>
      <IspReadEeprom>
        <blockSize>256</blockSize>
      </IspReadEeprom>
      <IspReadFuse>
        <pollIndex>4</pollIndex>
      </IspReadFuse>
      <IspReadLock>
        <pollIndex>4</pollIndex>
      </IspReadLock>
      <IspReadSign>
        <pollIndex>4</pollIndex>
      </IspReadSign>
      <IspReadOsccal>
        <pollIndex>4</pollIndex>
      </IspReadOsccal>
      <PPControlStack>0x0E 0x1E 0x0F 0x1F 0x2E 0x3E 0x2F 0x3F 0x4E 0x5E 0x4F 0x5F 0x6E 0x7E 0x6F 0x7F 0x66 0x76 0x67 0x77 0x6A 0x7A 0x6B 0x7B 0xBE 0xFD 0x00 0x01 0x00 0x00 0x00 0x00</PPControlStack>
      <PpEnterProgMode>
        <stabDelay>100</stabDelay>
        <progModeDelay>0</progModeDelay>
        <latchCycles>6</latchCycles>
        <toggleVtg>0</toggleVtg>
        <powerOffDelay>0</powerOffDelay>
        <resetDelayMs>0</resetDelayMs>
        <resetDelayUs>0</resetDelayUs>
      </PpEnterProgMode>
      <PpLeaveProgMode>
        <stabDelay>15</stabDelay>
        <resetDelay>15</resetDelay>
      </PpLeaveProgMode>
      <PpChipErase>
        <pulseWidth>0</pulseWidth>
        <pollTimeout>10</pollTimeout>
      </PpChipErase>
      <PpProgramFlash>
        <pollTimeout>5</pollTimeout>
        <mode>0x0F</mode>
        <blockSize>256</blockSize>
      </PpProgramFlash>
      <PpReadFlash>
        <blockSize>256</blockSize>
      </PpReadFlash>
      <PpProgramEeprom>
        <pollTimeout>5</pollTimeout>
        <mode>0x05</mode>
        <blockSize>256</blockSize>
      </PpProgramEeprom>
      <PpReadEeprom>
        <blockSize>256</blockSize>
      </PpReadEeprom>
      <PpProgramFuse>
        <pulseWidth>0</pulseWidth>
        <pollTimeout>5</pollTimeout>
      </PpProgramFuse>
      <PpProgramLock>
        <pulseWidth>0</pulseWidth>
        <pollTimeout>5</pollTimeout>
      </PpProgramLock>
    </STK500_2>
    <JTAGICEmkII>
      <ID>0x9510</ID>
      <Interface>DebugWire</Interface>
<!--Bit 0 in byte 0 is I/O location, bit 7 in byte 7 is I/O location 63-->
      <ucRead>0x7F,0x01,0xE0,0xF8,0xFF,0x3F,0xB8,0xE0</ucRead>
      <ucWrite>0x37,0x01,0x00,0xE0,0xFF,0x1F,0xA8,0xE0</ucWrite>
      <ucReadShadow>0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00</ucReadShadow>
      <ucWriteShadow>0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00</ucWriteShadow>
<!--Bit 0 in byte 0 is extended I/O location, bit 7 in byte 7 is I/O location 63-->
      <ucExtRead>0x53,0xDB,0x00,0x57,0x33,0x03,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0x17,0x00,0xFF,0x07,0xEF,0x7F</ucExtRead>
      <ucExtWrite>0x50,0xDB,0x00,0x50,0x33,0x03,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x17,0x00,0xCF,0x07,0xEF,0x3F</ucExtWrite>
      <ucExtReadShadow>0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00</ucExtReadShadow>
      <ucExtWriteShadow>0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00</ucExtWriteShadow>
<!--Register locations etc.-->
      <ucIDRAddress>0x00</ucIDRAddress>
      <ucSPMCAddress>0x57</ucSPMCAddress>
      <ucRAMPZAddress>0x00</ucRAMPZAddress>
      <ulFlashPageSize>0x80</ulFlashPageSize>
      <ulEepromPageSize>0x04</ulEepromPageSize>
      <ulBootAddress>0x3F00</ulBootAddress>
      <BootAddress11>0x3F00</BootAddress11>
      <BootAddress10>0x3E00</BootAddress10>
      <BootAddress01>0x3C00</BootAddress01>
      <BootAddress00>0x3800</BootAddress00>
      <ucUpperExtIOLoc>0xFE</ucUpperExtIOLoc>
      <ulFlashSize>0x8000</ulFlashSize>
      <ulRegStart>0x00,32</ulRegStart>
      <ulIoStart>0x20,64</ulIoStart>
<!--Other stuff-->
      <DWENmaskExt>0x00</DWENmaskExt>
      <DWENmaskHigh>0x08</DWENmaskHigh>
      <DWENmaskLow>0x00</DWENmaskLow>
      <SPIENmaskExt>0x00</SPIENmaskExt>
      <SPIENmaskHigh>0x00</SPIENmaskHigh>
      <SPIENmaskLow>0x20</SPIENmaskLow>
      <ucEepromInst>0xBD,0xF2,0xBD,0xE1,0xBB,0xCF,0xB4,0x00,0xBE,0x01,0xB6,0x01,0xBC,0x00,0xBB,0xBF,0x99,0xF9,0xBB,0xAF</ucEepromInst>
      <ucFlashInst>0xB6,0x01,0x11</ucFlashInst>
      <ucSPHaddr>0x3E</ucSPHaddr>
      <ucSPLaddr>0x3D</ucSPLaddr>
      <DWdatareg>0x31</DWdatareg>
      <DWbasePC>0x00</DWbasePC>
      <Osccalshared>0x00</Osccalshared>
      <ucAllowFullPageBitstream>0x00</ucAllowFullPageBitstream>
      <uiStartSmallestBootLoaderSection>0x3F00</uiStartSmallestBootLoaderSection>
      <ucUseJTAGID>0x00</ucUseJTAGID>
      <EECRAddress>0x3F</EECRAddress>
    </JTAGICEmkII>
    <SIMULATOR>
      <CoreID>AVRSimCoreV2.SimCoreV2</CoreID>
      <MemoryID>AVRSimMemory8bit.SimMemory8bit</MemoryID>
      <InterruptID>AVRSimInterrupt.SimInterrupt</InterruptID>
      <NmbIOModules>15</NmbIOModules>
      <EEINTERRUPT>0x28</EEINTERRUPT>
      <EEAR_EXTRA_BIT>0</EEAR_EXTRA_BIT>
      <PORTA>
        <ID>AVRSimIOPort.SimIOPort</ID>
        <TOGGLE_PIN>Y</TOGGLE_PIN>
      </PORTA>
      <PORTB>
        <ID>AVRSimIOPort.SimIOPort</ID>
        <TOGGLE_PIN>Y</TOGGLE_PIN>
      </PORTB>
      <PORTC>
        <ID>AVRSimIOPort.SimIOPort</ID>
        <TOGGLE_PIN>N</TOGGLE_PIN>
      </PORTC>
      <EXTINT0>
        <ID>AVRSimIOExtInterrupt.SimIOExtInterrupt</ID>
        <IntVector>0x0006</IntVector>
        <EnableIOAdr>0x1D</EnableIOAdr>
        <EnableMask>0x01</EnableMask>
        <FlagIOAdr>0x1c</FlagIOAdr>
        <FlagMask>0x01</FlagMask>
        <ExtPinIOAdr>0x06</ExtPinIOAdr>
        <ExtPinMask>0x01</ExtPinMask>
        <SenseIOAdr>0x69</SenseIOAdr>
        <SenseMask>0x03</SenseMask>
      </EXTINT0>
      <EXTINT1>
        <ID>AVRSimIOExtInterrupt.SimIOExtInterrupt</ID>
        <IntVector>0x0008</IntVector>
        <EnableIOAdr>0x1D</EnableIOAdr>
        <EnableMask>0x02</EnableMask>
        <FlagIOAdr>0x1C</FlagIOAdr>
        <FlagMask>0x02</FlagMask>
        <ExtPinIOAdr>0x06</ExtPinIOAdr>
        <ExtPinMask>0x02</ExtPinMask>
        <SenseIOAdr>0x69</SenseIOAdr>
        <SenseMask>0x0c</SenseMask>
      </EXTINT1>
      <EXTINT2>
        <ID>AVRSimIOExtInterrupt.SimIOExtInterrupt</ID>
        <IntVector>0x000a</IntVector>
        <EnableIOAdr>0x1D</EnableIOAdr>
        <EnableMask>0x04</EnableMask>
        <FlagIOAdr>0x1C</FlagIOAdr>
        <FlagMask>0x04</FlagMask>
        <ExtPinIOAdr>0x06</ExtPinIOAdr>
        <ExtPinMask>0x04</ExtPinMask>
        <SenseIOAdr>0x69</SenseIOAdr>
        <SenseMask>0x30</SenseMask>
      </EXTINT2>
      <EXTINT3>
        <ID>AVRSimIOExtInterrupt.SimIOExtInterrupt</ID>
        <IntVector>0x000c</IntVector>
        <EnableIOAdr>0x1D</EnableIOAdr>
        <EnableMask>0x08</EnableMask>
        <FlagIOAdr>0x1C</FlagIOAdr>
        <FlagMask>0x08</FlagMask>
        <ExtPinIOAdr>0x06</ExtPinIOAdr>
        <ExtPinMask>0x08</ExtPinMask>
        <SenseIOAdr>0x69</SenseIOAdr>
        <SenseMask>0xc0</SenseMask>
      </EXTINT3>
      <PININT0>
        <ID>AVRSimIOPinChangeInterrupt.SimIOPinChangeInterrupt</ID>
        <IntVector>0x00e</IntVector>
        <EnableIOAdr>0x68</EnableIOAdr>
        <EnableMask>0x01</EnableMask>
        <FlagIOAdr>0x1b</FlagIOAdr>
        <FlagMask>0x01</FlagMask>
        <PCMaskIOAdr>0x4c</PCMaskIOAdr>
        <ExtPinIOAdr>0x00</ExtPinIOAdr>
        <ExtPinMask>0x0f</ExtPinMask>
      </PININT0>
      <PININT1>
        <ID>AVRSimIOPinChangeInterrupt.SimIOPinChangeInterrupt</ID>
        <IntVector>0x010</IntVector>
        <EnableIOAdr>0x68</EnableIOAdr>
        <EnableMask>0x02</EnableMask>
        <FlagIOAdr>0x1b</FlagIOAdr>
        <FlagMask>0x02</FlagMask>
        <PCMaskIOAdr>0x6c</PCMaskIOAdr>
        <ExtPinIOAdr>0x03</ExtPinIOAdr>
        <ExtPinMask>0xff</ExtPinMask>
      </PININT1>
      <SPM>
        <ID>AVRSimIOSPM.SimIOSPM</ID>
        <IntVector>0x38</IntVector>
      </SPM>
      <DEFAULT_SETTINGS>
        <HighFuse>0xE9</HighFuse>
        <ExtendedFuse>0xff</ExtendedFuse>
        <LowFuse>0xDE</LowFuse>
        <Lockbit>0xff</Lockbit>
      </DEFAULT_SETTINGS>
<!--
      <TIMER0>
        <ID>AvrMasterTimer.MasterTimer</ID>
        <OvfVector>0x26</OvfVector>
        <CompAVector>0x22</CompAVector>
        <CompBVector>0x24</CompBVector>
        <IcpVector>0x20</IcpVector>
        <IcPinAdr>0x03</IcPinAdr>
        <IcPinMask>0x01</IcPinMask>
        <CountPinAdr>0x00</CountPinAdr>
        <CountPinMask>0x04</CountPinMask>
        <Prescaler>1:8:64:256:1024</Prescaler>
      </TIMER0>
      <TIMER1>
        <ID>AvrMasterTimer.MasterTimer</ID>
        <OvfVector>0x1e</OvfVector>
        <CompAVector>0x1a</CompAVector>
        <CompBVector>0x1c</CompBVector>
        <IcpVector>0x18</IcpVector>
        <IcPinAdr>0x06</IcPinAdr>
        <IcPinMask>0x01</IcPinMask>
        <Prescaler>1:8:64:256:1024</Prescaler>
        <CountPinAdr>0x00</CountPinAdr>
        <CountPinMask>0x08</CountPinMask>
      </TIMER1>
     -->
      <SPI>
        <ID>AVRSimIOSpi.SimIOSpi</ID>
        <IntVector>0x2c</IntVector>
        <SCKAddress>0x03</SCKAddress>
        <SCKMask>0x20</SCKMask>
        <MISOAddress>0x03</MISOAddress>
        <MISOMask>0x80</MISOMask>
        <MOSIAddress>0x03</MOSIAddress>
        <MOSIMask>0x40</MOSIMask>
        <SSAddress>0x03</SSAddress>
        <DIRAddress>0x2e</DIRAddress>
        <SSMask>0x10</SSMask>
      </SPI>
      <ADC>
        <ID>AVRSimADC.SimADC</ID>
        <IntVector>0x2E</IntVector>
      </ADC>
      <TWI>
        <ID>AvrSimTWI.SimTWI</ID>
        <IntVector>0x02a</IntVector>
      </TWI>
      <WATCHDOG>
        <ID>AvrMasterTimer.MasterTimer</ID>
        <Frequency>128</Frequency>
        <Version>1</Version>
        <IntVector>0x012</IntVector>
        <PrescaleArray>2048:4096:8192:16384:32768:65536:131072:262144:524288:1048576</PrescaleArray>
      </WATCHDOG>
    </SIMULATOR>
    <STK600>
      <IspEnterProgMode>
        <timeout>200</timeout>
        <stabDelay>100</stabDelay>
        <cmdexeDelay>25</cmdexeDelay>
        <synchLoops>32</synchLoops>
        <byteDelay>0</byteDelay>
        <pollIndex>3</pollIndex>
        <pollValue>0x53</pollValue>
      </IspEnterProgMode>
      <IspLeaveProgMode>
        <preDelay>1</preDelay>
        <postDelay>1</postDelay>
      </IspLeaveProgMode>
      <IspChipErase>
        <eraseDelay>45</eraseDelay>
        <pollMethod>1</pollMethod>
      </IspChipErase>
      <IspProgramFlash>
        <mode>0x41</mode>
        <blockSize>128</blockSize>
        <delay>6</delay>
        <cmd1>0x40</cmd1>
        <cmd2>0x4C</cmd2>
        <cmd3>0x00</cmd3>
        <pollVal1>0x00</pollVal1>
        <pollVal2>0x00</pollVal2>
      </IspProgramFlash>
      <IspProgramEeprom>
        <mode>0x41</mode>
        <blockSize>4</blockSize>
        <delay>10</delay>
        <cmd1>0xC1</cmd1>
        <cmd2>0xC2</cmd2>
        <cmd3>0x00</cmd3>
        <pollVal1>0x00</pollVal1>
        <pollVal2>0x00</pollVal2>
      </IspProgramEeprom>
      <IspReadFlash>
        <blockSize>256</blockSize>
      </IspReadFlash>
      <IspReadEeprom>
        <blockSize>256</blockSize>
      </IspReadEeprom>
      <IspReadFuse>
        <pollIndex>4</pollIndex>
      </IspReadFuse>
      <IspReadLock>
        <pollIndex>4</pollIndex>
      </IspReadLock>
      <IspReadSign>
        <pollIndex>4</pollIndex>
      </IspReadSign>
      <IspReadOsccal>
        <pollIndex>4</pollIndex>
      </IspReadOsccal>
      <PPControlStack>0x0E 0x1E 0x0F 0x1F 0x2E 0x3E 0x2F 0x3F 0x4E 0x5E 0x4F 0x5F 0x6E 0x7E 0x6F 0x7F 0x66 0x76 0x67 0x77 0x6A 0x7A 0x6B 0x7B 0xBE 0xFD 0x00 0x01 0x00 0x00 0x00 0x00</PPControlStack>
      <PpEnterProgMode>
        <stabDelay>100</stabDelay>
        <progModeDelay>0</progModeDelay>
        <latchCycles>6</latchCycles>
        <toggleVtg>1</toggleVtg>
        <powerOffDelay>20</powerOffDelay>
        <resetDelayMs>0</resetDelayMs>
        <resetDelayUs>50</resetDelayUs>
      </PpEnterProgMode>
      <PpLeaveProgMode>
        <stabDelay>15</stabDelay>
        <resetDelay>15</resetDelay>
      </PpLeaveProgMode>
      <PpChipErase>
        <pulseWidth>0</pulseWidth>
        <pollTimeout>10</pollTimeout>
      </PpChipErase>
      <PpProgramFlash>
        <pollTimeout>5</pollTimeout>
        <mode>0x0F</mode>
        <blockSize>256</blockSize>
      </PpProgramFlash>
      <PpReadFlash>
        <blockSize>256</blockSize>
      </PpReadFlash>
      <PpProgramEeprom>
        <pollTimeout>5</pollTimeout>
        <mode>0x05</mode>
        <blockSize>256</blockSize>
      </PpProgramEeprom>
      <PpReadEeprom>
        <blockSize>256</blockSize>
      </PpReadEeprom>
      <PpProgramFuse>
        <pulseWidth>0</pulseWidth>
        <pollTimeout>5</pollTimeout>
      </PpProgramFuse>
      <PpProgramLock>
        <pulseWidth>0</pulseWidth>
        <pollTimeout>5</pollTimeout>
      </PpProgramLock>
    </STK600>
    <AVRONE>
      <ID>0x9510</ID>
      <Interface>DebugWire</Interface>
    </AVRONE>
    <SIMULATOR2>
      <MODEL>libATmega32HVB.dll</MODEL>
    </SIMULATOR2>
  </ICE_SETTINGS>
  <V2>
    <templates>
      <module class="FUSE">
        <registers name="FUSE" memspace="FUSE">
          <reg size="1" name="LOW" offset="0x00">
            <bitfield name="WDTON" mask="0x80" text="Watch-dog Timer always on" icon=""/>
            <bitfield name="EESAVE" mask="0x40" text="Preserve EEPROM through the Chip Erase cycle" icon=""/>
            <bitfield name="SPIEN" mask="0x20" text="Serial program downloading (SPI) enabled" icon=""/>
            <bitfield name="SUT" mask="0x1C" text="Select start-up time" icon="" enum="ENUM_SUT"/>
          </reg>
          <reg size="1" name="HIGH" offset="0x01">
            <bitfield name="DUVRDINIT" mask="0x10" text="DUVR mode on" icon=""/>
            <bitfield name="DWEN" mask="0x08" text="Debug Wire enable" icon=""/>
            <bitfield name="BOOTSZ" mask="0x06" text="Select Boot Size" icon="" enum="ENUM_BOOTSZ"/>
            <bitfield name="BOOTRST" mask="0x01" text="Boot Reset vector Enabled" icon=""/>
          </reg>
        </registers>
        <enumerator name="ENUM_SUT">
          <enum val="0x00" text="Start-up time 14 CK + 4 ms"/>
          <enum val="0x01" text="Start-up time 14 CK + 8 ms"/>
          <enum val="0x02" text="Start-up time 14 CK + 16 ms"/>
          <enum val="0x03" text="Start-up time 14 CK + 32 ms"/>
          <enum val="0x04" text="Start-up time 14 CK + 64 ms"/>
          <enum val="0x05" text="Start-up time 14 CK + 128 ms"/>
          <enum val="0x06" text="Start-up time 14 CK + 256 ms"/>
          <enum val="0x07" text="Start-up time 14 CK + 512 ms"/>
        </enumerator>
        <enumerator name="ENUM_BOOTSZ">
          <enum val="0x03" text="Boot Flash size=256 words Boot address=$3F00"/>
          <enum val="0x02" text="Boot Flash size=512 words Boot address=$3E00"/>
          <enum val="0x01" text="Boot Flash size=1024 words Boot address=$3C00"/>
          <enum val="0x00" text="Boot Flash size=2048 words Boot address=$3800"/>
        </enumerator>
      </module>
      <module class="LOCKBIT">
        <registers name="LOCKBIT" memspace="LOCKBIT">
          <reg size="1" name="LOCKBIT" offset="0x00">
            <bitfield name="LB" mask="0x03" text="Memory Lock" icon="" enum="ENUM_LB"/>
            <bitfield name="BLB0" mask="0x0C" text="Boot Loader Protection Mode" icon="" enum="ENUM_BLB"/>
            <bitfield name="BLB1" mask="0x30" text="Boot Loader Protection Mode" icon="" enum="ENUM_BLB2"/>
          </reg>
        </registers>
        <enumerator name="ENUM_LB">
          <enum val="0x00" text="Further programming and verification disabled"/>
          <enum val="0x02" text="Further programming disabled"/>
          <enum val="0x03" text="No memory lock features enabled"/>
        </enumerator>
        <enumerator name="ENUM_BLB">
          <enum val="0x00" text="LPM and SPM prohibited in Application Section"/>
          <enum val="0x01" text="LPM prohibited in Application Section"/>
          <enum val="0x02" text="SPM prohibited in Application Section"/>
          <enum val="0x03" text="No lock on SPM and LPM in Application Section"/>
        </enumerator>
        <enumerator name="ENUM_BLB2">
          <enum val="0x00" text="LPM and SPM prohibited in Boot Section"/>
          <enum val="0x01" text="LPM prohibited in Boot Section"/>
          <enum val="0x02" text="SPM prohibited in Boot Section"/>
          <enum val="0x03" text="No lock on SPM and LPM in Boot Section"/>
        </enumerator>
      </module>
      <module class="AD_CONVERTER" text="">
        <registers name="AD_CONVERTER" memspace="DATAMEM" text="" icon="io_analo.bmp">
          <reg size="1" name="VADMUX" offset="0x7C" text="The VADC multiplexer Selection Register" icon="io_analo.bmp">
            <bitfield name="VADMUX" mask="0x0F" text="Analog Channel and Gain Selection Bits" icon=""/>
          </reg>
          <reg size="2" name="VADC" offset="0x78" text="VADC Data Register  Bytes" icon="io_analo.bmp" mask="0x0FFF"/>
          <reg size="1" name="VADCSR" offset="0x7A" text="The VADC Control and Status register" icon="io_flag.bmp">
            <bitfield name="VADEN" mask="0x08" text="VADC Enable" icon=""/>
            <bitfield name="VADSC" mask="0x04" text="VADC Satrt Conversion" icon=""/>
            <bitfield name="VADCCIF" mask="0x02" text="VADC Conversion Complete Interrupt Flag" icon=""/>
            <bitfield name="VADCCIE" mask="0x01" text="VADC Conversion Complete Interrupt Enable" icon=""/>
          </reg>
        </registers>
      </module>
      <module class="WATCHDOG" text="">
        <registers name="WATCHDOG" memspace="DATAMEM" text="" icon="io_watch.bmp">
          <reg size="1" name="WDTCSR" offset="0x60" text="Watchdog Timer Control Register" icon="io_flag.bmp">
            <bitfield name="WDIF" mask="0x80" text="Watchdog Timeout Interrupt Flag" icon=""/>
            <bitfield name="WDIE" mask="0x40" text="Watchdog Timeout Interrupt Enable" icon=""/>
            <bitfield name="WDP" mask="0x27" text="Watchdog Timer Prescaler Bits" icon="" enum="WDOG_TIMER_PRESCALE_4BITS"/>
            <bitfield name="WDCE" mask="0x10" text="Watchdog Change Enable" icon=""/>
            <bitfield name="WDE" mask="0x08" text="Watch Dog Enable" icon=""/>
          </reg>
        </registers>
        <enumerator name="WDOG_TIMER_PRESCALE_4BITS">
          <enum val="0x00" text="Oscillator Cycles 2K"/>
          <enum val="0x01" text="Oscillator Cycles 4K"/>
          <enum val="0x02" text="Oscillator Cycles 8K"/>
          <enum val="0x03" text="Oscillator Cycles 16K"/>
          <enum val="0x04" text="Oscillator Cycles 32K"/>
          <enum val="0x05" text="Oscillator Cycles 64K"/>
          <enum val="0x06" text="Oscillator Cycles 128K"/>
          <enum val="0x07" text="Oscillator Cycles 256K"/>
          <enum val="0x08" text="Oscillator Cycles 512K"/>
          <enum val="0x09" text="Oscillator Cycles 1024K"/>
        </enumerator>
      </module>
      <module class="FET" text="">
        <registers name="FET" memspace="DATAMEM" text="" icon="io_analo.bmp">
          <reg size="1" name="FCSR" offset="0xF0" text="FET Control and Status Register" icon="io_analo.bmp">
            <bitfield name="DUVRD" mask="0x08" text="Deep Under-Voltage Recovery Disable" icon=""/>
            <bitfield name="CPS" mask="0x04" text="Current Protection Status" icon=""/>
            <bitfield name="DFE" mask="0x02" text="Discharge FET Enable" icon=""/>
            <bitfield name="CFE" mask="0x01" text="Charge FET Enable" icon=""/>
          </reg>
        </registers>
      </module>
      <module class="SPI" text="">
        <registers name="SPI" memspace="DATAMEM" text="" icon="io_com.bmp">
          <reg size="1" name="SPCR" offset="0x4c" text="SPI Control Register" icon="io_flag.bmp">
            <bitfield name="SPIE" mask="0x80" text="SPI Interrupt Enable" icon=""/>
            <bitfield name="SPE" mask="0x40" text="SPI Enable" icon=""/>
            <bitfield name="DORD" mask="0x20" text="Data Order" icon=""/>
            <bitfield name="MSTR" mask="0x10" text="Master/Slave Select" icon=""/>
            <bitfield name="CPOL" mask="0x08" text="Clock polarity" icon=""/>
            <bitfield name="CPHA" mask="0x04" text="Clock Phase" icon=""/>
            <bitfield name="SPR" mask="0x03" text="SPI Clock Rate Selects" icon="" enum="COMM_SCK_RATE_3BIT"/>
          </reg>
          <reg size="1" name="SPSR" offset="0x4d" text="SPI Status Register" icon="io_flag.bmp">
            <bitfield name="SPIF" mask="0x80" text="SPI Interrupt Flag" icon=""/>
            <bitfield name="WCOL" mask="0x40" text="Write Collision Flag" icon=""/>
            <bitfield name="SPI2X" mask="0x01" text="Double SPI Speed Bit" icon=""/>
          </reg>
          <reg size="1" name="SPDR" offset="0x4e" text="SPI Data Register" icon="io_com.bmp" mask="0xFF"/>
        </registers>
        <enumerator name="COMM_SCK_RATE_3BIT">
          <enum val="0x00" text="fosc/4"/>
          <enum val="0x01" text="fosc/16"/>
          <enum val="0x02" text="fosc/64"/>
          <enum val="0x03" text="fosc/128"/>
          <enum val="0x04" text="fosc/2"/>
          <enum val="0x05" text="fosc/8"/>
          <enum val="0x06" text="fosc/32"/>
          <enum val="0x07" text="fosc/64"/>
        </enumerator>
      </module>
      <module class="EEPROM" text="">
        <registers name="EEPROM" memspace="DATAMEM" text="" icon="io_cpu.bmp">
          <reg size="2" name="EEAR" offset="0x41" text="EEPROM Read/Write Access" icon="io_cpu.bmp" mask="0x03FF"/>
          <reg size="1" name="EEDR" offset="0x40" text="EEPROM Data Register" icon="io_cpu.bmp" mask="0xFF"/>
          <reg size="1" name="EECR" offset="0x3F" text="EEPROM Control Register" icon="io_flag.bmp">
            <bitfield name="EEPM" mask="0x30" text="" icon="" enum="EEP_MODE"/>
            <bitfield name="EERIE" mask="0x08" text="EEProm Ready Interrupt Enable" icon=""/>
            <bitfield name="EEMPE" mask="0x04" text="EEPROM Master Write Enable" icon=""/>
            <bitfield name="EEPE" mask="0x02" text="EEPROM Write Enable" icon=""/>
            <bitfield name="EERE" mask="0x01" text="EEPROM Read Enable" icon=""/>
          </reg>
        </registers>
        <enumerator name="EEP_MODE">
          <enum val="0x00" text="Erase and Write in one operation"/>
          <enum val="0x01" text="Erase Only"/>
          <enum val="0x02" text="Write Only"/>
        </enumerator>
      </module>
      <module class="COULOMB_COUNTER" text="">
        <registers name="COULOMB_COUNTER" memspace="DATAMEM" text="" icon="io_analo.bmp">
          <reg size="1" name="CADCSRA" offset="0xE6" text="CC-ADC Control and Status Register A" icon="io_analo.bmp">
            <bitfield name="CADEN" mask="0x80" text="When the CADEN bit is cleared (zero), the CC-ADC is disabled. When the CADEN bit is set (one), the CC-ADC will continuously measure the voltage drop over the external sense resistor RSENSE. In Power-down, only the Regular Current detection is active. In Power-off, the CC-ADC is always disabled." icon=""/>
            <bitfield name="CADPOL" mask="0x40" text="" icon=""/>
            <bitfield name="CADUB" mask="0x20" text="CC_ADC Update Busy" icon=""/>
            <bitfield name="CADAS" mask="0x18" text="CC_ADC Accumulate Current Select Bits" icon=""/>
            <bitfield name="CADSI" mask="0x06" text="The CADSI bits determine the current sampling interval for the Regular Current detection in Power-down mode. The actual settings remain to be determined." icon=""/>
            <bitfield name="CADSE" mask="0x01" text="When the CADSE bit is written to one, the ongoing CC-ADC conversion is aborted, and the CC-ADC enters Regular Current detection mode." icon=""/>
          </reg>
          <reg size="1" name="CADCSRB" offset="0xE7" text="CC-ADC Control and Status Register B" icon="io_analo.bmp">
            <bitfield name="CADACIE" mask="0x40" text="" icon=""/>
            <bitfield name="CADRCIE" mask="0x20" text="Regular Current Interrupt Enable" icon=""/>
            <bitfield name="CADICIE" mask="0x10" text="CAD Instantenous Current Interrupt Enable" icon=""/>
            <bitfield name="CADACIF" mask="0x04" text="CC-ADC Accumulate Current Interrupt Flag" icon=""/>
            <bitfield name="CADRCIF" mask="0x02" text="CC-ADC Accumulate Current Interrupt Flag" icon=""/>
            <bitfield name="CADICIF" mask="0x01" text="CC-ADC Instantaneous Current Interrupt Flag" icon=""/>
          </reg>
          <reg size="1" name="CADCSRC" offset="0xE8" text="CC-ADC Control and Status Register C" icon="io_analo.bmp">
            <bitfield name="CADVSE" mask="0x01" text="CC-ADC Voltage Scaling Enable" icon=""/>
          </reg>
          <reg size="2" name="CADIC" offset="0xE4" text="CC-ADC Instantaneous Current" icon="io_analo.bmp" mask="0xFFFF"/>
          <reg size="1" name="CADAC3" offset="0xE3" text="ADC Accumulate Current" icon="io_analo.bmp" mask="0xFF"/>
          <reg size="1" name="CADAC2" offset="0xE2" text="ADC Accumulate Current" icon="io_analo.bmp" mask="0xFF"/>
          <reg size="1" name="CADAC1" offset="0xE1" text="ADC Accumulate Current" icon="io_analo.bmp" mask="0xFF"/>
          <reg size="1" name="CADAC0" offset="0xE0" text="ADC Accumulate Current" icon="io_analo.bmp" mask="0xFF"/>
          <reg size="1" name="CADRCC" offset="0xE9" text="CC-ADC Regular Charge Current" icon="io_analo.bmp" mask="0xFF"/>
          <reg size="1" name="CADRDC" offset="0xEA" text="CC-ADC Regular Discharge Current" icon="io_analo.bmp" mask="0xFF"/>
        </registers>
      </module>
      <module class="TWI" text="">
        <registers name="TWI" memspace="DATAMEM" text="" icon="io_com.bmp">
          <reg size="1" name="TWBCSR" offset="0xBE" text="TWI Bus Control and Status Register" icon="io_com.bmp">
            <bitfield name="TWBCIF" mask="0x80" text="TWI Bus Connect/Disconnect Interrupt Flag" icon=""/>
            <bitfield name="TWBCIE" mask="0x40" text="TWI Bus Connect/Disconnect Interrupt Enable" icon=""/>
            <bitfield name="TWBDT" mask="0x06" text="TWI Bus Disconnect Time-out Period" icon="" enum="COMM_TW_BUS_TIMEOUT"/>
            <bitfield name="TWBCIP" mask="0x01" text="TWI Bus Connect/Disconnect Interrupt Polarity" icon=""/>
          </reg>
          <reg size="1" name="TWAMR" offset="0xBD" text="TWI (Slave) Address Mask Register" icon="io_com.bmp">
            <bitfield name="TWAM" mask="0xFE" text="" icon=""/>
          </reg>
          <reg size="1" name="TWBR" offset="0xB8" text="TWI Bit Rate register" icon="io_com.bmp" mask="0xFF"/>
          <reg size="1" name="TWCR" offset="0xBC" text="TWI Control Register" icon="io_flag.bmp">
            <bitfield name="TWINT" mask="0x80" text="TWI Interrupt Flag" icon=""/>
            <bitfield name="TWEA" mask="0x40" text="TWI Enable Acknowledge Bit" icon=""/>
            <bitfield name="TWSTA" mask="0x20" text="TWI Start Condition Bit" icon=""/>
            <bitfield name="TWSTO" mask="0x10" text="TWI Stop Condition Bit" icon=""/>
            <bitfield name="TWWC" mask="0x08" text="TWI Write Collition Flag" icon=""/>
            <bitfield name="TWEN" mask="0x04" text="TWI Enable Bit" icon=""/>
            <bitfield name="TWIE" mask="0x01" text="TWI Interrupt Enable" icon=""/>
          </reg>
          <reg size="1" name="TWSR" offset="0xB9" text="TWI Status Register" icon="io_flag.bmp">
            <bitfield name="TWS" mask="0xF8" text="TWI Status" icon="" lsb="3"/>
            <bitfield name="TWPS" mask="0x03" text="TWI Prescaler" icon="" enum="COMM_TWI_PRESACLE"/>
          </reg>
          <reg size="1" name="TWDR" offset="0xBB" text="TWI Data register" icon="io_com.bmp" mask="0xFF"/>
          <reg size="1" name="TWAR" offset="0xBA" text="TWI (Slave) Address register" icon="io_com.bmp">
            <bitfield name="TWA" mask="0xFE" text="TWI (Slave) Address register Bits" icon=""/>
            <bitfield name="TWGCE" mask="0x01" text="TWI General Call Recognition Enable Bit" icon=""/>
          </reg>
        </registers>
        <enumerator name="COMM_TW_BUS_TIMEOUT">
          <enum val="0x00" text="250ms"/>
          <enum val="0x01" text="500ms"/>
          <enum val="0x02" text="1000ms"/>
          <enum val="0x03" text="2000ms"/>
        </enumerator>
        <enumerator name="COMM_TWI_PRESACLE">
          <enum val="0x00" text="1"/>
          <enum val="0x01" text="4"/>
          <enum val="0x02" text="16"/>
          <enum val="0x03" text="64"/>
        </enumerator>
      </module>
      <module class="EXTERNAL_INTERRUPT" text="">
        <registers name="EXTERNAL_INTERRUPT" memspace="DATAMEM" text="" icon="io_ext.bmp">
          <reg size="1" name="EICRA" offset="0x69" text="External Interrupt Control Register" icon="io_flag.bmp">
            <bitfield name="ISC3" mask="0xC0" text="External Interrupt Sense Control 3 Bits" icon="" enum="INTERRUPT_SENSE_CONTROL"/>
            <bitfield name="ISC2" mask="0x30" text="External Interrupt Sense Control 2 Bits" icon="" enum="INTERRUPT_SENSE_CONTROL"/>
            <bitfield name="ISC1" mask="0x0C" text="External Interrupt Sense Control 1 Bits" icon="" enum="INTERRUPT_SENSE_CONTROL"/>
            <bitfield name="ISC0" mask="0x03" text="External Interrupt Sense Control 0 Bits" icon="" enum="INTERRUPT_SENSE_CONTROL"/>
          </reg>
          <reg size="1" name="EIMSK" offset="0x3D" text="External Interrupt Mask Register" icon="io_flag.bmp">
            <bitfield name="INT" mask="0x0F" text="External Interrupt Request 3 Enable" icon=""/>
          </reg>
          <reg size="1" name="EIFR" offset="0x3C" text="External Interrupt Flag Register" icon="io_flag.bmp">
            <bitfield name="INTF" mask="0x0F" text="External Interrupt Flags" icon=""/>
          </reg>
          <reg size="1" name="PCICR" offset="0x68" text="Pin Change Interrupt Control Register" icon="io_flag.bmp">
            <bitfield name="PCIE" mask="0x03" text="Pin Change Interrupt Enables" icon=""/>
          </reg>
          <reg size="1" name="PCIFR" offset="0x3B" text="Pin Change Interrupt Flag Register" icon="io_flag.bmp">
            <bitfield name="PCIF" mask="0x03" text="Pin Change Interrupt Flags" icon=""/>
          </reg>
          <reg size="1" name="PCMSK1" offset="0x6C" text="Pin Change Enable Mask Register 1" icon="io_flag.bmp" mask="0xFF"/>
          <reg size="1" name="PCMSK0" offset="0x6B" text="Pin Change Enable Mask Register 0" icon="io_flag.bmp" mask="0x0F"/>
        </registers>
        <enumerator name="INTERRUPT_SENSE_CONTROL">
          <enum val="0x00" text="Low Level of INTX"/>
          <enum val="0x01" text="Reserved"/>
          <enum val="0x02" text="Falling Edge of INTX"/>
          <enum val="0x03" text="Rising Edge of INTX"/>
        </enumerator>
      </module>
      <module class="TIMER_COUNTER_1" text="">
        <registers name="TIMER_COUNTER_1" memspace="DATAMEM" text="" icon="io_timer.bmp">
          <reg size="1" name="TCCR1B" offset="0x81" text="Timer/Counter1 Control Register B" icon="io_flag.bmp">
            <bitfield name="CS" mask="0x07" text="Clock Select1 bis" icon="" enum="CLK_SEL_3BIT_EXT" lsb="10"/>
          </reg>
          <reg size="1" name="TCCR1A" offset="0x80" text="Timer/Counter 1 Control Register A" icon="io_flag.bmp">
            <bitfield name="TCW1" mask="0x80" text="Timer/Counter Width" icon=""/>
            <bitfield name="ICEN1" mask="0x40" text="Input Capture Mode Enable" icon=""/>
            <bitfield name="ICNC1" mask="0x20" text="Input Capture Noise Canceler" icon=""/>
            <bitfield name="ICES1" mask="0x10" text="Input Capture Edge Select" icon=""/>
            <bitfield name="ICS1" mask="0x08" text="Input Capture Select" icon=""/>
            <bitfield name="WGM10" mask="0x01" text="Waveform Generation Mode" icon=""/>
          </reg>
          <reg size="2" name="TCNT1" offset="0x84" text="Timer Counter 1  Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
          <reg size="1" name="OCR1A" offset="0x88" text="Output Compare Register 1A" icon="io_timer.bmp" mask="0xFF"/>
          <reg size="1" name="OCR1B" offset="0x89" text="Output Compare Register B" icon="io_timer.bmp" mask="0xFF"/>
          <reg size="1" name="TIMSK1" offset="0x6F" text="Timer/Counter Interrupt Mask Register" icon="io_flag.bmp">
            <bitfield name="ICIE1" mask="0x08" text="Timer/Counter n Input Capture Interrupt Enable" icon=""/>
            <bitfield name="OCIE1B" mask="0x04" text="Timer/Counter1 Output Compare B Interrupt Enable" icon=""/>
            <bitfield name="OCIE1A" mask="0x02" text="Timer/Counter1 Output Compare A Interrupt Enable" icon=""/>
            <bitfield name="TOIE1" mask="0x01" text="Timer/Counter1 Overflow Interrupt Enable" icon=""/>
          </reg>
          <reg size="1" name="TIFR1" offset="0x36" text="Timer/Counter Interrupt Flag register" icon="io_flag.bmp">
            <bitfield name="ICF1" mask="0x08" text="Timer/Counter 1 Input Capture Flag" icon=""/>
            <bitfield name="OCF1B" mask="0x04" text="Timer/Counter1 Output Compare Flag B" icon=""/>
            <bitfield name="OCF1A" mask="0x02" text="Timer/Counter1 Output Compare Flag A" icon=""/>
            <bitfield name="TOV1" mask="0x01" text="Timer/Counter1 Overflow Flag" icon=""/>
          </reg>
          <reg size="1" name="GTCCR" offset="0x43" text="General Timer/Counter Control Register" icon="io_flag.bmp">
            <bitfield name="TSM" mask="0x80" text="Timer/Counter Synchronization Mode" icon=""/>
            <bitfield name="PSRSYNC" mask="0x01" text="Prescaler Reset" icon=""/>
          </reg>
        </registers>
        <enumerator name="CLK_SEL_3BIT_EXT">
          <enum val="0x00" text="No Clock Source (Stopped)"/>
          <enum val="0x01" text="Running, No Prescaling"/>
          <enum val="0x02" text="Running, CLK/8"/>
          <enum val="0x03" text="Running, CLK/64"/>
          <enum val="0x04" text="Running, CLK/256"/>
          <enum val="0x05" text="Running, CLK/1024"/>
          <enum val="0x06" text="Running, ExtClk Tx Falling Edge"/>
          <enum val="0x07" text="Running, ExtClk Tx Rising Edge"/>
        </enumerator>
      </module>
      <module class="CELL_BALANCING" text="">
        <registers name="CELL_BALANCING" memspace="DATAMEM" text="" icon="io_analo.bmp">
          <reg size="1" name="CBCR" offset="0xF1" text="Cell Balancing Control Register" icon="io_analo.bmp">
            <bitfield name="CBE" mask="0x0F" text="Cell Balancing Enables" icon="" lsb="1"/>
          </reg>
        </registers>
      </module>
      <module class="BATTERY_PROTECTION" text="">
        <registers name="BATTERY_PROTECTION" memspace="DATAMEM" text="" icon="io_analo.bmp">
          <reg size="1" name="BPPLR" offset="0xFE" text="Battery Protection Parameter Lock Register" icon="io_analo.bmp">
            <bitfield name="BPPLE" mask="0x02" text="Battery Protection Parameter Lock Enable" icon=""/>
            <bitfield name="BPPL" mask="0x01" text="Battery Protection Parameter Lock" icon=""/>
          </reg>
          <reg size="1" name="BPCR" offset="0xFD" text="Battery Protection Control Register" icon="io_analo.bmp">
            <bitfield name="EPID" mask="0x20" text="External Protection Input Disable" icon=""/>
            <bitfield name="SCD" mask="0x10" text="Short Circuit Protection Disabled" icon=""/>
            <bitfield name="DOCD" mask="0x08" text="Discharge Over-current Protection Disabled" icon=""/>
            <bitfield name="COCD" mask="0x04" text="Charge Over-current Protection Disabled" icon=""/>
            <bitfield name="DHCD" mask="0x02" text="Discharge High-current Protection Disable" icon=""/>
            <bitfield name="CHCD" mask="0x01" text="Charge High-current Protection Disable" icon=""/>
          </reg>
          <reg size="1" name="BPHCTR" offset="0xFC" text="Battery Protection Short-current Timing Register" icon="io_analo.bmp" mask="0x3F"/>
          <reg size="1" name="BPOCTR" offset="0xFB" text="Battery Protection Over-current Timing Register" icon="io_analo.bmp" mask="0x3F"/>
          <reg size="1" name="BPSCTR" offset="0xFA" text="Battery Protection Short-current Timing Register" icon="io_analo.bmp" mask="0x7F"/>
          <reg size="1" name="BPCHCD" offset="0xF9" text="Battery Protection Charge-High-current Detection Level Register" icon="io_analo.bmp" mask="0xFF"/>
          <reg size="1" name="BPDHCD" offset="0xF8" text="Battery Protection Discharge-High-current Detection Level Register" icon="io_analo.bmp" mask="0xFF"/>
          <reg size="1" name="BPCOCD" offset="0xF7" text="Battery Protection Charge-Over-current Detection Level Register" icon="io_analo.bmp" mask="0xFF"/>
          <reg size="1" name="BPDOCD" offset="0xF6" text="Battery Protection Discharge-Over-current Detection Level Register" icon="io_analo.bmp" mask="0xFF"/>
          <reg size="1" name="BPSCD" offset="0xF5" text="Battery Protection Short-Circuit Detection Level Register" icon="io_analo.bmp" mask="0xFF"/>
          <reg size="1" name="BPIFR" offset="0xF3" text="Battery Protection Interrupt Flag Register" icon="io_analo.bmp">
            <bitfield name="SCIF" mask="0x10" text="Short-circuit Protection Activated Interrupt Flag" icon=""/>
            <bitfield name="DOCIF" mask="0x08" text="Discharge Over-current Protection Activated Interrupt Flag" icon=""/>
            <bitfield name="COCIF" mask="0x04" text="Charge Over-current Protection Activated Interrupt Flag" icon=""/>
            <bitfield name="DHCIF" mask="0x02" text="Disharge High-current Protection Activated Interrupt" icon=""/>
            <bitfield name="CHCIF" mask="0x01" text="Charge High-current Protection Activated Interrupt" icon=""/>
          </reg>
          <reg size="1" name="BPIMSK" offset="0xF2" text="Battery Protection Interrupt Mask Register" icon="io_analo.bmp">
            <bitfield name="SCIE" mask="0x10" text="Short-circuit Protection Activated Interrupt Enable" icon=""/>
            <bitfield name="DOCIE" mask="0x08" text="Discharge Over-current Protection Activated Interrupt Enable" icon=""/>
            <bitfield name="COCIE" mask="0x04" text="Charge Over-current Protection Activated Interrupt Enable" icon=""/>
            <bitfield name="DHCIE" mask="0x02" text="Discharger High-current Protection Activated Interrupt" icon=""/>
            <bitfield name="CHCIE" mask="0x01" text="Charger High-current Protection Activated Interrupt" icon=""/>
          </reg>
        </registers>
      </module>
      <module class="CHARGER_DETECT" text="">
        <registers name="CHARGER_DETECT" memspace="DATAMEM" text="" icon="io_analo.bmp">
          <reg size="1" name="CHGDCSR" offset="0xD4" text="Charger Detect Control and Status Register" icon="io_analo.bmp">
            <bitfield name="BATTPVL" mask="0x10" text="BATT Pin Voltage Level" icon=""/>
            <bitfield name="CHGDISC" mask="0x0C" text="Charger Detect Interrupt Sense Control" icon=""/>
            <bitfield name="CHGDIF" mask="0x02" text="Charger Detect Interrupt Flag" icon=""/>
            <bitfield name="CHGDIE" mask="0x01" text="Charger Detect Interrupt Enable" icon=""/>
          </reg>
        </registers>
      </module>
      <module class="VOLTAGE_REGULATOR" text="">
        <registers name="VOLTAGE_REGULATOR" memspace="DATAMEM" text="" icon="io_analo.bmp">
          <reg size="1" name="ROCR" offset="0xC8" text="Regulator Operating Condition Register" icon="io_analo.bmp">
            <bitfield name="ROCS" mask="0x80" text="ROC Status" icon=""/>
            <bitfield name="ROCD" mask="0x10" text="ROC Disable" icon=""/>
            <bitfield name="ROCWIF" mask="0x02" text="ROC Warning Interrupt Flag" icon=""/>
            <bitfield name="ROCWIE" mask="0x01" text="ROC Warning Interrupt Enable" icon=""/>
          </reg>
        </registers>
      </module>
      <module class="BANDGAP" text="">
        <registers name="BANDGAP" memspace="DATAMEM" text="" icon="io_analo.bmp">
          <reg size="1" name="BGCSR" offset="0xD2" text="Bandgap Control and Status Register" icon="io_analo.bmp">
            <bitfield name="BGD" mask="0x20" text="Bandgap Disable" icon=""/>
            <bitfield name="BGSCDE" mask="0x10" text="Bandgap Short Circuit Detection Enabled" icon=""/>
            <bitfield name="BGSCDIF" mask="0x02" text="Bandgap Short Circuit Detection Interrupt Flag" icon=""/>
            <bitfield name="BGSCDIE" mask="0x01" text="Bandgap Short Circuit Detection Interrupt Enable" icon=""/>
          </reg>
          <reg size="1" name="BGCRR" offset="0xD1" text="Bandgap Calibration of Resistor Ladder" icon="io_analo.bmp" mask="0xFF"/>
          <reg size="1" name="BGCCR" offset="0xD0" text="Bandgap Calibration Register" icon="io_analo.bmp">
            <bitfield name="BGCC" mask="0x3F" text="BG Calibration of PTAT Current Bits" icon=""/>
          </reg>
        </registers>
      </module>
      <module class="CPU" text="">
        <registers name="CPU" memspace="DATAMEM" text="" icon="io_cpu.bmp">
          <reg size="1" name="SREG" offset="0x5F" text="Status Register" icon="io_sreg.bmp">
            <bitfield name="I" mask="0x80" text="Global Interrupt Enable" icon=""/>
            <bitfield name="T" mask="0x40" text="Bit Copy Storage" icon=""/>
            <bitfield name="H" mask="0x20" text="Half Carry Flag" icon=""/>
            <bitfield name="S" mask="0x10" text="Sign Bit" icon=""/>
            <bitfield name="V" mask="0x08" text="Two's Complement Overflow Flag" icon=""/>
            <bitfield name="N" mask="0x04" text="Negative Flag" icon=""/>
            <bitfield name="Z" mask="0x02" text="Zero Flag" icon=""/>
            <bitfield name="C" mask="0x01" text="Carry Flag" icon=""/>
          </reg>
          <reg size="2" name="SP" offset="0x5D" text="Stack Pointer " icon="io_sph.bmp" mask="0xFFFF"/>
          <reg size="1" name="MCUCR" offset="0x55" text="MCU Control Register" icon="io_flag.bmp">
            <bitfield name="CKOE" mask="0x20" text="Clock Output Enable" icon=""/>
            <bitfield name="PUD" mask="0x10" text="Pull-up disable" icon=""/>
            <bitfield name="IVSEL" mask="0x02" text="Interrupt Vector Select" icon=""/>
            <bitfield name="IVCE" mask="0x01" text="Interrupt Vector Change Enable" icon=""/>
          </reg>
          <reg size="1" name="MCUSR" offset="0x54" text="MCU Status Register" icon="io_flag.bmp">
            <bitfield name="OCDRF" mask="0x10" text="OCD Reset Flag" icon=""/>
            <bitfield name="WDRF" mask="0x08" text="Watchdog Reset Flag" icon=""/>
            <bitfield name="BODRF" mask="0x04" text="Brown-out Reset Flag" icon=""/>
            <bitfield name="EXTRF" mask="0x02" text="External Reset Flag" icon=""/>
            <bitfield name="PORF" mask="0x01" text="Power-on reset flag" icon=""/>
          </reg>
          <reg size="1" name="FOSCCAL" offset="0x66" text="Fast Oscillator Calibration Value" icon="io_cpu.bmp" mask="0xFF"/>
          <reg size="1" name="OSICSR" offset="0x37" text="Oscillator Sampling Interface Control and Status Register" icon="io_cpu.bmp">
            <bitfield name="OSISEL0" mask="0x10" text="Oscillator Sampling Interface Select 0" icon=""/>
            <bitfield name="OSIST" mask="0x02" text="Oscillator Sampling Interface Status" icon=""/>
            <bitfield name="OSIEN" mask="0x01" text="Oscillator Sampling Interface Enable" icon=""/>
          </reg>
          <reg size="1" name="SMCR" offset="0x53" text="Sleep Mode Control Register" icon="io_cpu.bmp">
            <bitfield name="SM" mask="0x0E" text="Sleep Mode Select bits" icon=""/>
            <bitfield name="SE" mask="0x01" text="Sleep Enable" icon=""/>
          </reg>
          <reg size="1" name="GPIOR2" offset="0x4B" text="General Purpose IO Register 2" icon="io_cpu.bmp" mask="0xFF"/>
          <reg size="1" name="GPIOR1" offset="0x4A" text="General Purpose IO Register 1" icon="io_cpu.bmp" mask="0xFF"/>
          <reg size="1" name="GPIOR0" offset="0x3E" text="General Purpose IO Register 0" icon="io_cpu.bmp" mask="0xFF"/>
          <reg size="1" name="DIDR0" offset="0x7E" text="Digital Input Disable Register" icon="io_cpu.bmp">
            <bitfield name="PA1DID" mask="0x02" text="When this bit is written logic one, the digital input buffer of the corresponding V_ADC pin is disabled." icon=""/>
            <bitfield name="PA0DID" mask="0x01" text="When this bit is written logic one, the digital input buffer of the corresponding V_ADC pin is disabled." icon=""/>
          </reg>
          <reg size="1" name="PRR0" offset="0x64" text="Power Reduction Register 0" icon="io_cpu.bmp">
            <bitfield name="PRTWI" mask="0x40" text="Power Reduction TWI" icon=""/>
            <bitfield name="PRVRM" mask="0x20" text="Power Reduction Voltage Regulator Monitor" icon=""/>
            <bitfield name="PRSPI" mask="0x08" text="Power reduction SPI" icon=""/>
            <bitfield name="PRTIM1" mask="0x04" text="Power Reduction Timer/Counter1" icon=""/>
            <bitfield name="PRTIM0" mask="0x02" text="Power Reduction Timer/Counter0" icon=""/>
            <bitfield name="PRVADC" mask="0x01" text="Power Reduction V-ADC" icon=""/>
          </reg>
          <reg size="1" name="CLKPR" offset="0x61" text="Clock Prescale Register" icon="io_cpu.bmp">
            <bitfield name="CLKPCE" mask="0x80" text="Clock Prescaler Change Enable" icon=""/>
            <bitfield name="CLKPS" mask="0x03" text="Clock Prescaler Select Bits" icon=""/>
          </reg>
        </registers>
      </module>
      <module class="PORTA" text="">
        <registers name="PORTA" memspace="DATAMEM" text="" icon="io_port.bmp">
          <reg size="1" name="PORTA" offset="0x22" text="Port A Data Register" icon="io_port.bmp" mask="0x0F"/>
          <reg size="1" name="DDRA" offset="0x21" text="Port A Data Direction Register" icon="io_flag.bmp" mask="0x0F"/>
          <reg size="1" name="PINA" offset="0x20" text="Port A Input Pins" icon="io_port.bmp" mask="0x0F"/>
        </registers>
      </module>
      <module class="PORTB" text="">
        <registers name="PORTB" memspace="DATAMEM" text="" icon="io_port.bmp">
          <reg size="1" name="PORTB" offset="0x25" text="Port B Data Register" icon="io_port.bmp" mask="0xFF"/>
          <reg size="1" name="DDRB" offset="0x24" text="Port B Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
          <reg size="1" name="PINB" offset="0x23" text="Port B Input Pins" icon="io_port.bmp" mask="0xFF"/>
        </registers>
      </module>
      <module class="PORTC" text="">
        <registers name="PORTC" memspace="DATAMEM" text="" icon="io_port.bmp">
          <reg size="1" name="PORTC" offset="0x28" text="Port C Data Register" icon="io_port.bmp" mask="0x3F"/>
          <reg size="1" name="PINC" offset="0x26" text="Port C Input Pins" icon="io_port.bmp" mask="0x1F"/>
        </registers>
      </module>
      <module class="TIMER_COUNTER_0" text="">
        <registers name="TIMER_COUNTER_0" memspace="DATAMEM" text="" icon="io_timer.bmp">
          <reg size="1" name="TCCR0B" offset="0x45" text="Timer/Counter0 Control Register B" icon="io_flag.bmp">
            <bitfield name="CS02" mask="0x04" text="Clock Select0 bit 2" icon=""/>
            <bitfield name="CS01" mask="0x02" text="Clock Select0 bit 1" icon=""/>
            <bitfield name="CS00" mask="0x01" text="Clock Select0 bit 0" icon="" enum="CLK_SEL_3BIT_EXT"/>
          </reg>
          <reg size="1" name="TCCR0A" offset="0x44" text="Timer/Counter 0 Control Register A" icon="io_flag.bmp">
            <bitfield name="TCW0" mask="0x80" text="Timer/Counter Width" icon=""/>
            <bitfield name="ICEN0" mask="0x40" text="Input Capture Mode Enable" icon=""/>
            <bitfield name="ICNC0" mask="0x20" text="Input Capture Noise Canceler" icon=""/>
            <bitfield name="ICES0" mask="0x10" text="Input Capture Edge Select" icon=""/>
            <bitfield name="ICS0" mask="0x08" text="Input Capture Select" icon=""/>
            <bitfield name="WGM00" mask="0x01" text="Waveform Generation Mode" icon=""/>
          </reg>
          <reg size="2" name="TCNT0" offset="0x46" text="Timer Counter 0  Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
          <reg size="1" name="OCR0A" offset="0x48" text="Output Compare Register 0A" icon="io_timer.bmp" mask="0xFF"/>
          <reg size="1" name="OCR0B" offset="0x49" text="Output Compare Register B" icon="io_timer.bmp" mask="0xFF"/>
          <reg size="1" name="TIMSK0" offset="0x6E" text="Timer/Counter Interrupt Mask Register" icon="io_flag.bmp">
            <bitfield name="ICIE0" mask="0x08" text="Timer/Counter n Input Capture Interrupt Enable" icon=""/>
            <bitfield name="OCIE0B" mask="0x04" text="Timer/Counter0 Output Compare B Interrupt Enable" icon=""/>
            <bitfield name="OCIE0A" mask="0x02" text="Timer/Counter0 Output Compare A Interrupt Enable" icon=""/>
            <bitfield name="TOIE0" mask="0x01" text="Timer/Counter0 Overflow Interrupt Enable" icon=""/>
          </reg>
          <reg size="1" name="TIFR0" offset="0x35" text="Timer/Counter Interrupt Flag register" icon="io_flag.bmp">
            <bitfield name="ICF0" mask="0x08" text="Timer/Counter 0 Input Capture Flag" icon=""/>
            <bitfield name="OCF0B" mask="0x04" text="Timer/Counter0 Output Compare Flag B" icon=""/>
            <bitfield name="OCF0A" mask="0x02" text="Timer/Counter0 Output Compare Flag A" icon=""/>
            <bitfield name="TOV0" mask="0x01" text="Timer/Counter0 Overflow Flag" icon=""/>
          </reg>
          <reg size="1" name="GTCCR" offset="0x43" text="General Timer/Counter Control Register" icon="io_flag.bmp">
            <bitfield name="TSM" mask="0x80" text="Timer/Counter Synchronization Mode" icon=""/>
            <bitfield name="PSRSYNC" mask="0x01" text="Prescaler Reset" icon=""/>
          </reg>
        </registers>
        <enumerator name="CLK_SEL_3BIT_EXT">
          <enum val="0x00" text="No Clock Source (Stopped)"/>
          <enum val="0x01" text="Running, No Prescaling"/>
          <enum val="0x02" text="Running, CLK/8"/>
          <enum val="0x03" text="Running, CLK/64"/>
          <enum val="0x04" text="Running, CLK/256"/>
          <enum val="0x05" text="Running, CLK/1024"/>
          <enum val="0x06" text="Running, ExtClk Tx Falling Edge"/>
          <enum val="0x07" text="Running, ExtClk Tx Rising Edge"/>
        </enumerator>
      </module>
      <module class="BOOT_LOAD" text="">
        <registers name="BOOT_LOAD" memspace="DATAMEM" text="" icon="io_cpu.bmp">
          <reg size="1" name="SPMCSR" offset="0x57" text="Store Program Memory Control and Status Register" icon="io_flag.bmp">
            <bitfield name="SPMIE" mask="0x80" text="SPM Interrupt Enable" icon=""/>
            <bitfield name="RWWSB" mask="0x40" text="Read-While-Write Section Busy" icon=""/>
            <bitfield name="SIGRD" mask="0x20" text="Signature Row Read" icon=""/>
            <bitfield name="RWWSRE" mask="0x10" text="Read-While-Write Section Read Enable" icon=""/>
            <bitfield name="LBSET" mask="0x08" text="Lock Bit Set" icon=""/>
            <bitfield name="PGWRT" mask="0x04" text="Page Write" icon=""/>
            <bitfield name="PGERS" mask="0x02" text="Page Erase" icon=""/>
            <bitfield name="SPMEN" mask="0x01" text="Store Program Memory Enable" icon=""/>
          </reg>
        </registers>
      </module>
    </templates>
    <modules>
      <module implements="AD_CONVERTER" name="AD_CONVERTER">
        <registers implements="AD_CONVERTER" name="AD_CONVERTER" offset="0x00" text=""/>
      </module>
      <module implements="WATCHDOG" name="WATCHDOG">
        <registers implements="WATCHDOG" name="WATCHDOG" offset="0x00" text=""/>
      </module>
      <module implements="FET" name="FET">
        <registers implements="FET" name="FET" offset="0x00" text=""/>
      </module>
      <module implements="SPI" name="SPI">
        <registers implements="SPI" name="SPI" offset="0x00" text=""/>
      </module>
      <module implements="EEPROM" name="EEPROM">
        <registers implements="EEPROM" name="EEPROM" offset="0x00" text=""/>
      </module>
      <module implements="COULOMB_COUNTER" name="COULOMB_COUNTER">
        <registers implements="COULOMB_COUNTER" name="COULOMB_COUNTER" offset="0x00" text=""/>
      </module>
      <module implements="TWI" name="TWI">
        <registers implements="TWI" name="TWI" offset="0x00" text=""/>
      </module>
      <module implements="EXTERNAL_INTERRUPT" name="EXTERNAL_INTERRUPT">
        <registers implements="EXTERNAL_INTERRUPT" name="EXTERNAL_INTERRUPT" offset="0x00" text=""/>
      </module>
      <module implements="TIMER_COUNTER_1" name="TIMER_COUNTER_1">
        <registers implements="TIMER_COUNTER_1" name="TIMER_COUNTER_1" offset="0x00" text=""/>
      </module>
      <module implements="CELL_BALANCING" name="CELL_BALANCING">
        <registers implements="CELL_BALANCING" name="CELL_BALANCING" offset="0x00" text=""/>
      </module>
      <module implements="BATTERY_PROTECTION" name="BATTERY_PROTECTION">
        <registers implements="BATTERY_PROTECTION" name="BATTERY_PROTECTION" offset="0x00" text=""/>
      </module>
      <module implements="CHARGER_DETECT" name="CHARGER_DETECT">
        <registers implements="CHARGER_DETECT" name="CHARGER_DETECT" offset="0x00" text=""/>
      </module>
      <module implements="VOLTAGE_REGULATOR" name="VOLTAGE_REGULATOR">
        <registers implements="VOLTAGE_REGULATOR" name="VOLTAGE_REGULATOR" offset="0x00" text=""/>
      </module>
      <module implements="BANDGAP" name="BANDGAP">
        <registers implements="BANDGAP" name="BANDGAP" offset="0x00" text=""/>
      </module>
      <module implements="CPU" name="CPU">
        <registers implements="CPU" name="CPU" offset="0x00" text=""/>
      </module>
      <module implements="PORTA" name="PORTA">
        <registers implements="PORTA" name="PORTA" offset="0x00" text=""/>
      </module>
      <module implements="PORTB" name="PORTB">
        <registers implements="PORTB" name="PORTB" offset="0x00" text=""/>
      </module>
      <module implements="PORTC" name="PORTC">
        <registers implements="PORTC" name="PORTC" offset="0x00" text=""/>
      </module>
      <module implements="TIMER_COUNTER_0" name="TIMER_COUNTER_0">
        <registers implements="TIMER_COUNTER_0" name="TIMER_COUNTER_0" offset="0x00" text=""/>
      </module>
      <module implements="BOOT_LOAD" name="BOOT_LOAD">
        <registers implements="BOOT_LOAD" name="BOOT_LOAD" offset="0x00" text=""/>
      </module>
    </modules>
    <fuses>
      <fuse implements="FUSE" name="FUSE">
        <registers implements="FUSE" name="FUSE"/>
      </fuse>
    </fuses>
    <lockbits>
      <lockbit implements="LOCKBIT" name="LOCKBIT">
        <registers implements="LOCKBIT" name="LOCKBIT"/>
      </lockbit>
    </lockbits>
  </V2>
</AVRPART>

