Devices are printed in a pretty way.
[avr-sim.git] / devices / atmega644p
blob0865bf8f51d07792d22f6f6f66b8701dd20844f0
1 <?xml version="1.0"?>
2 <!DOCTYPE device SYSTEM "device.dtd">
3 <device>
4 <memory>
5 <flash size="65536"/>
6 <iospace start="$20" stop="$FF"/>
7 <sram size="4096"/>
8 <eram size="0"/>
9 </memory>
10 <ioregisters>
11 <ioreg name="PINA" address="$00"/>
12 <ioreg name="DDRA" address="$01"/>
13 <ioreg name="PORTA" address="$02"/>
14 <ioreg name="PINB" address="$03"/>
15 <ioreg name="DDRB" address="$04"/>
16 <ioreg name="PORTB" address="$05"/>
17 <ioreg name="PINC" address="$06"/>
18 <ioreg name="DDRC" address="$07"/>
19 <ioreg name="PORTC" address="$08"/>
20 <ioreg name="PIND" address="$09"/>
21 <ioreg name="DDRD" address="$0A"/>
22 <ioreg name="PORTD" address="$0B"/>
23 <ioreg name="TIFR0" address="$15"/>
24 <ioreg name="TIFR1" address="$16"/>
25 <ioreg name="TIFR2" address="$17"/>
26 <ioreg name="PCIFR" address="$1B"/>
27 <ioreg name="EIFR" address="$1C"/>
28 <ioreg name="EIMSK" address="$1D"/>
29 <ioreg name="GPIOR0" address="$1E"/>
30 <ioreg name="EECR" address="$1F"/>
31 <ioreg name="EEDR" address="$20"/>
32 <ioreg name="EEARL" address="$21"/>
33 <ioreg name="EEARH" address="$22"/>
34 <ioreg name="GTCCR" address="$23"/>
35 <ioreg name="TCCR0A" address="$24"/>
36 <ioreg name="TCCR0B" address="$25"/>
37 <ioreg name="TCNT0" address="$26"/>
38 <ioreg name="OCR0A" address="$27"/>
39 <ioreg name="OCR0B" address="$28"/>
40 <ioreg name="GPIOR1" address="$2A"/>
41 <ioreg name="GPIOR2" address="$2B"/>
42 <ioreg name="SPCR" address="$2C"/>
43 <ioreg name="SPSR" address="$2D"/>
44 <ioreg name="SPDR" address="$2E"/>
45 <ioreg name="ACSR" address="$30"/>
46 <ioreg name="OCDR" address="$31"/>
47 <ioreg name="SMCR" address="$33"/>
48 <ioreg name="MCUSR" address="$34"/>
49 <ioreg name="MCUCR" address="$35"/>
50 <ioreg name="SPMCSR" address="$37"/>
51 <ioreg name="RAMPZ" address="$3B"/>
52 <ioreg name="SPL" address="$3D"/>
53 <ioreg name="SPH" address="$3E"/>
54 <ioreg name="SREG" address="$3F"/>
55 <ioreg name="WDTCSR" address="$60"/>
56 <ioreg name="CLKPR" address="$61"/>
57 <ioreg name="PRR0" address="$64"/>
58 <ioreg name="OSCCAL" address="$66"/>
59 <ioreg name="PCICR" address="$68"/>
60 <ioreg name="EICRA" address="$69"/>
61 <ioreg name="PCMSK0" address="$6B"/>
62 <ioreg name="PCMSK1" address="$6C"/>
63 <ioreg name="PCMSK2" address="$6D"/>
64 <ioreg name="TIMSK0" address="$6E"/>
65 <ioreg name="TIMSK1" address="$6F"/>
66 <ioreg name="TIMSK2" address="$70"/>
67 <ioreg name="PCMSK3" address="$73"/>
68 <ioreg name="ADCL" address="$78"/>
69 <ioreg name="ADCH" address="$79"/>
70 <ioreg name="ADCSRA" address="$7A"/>
71 <ioreg name="ADCSRB" address="$7B"/>
72 <ioreg name="ADMUX" address="$7C"/>
73 <ioreg name="DIDR0" address="$7E"/>
74 <ioreg name="DIDR1" address="$7F"/>
75 <ioreg name="TCCR1A" address="$80"/>
76 <ioreg name="TCCR1B" address="$81"/>
77 <ioreg name="TCCR1C" address="$82"/>
78 <ioreg name="TCNT1L" address="$84"/>
79 <ioreg name="TCNT1H" address="$85"/>
80 <ioreg name="ICR1L" address="$86"/>
81 <ioreg name="ICR1H" address="$87"/>
82 <ioreg name="OCR1AL" address="$88"/>
83 <ioreg name="OCR1AH" address="$89"/>
84 <ioreg name="OCR1BL" address="$8A"/>
85 <ioreg name="OCR1BH" address="$8B"/>
86 <ioreg name="TCCR2A" address="$B0"/>
87 <ioreg name="TCCR2B" address="$B1"/>
88 <ioreg name="TCNT2" address="$B2"/>
89 <ioreg name="OCR2A" address="$B3"/>
90 <ioreg name="OCR2B" address="$B4"/>
91 <ioreg name="ASSR" address="$B6"/>
92 <ioreg name="TWBR" address="$B8"/>
93 <ioreg name="TWSR" address="$B9"/>
94 <ioreg name="TWAR" address="$BA"/>
95 <ioreg name="TWDR" address="$BB"/>
96 <ioreg name="TWCR" address="$BC"/>
97 <ioreg name="TWAMR" address="$BD"/>
98 <ioreg name="UCSR0A" address="$C0"/>
99 <ioreg name="UCSR0B" address="$C1"/>
100 <ioreg name="UCSR0C" address="$C2"/>
101 <ioreg name="UBRR0L" address="$C4"/>
102 <ioreg name="UBRR0H" address="$C5"/>
103 <ioreg name="UDR0" address="$C6"/>
104 <ioreg name="UCSR1A" address="$C8"/>
105 <ioreg name="UCSR1B" address="$C9"/>
106 <ioreg name="UCSR1C" address="$CA"/>
107 <ioreg name="UBRR1L" address="$CC"/>
108 <ioreg name="UBRR1H" address="$CD"/>
109 <ioreg name="UDR1" address="$CE"/>
110 </ioregisters>
111 <interrupts num="31">
112 <interrupt vector="1" address="$000" name="RESET">External Pin,Power-on Reset,Brown-out Reset,Watchdog Reset,and JTAG AVR Reset. See Datasheet. </interrupt>
113 <interrupt vector="2" address="$002" name="INT0">External Interrupt Request 0</interrupt>
114 <interrupt vector="3" address="$004" name="INT1">External Interrupt Request 1</interrupt>
115 <interrupt vector="4" address="$006" name="INT2">External Interrupt Request 2</interrupt>
116 <interrupt vector="5" address="$008" name="PCINT0">Pin Change Interrupt Request 0</interrupt>
117 <interrupt vector="6" address="$00A" name="PCINT1">Pin Change Interrupt Request 1</interrupt>
118 <interrupt vector="7" address="$00C" name="PCINT2">Pin Change Interrupt Request 2</interrupt>
119 <interrupt vector="8" address="$00E" name="PCINT3">Pin Change Interrupt Request 3</interrupt>
120 <interrupt vector="9" address="$010" name="WDT">Watchdog Time-out Interrupt</interrupt>
121 <interrupt vector="10" address="$012" name="TIMER2_COMPA">Timer/Counter2 Compare Match A</interrupt>
122 <interrupt vector="11" address="$014" name="TIMER2_COMPB">Timer/Counter2 Compare Match B</interrupt>
123 <interrupt vector="12" address="$016" name="TIMER2_OVF">Timer/Counter2 Overflow</interrupt>
124 <interrupt vector="13" address="$018" name="TIMER1_CAPT">Timer/Counter1 Capture Event</interrupt>
125 <interrupt vector="14" address="$01A" name="TIMER1_COMPA">Timer/Counter1 Compare Match A</interrupt>
126 <interrupt vector="15" address="$01C" name="TIMER1_COMPB">Timer/Counter1 Compare Match B</interrupt>
127 <interrupt vector="16" address="$01E" name="TIMER1_OVF">Timer/Counter1 Overflow</interrupt>
128 <interrupt vector="17" address="$020" name="TIMER0_COMPA">Timer/Counter0 Compare Match A</interrupt>
129 <interrupt vector="18" address="$022" name="TIMER0_COMPB">Timer/Counter0 Compare Match B</interrupt>
130 <interrupt vector="19" address="$024" name="TIMER0_OVF">Timer/Counter0 Overflow</interrupt>
131 <interrupt vector="20" address="$026" name="SPI, STC">SPI Serial Transfer Complete</interrupt>
132 <interrupt vector="21" address="$028" name="USART0, RX">USART0, Rx Complete</interrupt>
133 <interrupt vector="22" address="$02A" name="USART0, UDRE">USART0 Data register Empty</interrupt>
134 <interrupt vector="23" address="$02C" name="USART0, TX">USART0, Tx Complete</interrupt>
135 <interrupt vector="24" address="$02E" name="ANALOG_COMP">Analog Comparator</interrupt>
136 <interrupt vector="25" address="$030" name="ADC">ADC Conversion Complete</interrupt>
137 <interrupt vector="26" address="$032" name="EE_READY">EEPROM Ready</interrupt>
138 <interrupt vector="27" address="$034" name="TWI">2-wire Serial Interface</interrupt>
139 <interrupt vector="28" address="$036" name="SPM_READY">Store Program Memory Read</interrupt>
140 <interrupt vector="29" address="$038" name="USART1 RX">USART1 RX complete</interrupt>
141 <interrupt vector="30" address="$03A" name="USART1 UDRE">USART1 Data Register Empty</interrupt>
142 <interrupt vector="31" address="$03C" name="USART1 TX">USART1 TX complete</interrupt>
143 </interrupts>
144 <packages>
145 <package name="TQFP" pins="44">
146 <pin id="1" name="[PB5:MOSI:PCINT13]">MOSI: SPI Master data output, slave data input for SPI channel. When the SPI is enabled as a slave, this pin is configured as an input regardless of the setting of DDB5. When the SPI is enabled as a master, the data direction of this pin is con-trolled by DDB5. When the pin is forced to be an input, the pull-up can still be controlled by the PORTB5 bit. See the description of the SPI port for further details.</pin>
147 <pin id="2" name="[PB6:MISO:PCINT14]">MISO: Master data input, slave data output pin for SPI channel. When the SPI is enabled as a master, this pin is configured as an input regardless of the setting of DDB6. When the SPI is enabled as a slave, the data direction of this pin is controlled by DDB6. When the pin is forced to be an input, the pull-up can still be controlled by the PORTB6 bit. See the description of the SPI port for further details.</pin>
148 <pin id="3" name="[PB7:SCK:PCINT15]">SCK: Master clock output, slave clock input pin for SPI channel. When the SPI is enabled as a slave, this pin is configured as an input regardless of the setting of DDB7. When the SPI is enabled as a master, the data direction of this pin is con-trolled by DDB7. When the pin is forced to be an input, the pull-up can still be controlled by the PORTB7 bit. See the description of the SPI port for further details.</pin>
149 <pin id="4" name="['RESET]"/>
150 <pin id="5" name="[VCC]"/>
151 <pin id="6" name="[GND]"/>
152 <pin id="7" name="[XTAL2]"/>
153 <pin id="8" name="[XTAL1]"/>
154 <pin id="9" name="[PD0:RXD:PCINT24]">Receive Data (data input pin for the UART). When the UART Receiver is enabled, this pin is configured as an input, regard-less of the value of DDD0. When the UART forces this pin to be an input, a logical “1” in PORTD0 will turn on the internal pull-up.</pin>
155 <pin id="10" name="[PD1:TXD:PCINT25]">Transmit Data (data output pin for the UART). When the UART Transmitter is enabled, this pin is configured as an output, regardless of the value of DDD1.</pin>
156 <pin id="11" name="[PD2:INT0:RDX1:PCINT26]">INT0, External Interrupt source 0: The PD2 pin can serve as an external interrupt source to the MCU. See the interrupt description for further details and how to enable the source.</pin>
157 <pin id="12" name="[PD3:INT1:TXD1:PCINT27]">INT1, External Interrupt source 1: The PD3 pin can serve as an external interrupt source to the MCU. See the interrupt description for further details and how to enable the source.</pin>
158 <pin id="13" name="[PD4:OC1B:XCK1:PCINT28]">OC1B, Output compare matchB output: The PD4 pin can serve as an external output for the Timer/Counter1 output com-pareB. The pin has to be configured as an output (DDD4 set [one]) to serve this function. See the timer description on how to enable this function. The OC1B pin is also the output pin for the PWM mode timer function.</pin>
159 <pin id="14" name="[PD5:OC1A:PCINT29]">OC1A, Output compare matchA output: The PD5 pin can serve as an external output for the Timer/Counter1 output com-pareA. The pin has to be configured as an output (DDD5 set [one]) to serve this function. See the timer description on how to enable this function. The OC1A pin is also the output pin for the PWM mode timer function.</pin>
160 <pin id="15" name="[PD6:ICP:OC2B:PCINT30]">ICP – Input Capture Pin: The PD6 pin can act as an input capture pin for Timer/Counter1. The pin has to be configured as an input (DDD6 cleared [zero]) to serve this function. See the timer description on how to enable this function.</pin>
161 <pin id="16" name="[PD7:OC2A:PCINT31]">OC2, Timer/Counter2 output compare match output: The PD7 pin can serve as an external output for the Timer/Counter2 output compare. The pin has to be configured as an output (DDD7 set [one]) to serve this function. See the timer descrip-tion on how to enable this function. The OC2 pin is also the output pin for the PWM mode timer function.</pin>
162 <pin id="17" name="[VCC]"/>
163 <pin id="18" name="[GND]"/>
164 <pin id="19" name="[PC0:SCL:PCINT16]">SCL, 2-wire Serial Interface Clock: When the TWEN bit in TWCR is set (one) to enable the 2-wire Serial Interface, pin PC1 is disconnected from the port and becomes the Serial Clock I/O pin for the 2-wire Serial Interface. In this mode, there is a spike filter on the pin to capture spikes shorter than 50 ns on the input signal.</pin>
165 <pin id="20" name="[PC1:SDA:PCINT17]">SDA, 2-wire Serial Bus Data: When the TWEN bit in TWCR is set (one) to enable the 2-wire Serial Interface, pin PC1 is dis-connected from the port and becomes the Serial Data I/O pin for the 2-wire Serial Interface. In this mode, there is a spike filter on the pin to capture spikes shorter than 50 ns on the input signal, and the pin is driven by an open collector driver with slew rate limitation.</pin>
166 <pin id="21" name="[PC2:TCK:PCINT18]">TCK, JTAG Test Clock: JTAG operation is synchronous to TCK. When the JTAG interface is enabled, this pin can not be used as an I/O pin. Refer to the section “JTAG Interface and the On-Chip Debug System” on page 130 for details on operation of the JTAG interface</pin>
167 <pin id="22" name="[PC3:TMS:PCINT19]">TMS, JTAG Test Mode Select: This pin is used for navigating through the TAP-controller state machine. When the JTAG interface is enabled, this pin can not be used as an I/O pin. Refer to the section “JTAG Interface and the On-Chip Debug System” on page 130 for details on operation of the JTAG interface.</pin>
168 <pin id="23" name="[PC4:TDO:PCINT20]">TDO, JTAG Test Data Out: Serial output data from Instruction register or Data Register. When the JTAG interface is enabled, this pin can not be used as an I/O pin. Refer to the section “JTAG Interface and the On-Chip Debug System” on page 130 for details on operation of the JTAG interface.</pin>
169 <pin id="24" name="[PC5:TDI:PCINT21]">TDI, JTAG Test Data In: Serial input data to be shifted in to the Instruction Register or Data Register (scan chains). When the JTAG interface is enabled, this pin can not be used as an I/O pin. Refer to the section “JTAG Interface and the On-Chip Debug System” on page 130 for details on operation of the JTAG interface.</pin>
170 <pin id="25" name="[PC6:TOSC1:PCINT22]">TOSC1, Timer Oscillator pin 1: When the AS2 bit in ASSR is set (one) to enable asynchronous clocking of Timer/Counter1, pin PC6 is disconnected from the port, and becomes the input of the inverting oscillator amplifier. In this mode, a crystal oscillator is connected to this pin, and the pin can not be used as an I/O pin.</pin>
171 <pin id="26" name="[PC7:TOSC2:PCINT23]">TOSC2, Timer Oscillator pin 2: When the AS2 bit in ASSR is set (one) to enable asynchronous clocking of Timer/Counter2, pin PC7 is disconnected from the port, and becomes the inverting output of the oscillator amplifier. In this mode, a crystal oscillator is connected to this pin, and the pin can not be used as an I/O pin.</pin>
172 <pin id="27" name="[AVCC]"/>
173 <pin id="28" name="[AGND]"/>
174 <pin id="29" name="[AREF]"/>
175 <pin id="30" name="[PA7:ADC7:PCINT7]"/>
176 <pin id="31" name="[PA6:ADC6:PCINT6]"/>
177 <pin id="32" name="[PA5:ADC5:PCINT5]"/>
178 <pin id="33" name="[PA4:ADC4:PCINT4]"/>
179 <pin id="34" name="[PA3:ADC3:PCINT3]"/>
180 <pin id="35" name="[PA2:ADC2:PCINT2]"/>
181 <pin id="36" name="[PA1:ADC1:PCINT1]"/>
182 <pin id="37" name="[PA0:ADC0:PCINT0]"/>
183 <pin id="38" name="[VCC]"/>
184 <pin id="39" name="[GND]"/>
185 <pin id="40" name="[PB0:XCK:T0:PCINT9]">T0, Timer/Counter0 counter source. See the timer description for further details. XCK, USART external clock. See the USART description for further details.</pin>
186 <pin id="41" name="[PB1:T1:CLKO:PCINT9]">T1: Timer/Counter1 counter source. See the timer description for further details</pin>
187 <pin id="42" name="[PB2:AIN0:INT2:PCINT10]">AIN0, Analog Comparator Positive Input. When configured as an input (DDB2 is cleared (zero)) and with the internal MOS pull up resistor switched off (PB2 is cleared (zero)), this pin also serves as the positive input of the on-chip analog compar-ator. During power down mode, the schmitt trigger of the digital input is disconnected if INT2 is not enabled. This allows analog signals which are close to V CC /2 to be present during power down without causing excessive power consumption. INT2, External Interrupt source 2: The PB2 pin can serve as an external interrupt source to the MCU. See “MCU Control and Status Register - MCUCSR” for further detail</pin>
188 <pin id="43" name="[PB3:AIN1:OC0A:PCINT11]">AIN1, Analog Comparator Negative Input. When configured as an input (DDB3 is cleared (zero)) and with the internal MOS pull up resistor switched off (PB3 is cleared (zero)), this pin also serves as the negative input of the on-chip analog compar-ator. During power down mode, the schmitt trigger of the digital input is disconnected. This allows analog signals which are close to V CC /2 to be present during power down without causing excessive power consumption. OC0, Output compare match output: The PB3 pin can serve as an external output for the Timer/Counter0 compare match. The PB3 pin has to be configured as an output (DDB3 set (one)) to serve this function. See “8-bit Timers/Counters T/C0 and T/C2” for further details, and how to enable the output. The OC0 pin is also the output pin for the PWM mode timer funct</pin>
189 <pin id="44" name="[PB4:'SS:OC0B:PCINT12]">SS: Slave port select input. When the SPI is enabled as a slave, this pin is configured as an input regardless of the setting of DDB4. As a slave, the SPI is activated when this pin is driven low. When the SPI is enabled as a master, the data direc-tion of this pin is controlled by DDB4. When the pin is forced to be an input, the pull-up can still be controlled by the PORTB4 bit. See the description of the SPI port for further details.</pin>
190 </package>
191 </packages>
192 <hardware>
193 <!--Everything after this needs editing!!!-->
194 <module class="FUSE">
195 <registers name="FUSE" memspace="FUSE">
196 <reg size="1" name="EXTENDED" offset="0x02">
197 <bitfield name="BODLEVEL" mask="0x07" text="Brown-out Detector trigger level" icon="" enum="ENUM_BODLEVEL"/>
198 </reg>
199 <reg size="1" name="HIGH" offset="0x01">
200 <bitfield name="OCDEN" mask="0x80" text="On-Chip Debug Enabled" icon=""/>
201 <bitfield name="JTAGEN" mask="0x40" text="JTAG Interface Enabled" icon=""/>
202 <bitfield name="SPIEN" mask="0x20" text="Serial program downloading (SPI) enabled" icon=""/>
203 <bitfield name="WDTON" mask="0x10" text="Watchdog timer always on" icon=""/>
204 <bitfield name="EESAVE" mask="0x08" text="Preserve EEPROM through the Chip Erase cycle" icon=""/>
205 <bitfield name="BOOTSZ" mask="0x06" text="Select Boot Size" icon="" enum="ENUM_BOOTSZ"/>
206 <bitfield name="BOOTRST" mask="0x01" text="Boot Reset vector Enabled" icon=""/>
207 </reg>
208 <reg size="1" name="LOW" offset="0x00">
209 <bitfield name="CKDIV8" mask="0x80" text="Divide clock by 8 internally" icon=""/>
210 <bitfield name="CKOUT" mask="0x40" text="Clock output on PORTB1" icon=""/>
211 <bitfield name="SUT_CKSEL" mask="0x3F" text="Select Clock Source" icon="" enum="ENUM_SUT_CKSEL"/>
212 </reg>
213 </registers>
214 </module>
215 <module class="LOCKBIT">
216 <registers name="LOCKBIT" memspace="LOCKBIT">
217 <reg size="1" name="LOCKBIT" offset="0x00">
218 <bitfield name="LB" mask="0x03" text="Memory Lock" icon="" enum="ENUM_LB"/>
219 <bitfield name="BLB0" mask="0x0C" text="Boot Loader Protection Mode" icon="" enum="ENUM_BLB"/>
220 <bitfield name="BLB1" mask="0x30" text="Boot Loader Protection Mode" icon="" enum="ENUM_BLB2"/>
221 </reg>
222 </registers>
223 </module>
224 <module class="ANALOG_COMPARATOR">
225 <registers name="ANALOG_COMPARATOR" memspace="DATAMEM" text="" icon="io_analo.bmp">
226 <reg size="1" name="ADCSRB" offset="0x7B" text="ADC Control and Status Register B" icon="io_flag.bmp">
227 <bitfield name="ACME" mask="0x40" text="Analog Comparator Multiplexer Enable" icon=""/>
228 </reg>
229 <reg size="1" name="ACSR" offset="0x50" text="Analog Comparator Control And Status Register" icon="io_analo.bmp">
230 <bitfield name="ACD" mask="0x80" text="Analog Comparator Disable" icon=""/>
231 <bitfield name="ACBG" mask="0x40" text="Analog Comparator Bandgap Select" icon=""/>
232 <bitfield name="ACO" mask="0x20" text="Analog Compare Output" icon=""/>
233 <bitfield name="ACI" mask="0x10" text="Analog Comparator Interrupt Flag" icon=""/>
234 <bitfield name="ACIE" mask="0x08" text="Analog Comparator Interrupt Enable" icon=""/>
235 <bitfield name="ACIC" mask="0x04" text="Analog Comparator Input Capture Enable" icon=""/>
236 <bitfield name="ACIS" mask="0x03" text="Analog Comparator Interrupt Mode Select bits" icon="" enum="ANALOG_COMP_INTERRUPT"/>
237 </reg>
238 <reg size="1" name="DIDR1" offset="0x7F" text="Digital Input Disable Register 1" icon="io_analo.bmp">
239 <bitfield name="AIN1D" mask="0x02" text="AIN1 Digital Input Disable" icon=""/>
240 <bitfield name="AIN0D" mask="0x01" text="AIN0 Digital Input Disable" icon=""/>
241 </reg>
242 </registers>
243 </module>
244 <module class="USART0">
245 <registers name="USART0" memspace="DATAMEM" text="" icon="io_com.bmp">
246 <reg size="1" name="UDR0" offset="0xC6" text="USART I/O Data Register" icon="io_com.bmp" mask="0xFF"/>
247 <reg size="1" name="UCSR0A" offset="0xC0" text="USART Control and Status Register A" icon="io_flag.bmp">
248 <bitfield name="RXC0" mask="0x80" text="USART Receive Complete" icon=""/>
249 <bitfield name="TXC0" mask="0x40" text="USART Transmitt Complete" icon=""/>
250 <bitfield name="UDRE0" mask="0x20" text="USART Data Register Empty" icon=""/>
251 <bitfield name="FE0" mask="0x10" text="Framing Error" icon=""/>
252 <bitfield name="DOR0" mask="0x08" text="Data overRun" icon=""/>
253 <bitfield name="UPE0" mask="0x04" text="Parity Error" icon=""/>
254 <bitfield name="U2X0" mask="0x02" text="Double the USART transmission speed" icon=""/>
255 <bitfield name="MPCM0" mask="0x01" text="Multi-processor Communication Mode" icon=""/>
256 </reg>
257 <reg size="1" name="UCSR0B" offset="0xC1" text="USART Control and Status Register B" icon="io_flag.bmp">
258 <bitfield name="RXCIE0" mask="0x80" text="RX Complete Interrupt Enable" icon=""/>
259 <bitfield name="TXCIE0" mask="0x40" text="TX Complete Interrupt Enable" icon=""/>
260 <bitfield name="UDRIE0" mask="0x20" text="USART Data register Empty Interrupt Enable" icon=""/>
261 <bitfield name="RXEN0" mask="0x10" text="Receiver Enable" icon=""/>
262 <bitfield name="TXEN0" mask="0x08" text="Transmitter Enable" icon=""/>
263 <bitfield name="UCSZ02" mask="0x04" text="Character Size" icon=""/>
264 <bitfield name="RXB80" mask="0x02" text="Receive Data Bit 8" icon=""/>
265 <bitfield name="TXB80" mask="0x01" text="Transmit Data Bit 8" icon=""/>
266 </reg>
267 <reg size="1" name="UCSR0C" offset="0xC2" text="USART Control and Status Register C" icon="io_flag.bmp">
268 <bitfield name="UMSEL0" mask="0xC0" text="USART Mode Select" icon="" enum="COMM_USART_MODE"/>
269 <bitfield name="UPM0" mask="0x30" text="Parity Mode Bits" icon="" enum="COMM_UPM_PARITY_MODE"/>
270 <bitfield name="USBS0" mask="0x08" text="Stop Bit Select" icon="" enum="COMM_STOP_BIT_SEL"/>
271 <bitfield name="UCSZ0" mask="0x06" text="Character Size" icon=""/>
272 <bitfield name="UCPOL0" mask="0x01" text="Clock Polarity" icon=""/>
273 </reg>
274 <reg size="2" name="UBRR0" offset="0xC4" text="USART Baud Rate Register Bytes" icon="io_com.bmp" mask="0x0FFF"/>
275 </registers>
276 </module>
277 <module class="PORTA">
278 <registers name="PORTA" memspace="DATAMEM" text="" icon="io_port.bmp">
279 <reg size="1" name="PORTA" offset="0x22" text="Port A Data Register" icon="io_port.bmp" mask="0xFF"/>
280 <reg size="1" name="DDRA" offset="0x21" text="Port A Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
281 <reg size="1" name="PINA" offset="0x20" text="Port A Input Pins" icon="io_port.bmp" mask="0xFF"/>
282 </registers>
283 </module>
284 <module class="PORTB">
285 <registers name="PORTB" memspace="DATAMEM" text="" icon="io_port.bmp">
286 <reg size="1" name="PORTB" offset="0x25" text="Port B Data Register" icon="io_port.bmp" mask="0xFF"/>
287 <reg size="1" name="DDRB" offset="0x24" text="Port B Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
288 <reg size="1" name="PINB" offset="0x23" text="Port B Input Pins" icon="io_port.bmp" mask="0xFF"/>
289 </registers>
290 </module>
291 <module class="PORTC">
292 <registers name="PORTC" memspace="DATAMEM" text="" icon="io_port.bmp">
293 <reg size="1" name="PORTC" offset="0x28" text="Port C Data Register" icon="io_port.bmp" mask="0xFF"/>
294 <reg size="1" name="DDRC" offset="0x27" text="Port C Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
295 <reg size="1" name="PINC" offset="0x26" text="Port C Input Pins" icon="io_port.bmp" mask="0xFF"/>
296 </registers>
297 </module>
298 <module class="PORTD">
299 <registers name="PORTD" memspace="DATAMEM" text="" icon="io_port.bmp">
300 <reg size="1" name="PORTD" offset="0x2B" text="Port D Data Register" icon="io_port.bmp" mask="0xFF"/>
301 <reg size="1" name="DDRD" offset="0x2A" text="Port D Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
302 <reg size="1" name="PIND" offset="0x29" text="Port D Input Pins" icon="io_port.bmp" mask="0xFF"/>
303 </registers>
304 </module>
305 <module class="TIMER_COUNTER_0">
306 <registers name="TIMER_COUNTER_0" memspace="DATAMEM" text="" icon="io_timer.bmp">
307 <reg size="1" name="OCR0B" offset="0x48" text="Timer/Counter0 Output Compare Register" icon="io_timer.bmp" mask="0xFF"/>
308 <reg size="1" name="OCR0A" offset="0x47" text="Timer/Counter0 Output Compare Register" icon="io_timer.bmp" mask="0xFF"/>
309 <reg size="1" name="TCNT0" offset="0x46" text="Timer/Counter0" icon="io_timer.bmp" mask="0xFF"/>
310 <reg size="1" name="TCCR0B" offset="0x45" text="Timer/Counter Control Register B" icon="io_flag.bmp">
311 <bitfield name="FOC0A" mask="0x80" text="Force Output Compare A" icon=""/>
312 <bitfield name="FOC0B" mask="0x40" text="Force Output Compare B" icon=""/>
313 <bitfield name="WGM02" mask="0x08" text="" icon=""/>
314 <bitfield name="CS0" mask="0x07" text="Clock Select" icon="" enum="CLK_SEL_3BIT_EXT"/>
315 </reg>
316 <reg size="1" name="TCCR0A" offset="0x44" text="Timer/Counter Control Register A" icon="io_flag.bmp">
317 <bitfield name="COM0A" mask="0xC0" text="Compare Output Mode, Phase Correct PWM Mode" icon=""/>
318 <bitfield name="COM0B" mask="0x30" text="Compare Output Mode, Fast PWm" icon=""/>
319 <bitfield name="WGM0" mask="0x03" text="Waveform Generation Mode" icon=""/>
320 </reg>
321 <reg size="1" name="TIMSK0" offset="0x6E" text="Timer/Counter0 Interrupt Mask Register" icon="io_flag.bmp">
322 <bitfield name="OCIE0B" mask="0x04" text="Timer/Counter0 Output Compare Match B Interrupt Enable" icon=""/>
323 <bitfield name="OCIE0A" mask="0x02" text="Timer/Counter0 Output Compare Match A Interrupt Enable" icon=""/>
324 <bitfield name="TOIE0" mask="0x01" text="Timer/Counter0 Overflow Interrupt Enable" icon=""/>
325 </reg>
326 <reg size="1" name="TIFR0" offset="0x35" text="Timer/Counter0 Interrupt Flag register" icon="io_flag.bmp">
327 <bitfield name="OCF0B" mask="0x04" text="Timer/Counter0 Output Compare Flag 0B" icon=""/>
328 <bitfield name="OCF0A" mask="0x02" text="Timer/Counter0 Output Compare Flag 0A" icon=""/>
329 <bitfield name="TOV0" mask="0x01" text="Timer/Counter0 Overflow Flag" icon=""/>
330 </reg>
331 <reg size="1" name="GTCCR" offset="0x43" text="General Timer/Counter Control Register" icon="io_flag.bmp">
332 <bitfield name="TSM" mask="0x80" text="Timer/Counter Synchronization Mode" icon=""/>
333 <bitfield name="PSRSYNC" mask="0x01" text="Prescaler Reset Timer/Counter1 and Timer/Counter0" icon=""/>
334 </reg>
335 </registers>
336 </module>
337 <module class="TIMER_COUNTER_2">
338 <registers name="TIMER_COUNTER_2" memspace="DATAMEM" text="" icon="io_timer.bmp">
339 <reg size="1" name="TIMSK2" offset="0x70" text="Timer/Counter Interrupt Mask register" icon="io_flag.bmp">
340 <bitfield name="OCIE2B" mask="0x04" text="Timer/Counter2 Output Compare Match B Interrupt Enable" icon=""/>
341 <bitfield name="OCIE2A" mask="0x02" text="Timer/Counter2 Output Compare Match A Interrupt Enable" icon=""/>
342 <bitfield name="TOIE2" mask="0x01" text="Timer/Counter2 Overflow Interrupt Enable" icon=""/>
343 </reg>
344 <reg size="1" name="TIFR2" offset="0x37" text="Timer/Counter Interrupt Flag Register" icon="io_flag.bmp">
345 <bitfield name="OCF2B" mask="0x04" text="Output Compare Flag 2B" icon=""/>
346 <bitfield name="OCF2A" mask="0x02" text="Output Compare Flag 2A" icon=""/>
347 <bitfield name="TOV2" mask="0x01" text="Timer/Counter2 Overflow Flag" icon=""/>
348 </reg>
349 <reg size="1" name="TCCR2A" offset="0xB0" text="Timer/Counter2 Control Register A" icon="io_flag.bmp">
350 <bitfield name="COM2A" mask="0xC0" text="Compare Output Mode bits" icon=""/>
351 <bitfield name="COM2B" mask="0x30" text="Compare Output Mode bits" icon=""/>
352 <bitfield name="WGM2" mask="0x03" text="Waveform Genration Mode" icon=""/>
353 </reg>
354 <reg size="1" name="TCCR2B" offset="0xB1" text="Timer/Counter2 Control Register B" icon="io_flag.bmp">
355 <bitfield name="FOC2A" mask="0x80" text="Force Output Compare A" icon=""/>
356 <bitfield name="FOC2B" mask="0x40" text="Force Output Compare B" icon=""/>
357 <bitfield name="WGM22" mask="0x08" text="Waveform Generation Mode" icon=""/>
358 <bitfield name="CS2" mask="0x07" text="Clock Select bits" icon="" enum="CLK_SEL_3BIT"/>
359 </reg>
360 <reg size="1" name="TCNT2" offset="0xB2" text="Timer/Counter2" icon="io_timer.bmp" mask="0xFF"/>
361 <reg size="1" name="OCR2B" offset="0xB4" text="Timer/Counter2 Output Compare Register B" icon="io_timer.bmp" mask="0xFF"/>
362 <reg size="1" name="OCR2A" offset="0xB3" text="Timer/Counter2 Output Compare Register A" icon="io_timer.bmp" mask="0xFF"/>
363 <reg size="1" name="ASSR" offset="0xB6" text="Asynchronous Status Register" icon="io_flag.bmp">
364 <bitfield name="EXCLK" mask="0x40" text="Enable External Clock Input" icon=""/>
365 <bitfield name="AS2" mask="0x20" text="Asynchronous Timer/Counter2" icon=""/>
366 <bitfield name="TCN2UB" mask="0x10" text="Timer/Counter2 Update Busy" icon=""/>
367 <bitfield name="OCR2AUB" mask="0x08" text="Output Compare Register2 Update Busy" icon=""/>
368 <bitfield name="OCR2BUB" mask="0x04" text="Output Compare Register 2 Update Busy" icon=""/>
369 <bitfield name="TCR2AUB" mask="0x02" text="Timer/Counter Control Register2 Update Busy" icon=""/>
370 <bitfield name="TCR2BUB" mask="0x01" text="Timer/Counter Control Register2 Update Busy" icon=""/>
371 </reg>
372 <reg size="1" name="GTCCR" offset="0x43" text="General Timer Counter Control register" icon="io_flag.bmp">
373 <bitfield name="TSM" mask="0x80" text="Timer/Counter Synchronization Mode" icon=""/>
374 <bitfield name="PSRASY" mask="0x02" text="Prescaler Reset Timer/Counter2" icon=""/>
375 </reg>
376 </registers>
377 </module>
378 <module class="WATCHDOG">
379 <registers name="WATCHDOG" memspace="DATAMEM" text="" icon="io_watch.bmp">
380 <reg size="1" name="WDTCSR" offset="0x60" text="Watchdog Timer Control Register" icon="io_flag.bmp">
381 <bitfield name="WDIF" mask="0x80" text="Watchdog Timeout Interrupt Flag" icon=""/>
382 <bitfield name="WDIE" mask="0x40" text="Watchdog Timeout Interrupt Enable" icon=""/>
383 <bitfield name="WDP" mask="0x27" text="Watchdog Timer Prescaler Bits" icon="" enum="WDOG_TIMER_PRESCALE_4BITS"/>
384 <bitfield name="WDCE" mask="0x10" text="Watchdog Change Enable" icon=""/>
385 <bitfield name="WDE" mask="0x08" text="Watch Dog Enable" icon=""/>
386 </reg>
387 </registers>
388 </module>
389 <module class="JTAG">
390 <registers name="JTAG" memspace="DATAMEM" text="" icon="io_com.bmp">
391 <reg size="1" name="OCDR" offset="0x51" text="On-Chip Debug Related Register in I/O Memory" icon="io_com.bmp" mask="0xFF"/>
392 <reg size="1" name="MCUCR" offset="0x55" text="MCU Control Register" icon="io_flag.bmp">
393 <bitfield name="JTD" mask="0x80" text="JTAG Interface Disable" icon=""/>
394 </reg>
395 <reg size="1" name="MCUSR" offset="0x54" text="MCU Status Register" icon="io_flag.bmp">
396 <bitfield name="JTRF" mask="0x10" text="JTAG Reset Flag" icon=""/>
397 </reg>
398 </registers>
399 </module>
400 <module class="BOOT_LOAD">
401 <registers name="BOOT_LOAD" memspace="DATAMEM" text="" icon="io_cpu.bmp">
402 <reg size="1" name="SPMCSR" offset="0x57" text="Store Program Memory Control Register" icon="io_flag.bmp">
403 <bitfield name="SPMIE" mask="0x80" text="SPM Interrupt Enable" icon=""/>
404 <bitfield name="RWWSB" mask="0x40" text="Read While Write Section Busy" icon=""/>
405 <bitfield name="SIGRD" mask="0x20" text="Signature Row Read" icon=""/>
406 <bitfield name="RWWSRE" mask="0x10" text="Read While Write section read enable" icon=""/>
407 <bitfield name="BLBSET" mask="0x08" text="Boot Lock Bit Set" icon=""/>
408 <bitfield name="PGWRT" mask="0x04" text="Page Write" icon=""/>
409 <bitfield name="PGERS" mask="0x02" text="Page Erase" icon=""/>
410 <bitfield name="SPMEN" mask="0x01" text="Store Program Memory Enable" icon=""/>
411 </reg>
412 </registers>
413 </module>
414 <module class="EXTERNAL_INTERRUPT">
415 <registers name="EXTERNAL_INTERRUPT" memspace="DATAMEM" text="" icon="io_ext.bmp">
416 <reg size="1" name="EICRA" offset="0x69" text="External Interrupt Control Register A" icon="io_flag.bmp">
417 <bitfield name="ISC2" mask="0x30" text="External Interrupt Sense Control Bit" icon="" enum="INTERRUPT_SENSE_CONTROL"/>
418 <bitfield name="ISC1" mask="0x0C" text="External Interrupt Sense Control Bit" icon="" enum="INTERRUPT_SENSE_CONTROL"/>
419 <bitfield name="ISC0" mask="0x03" text="External Interrupt Sense Control Bit" icon="" enum="INTERRUPT_SENSE_CONTROL"/>
420 </reg>
421 <reg size="1" name="EIMSK" offset="0x3D" text="External Interrupt Mask Register" icon="io_flag.bmp">
422 <bitfield name="INT" mask="0x07" text="External Interrupt Request 2 Enable" icon=""/>
423 </reg>
424 <reg size="1" name="EIFR" offset="0x3C" text="External Interrupt Flag Register" icon="io_flag.bmp">
425 <bitfield name="INTF" mask="0x07" text="External Interrupt Flags" icon=""/>
426 </reg>
427 <reg size="1" name="PCMSK3" offset="0x73" text="Pin Change Mask Register 3" icon="io_flag.bmp">
428 <bitfield name="PCINT" mask="0xFF" text="Pin Change Enable Masks" icon="" lsb="24"/>
429 </reg>
430 <reg size="1" name="PCMSK2" offset="0x6D" text="Pin Change Mask Register 2" icon="io_flag.bmp">
431 <bitfield name="PCINT" mask="0xFF" text="Pin Change Enable Masks" icon="" lsb="16"/>
432 </reg>
433 <reg size="1" name="PCMSK1" offset="0x6C" text="Pin Change Mask Register 1" icon="io_flag.bmp">
434 <bitfield name="PCINT" mask="0xFF" text="Pin Change Enable Masks" icon="" lsb="8"/>
435 </reg>
436 <reg size="1" name="PCMSK0" offset="0x6B" text="Pin Change Mask Register 0" icon="io_flag.bmp">
437 <bitfield name="PCINT" mask="0xFF" text="Pin Change Enable Masks" icon=""/>
438 </reg>
439 <reg size="1" name="PCIFR" offset="0x3B" text="Pin Change Interrupt Flag Register" icon="io_flag.bmp">
440 <bitfield name="PCIF" mask="0x0F" text="Pin Change Interrupt Flags" icon=""/>
441 </reg>
442 <reg size="1" name="PCICR" offset="0x68" text="Pin Change Interrupt Control Register" icon="io_flag.bmp">
443 <bitfield name="PCIE" mask="0x0F" text="Pin Change Interrupt Enables" icon=""/>
444 </reg>
445 </registers>
446 </module>
447 <module class="AD_CONVERTER">
448 <registers name="AD_CONVERTER" memspace="DATAMEM" text="" icon="io_analo.bmp">
449 <reg size="1" name="ADMUX" offset="0x7C" text="The ADC multiplexer Selection Register" icon="io_analo.bmp">
450 <bitfield name="REFS" mask="0xC0" text="Reference Selection Bits" icon="" enum="ANALOG_ADC_V_REF6"/>
451 <bitfield name="ADLAR" mask="0x20" text="Left Adjust Result" icon=""/>
452 <bitfield name="MUX" mask="0x1F" text="Analog Channel and Gain Selection Bits" icon=""/>
453 </reg>
454 <reg size="2" name="ADC" offset="0x78" text="ADC Data Register Bytes" icon="io_analo.bmp" mask="0xFFFF"/>
455 <reg size="1" name="ADCSRA" offset="0x7A" text="The ADC Control and Status register A" icon="io_flag.bmp">
456 <bitfield name="ADEN" mask="0x80" text="ADC Enable" icon=""/>
457 <bitfield name="ADSC" mask="0x40" text="ADC Start Conversion" icon=""/>
458 <bitfield name="ADATE" mask="0x20" text="ADC Auto Trigger Enable" icon=""/>
459 <bitfield name="ADIF" mask="0x10" text="ADC Interrupt Flag" icon=""/>
460 <bitfield name="ADIE" mask="0x08" text="ADC Interrupt Enable" icon=""/>
461 <bitfield name="ADPS" mask="0x07" text="ADC Prescaler Select Bits" icon="" enum="ANALIG_ADC_PRESCALER"/>
462 </reg>
463 <reg size="1" name="ADCSRB" offset="0x7B" text="The ADC Control and Status register B" icon="io_flag.bmp">
464 <bitfield name="ACME" mask="0x40" text="" icon=""/>
465 <bitfield name="ADTS" mask="0x07" text="ADC Auto Trigger Source bits" icon="" enum="ANALIG_ADC_AUTO_TRIGGER"/>
466 </reg>
467 <reg size="1" name="DIDR0" offset="0x7E" text="Digital Input Disable Register" icon="io_analo.bmp">
468 <bitfield name="ADC7D" mask="0x80" text="" icon=""/>
469 <bitfield name="ADC6D" mask="0x40" text="" icon=""/>
470 <bitfield name="ADC5D" mask="0x20" text="" icon=""/>
471 <bitfield name="ADC4D" mask="0x10" text="" icon=""/>
472 <bitfield name="ADC3D" mask="0x08" text="" icon=""/>
473 <bitfield name="ADC2D" mask="0x04" text="" icon=""/>
474 <bitfield name="ADC1D" mask="0x02" text="" icon=""/>
475 <bitfield name="ADC0D" mask="0x01" text="" icon=""/>
476 </reg>
477 </registers>
478 </module>
479 <module class="TIMER_COUNTER_1">
480 <registers name="TIMER_COUNTER_1" memspace="DATAMEM" text="" icon="io_timer.bmp">
481 <reg size="1" name="TIMSK1" offset="0x6F" text="Timer/Counter1 Interrupt Mask Register" icon="io_flag.bmp">
482 <bitfield name="ICIE1" mask="0x20" text="Timer/Counter1 Input Capture Interrupt Enable" icon=""/>
483 <bitfield name="OCIE1B" mask="0x04" text="Timer/Counter1 Output Compare B Match Interrupt Enable" icon=""/>
484 <bitfield name="OCIE1A" mask="0x02" text="Timer/Counter1 Output Compare A Match Interrupt Enable" icon=""/>
485 <bitfield name="TOIE1" mask="0x01" text="Timer/Counter1 Overflow Interrupt Enable" icon=""/>
486 </reg>
487 <reg size="1" name="TIFR1" offset="0x36" text="Timer/Counter Interrupt Flag register" icon="io_flag.bmp">
488 <bitfield name="ICF1" mask="0x20" text="Timer/Counter1 Input Capture Flag" icon=""/>
489 <bitfield name="OCF1B" mask="0x04" text="Timer/Counter1 Output Compare B Match Flag" icon=""/>
490 <bitfield name="OCF1A" mask="0x02" text="Timer/Counter1 Output Compare A Match Flag" icon=""/>
491 <bitfield name="TOV1" mask="0x01" text="Timer/Counter1 Overflow Flag" icon=""/>
492 </reg>
493 <reg size="1" name="TCCR1A" offset="0x80" text="Timer/Counter1 Control Register A" icon="io_flag.bmp">
494 <bitfield name="COM1A" mask="0xC0" text="Compare Output Mode 1A, bits" icon=""/>
495 <bitfield name="COM1B" mask="0x30" text="Compare Output Mode 1B, bits" icon=""/>
496 <bitfield name="WGM1" mask="0x03" text="Pulse Width Modulator Select Bits" icon=""/>
497 </reg>
498 <reg size="1" name="TCCR1B" offset="0x81" text="Timer/Counter1 Control Register B" icon="io_flag.bmp">
499 <bitfield name="ICNC1" mask="0x80" text="Input Capture 1 Noise Canceler" icon=""/>
500 <bitfield name="ICES1" mask="0x40" text="Input Capture 1 Edge Select" icon=""/>
501 <bitfield name="WGM1" mask="0x18" text="Waveform Generation Mode Bits" icon="" lsb="2"/>
502 <bitfield name="CS1" mask="0x07" text="Clock Select1 bits" icon="" enum="CLK_SEL_3BIT_EXT"/>
503 </reg>
504 <reg size="1" name="TCCR1C" offset="0x82" text="Timer/Counter1 Control Register C" icon="io_flag.bmp">
505 <bitfield name="FOC1A" mask="0x80" text="Force Output Compare for Channel A" icon=""/>
506 <bitfield name="FOC1B" mask="0x40" text="Force Output Compare for Channel B" icon=""/>
507 </reg>
508 <reg size="2" name="TCNT1" offset="0x84" text="Timer/Counter1 Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
509 <reg size="2" name="OCR1A" offset="0x88" text="Timer/Counter1 Output Compare Register A Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
510 <reg size="2" name="OCR1B" offset="0x8A" text="Timer/Counter1 Output Compare Register B Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
511 <reg size="2" name="ICR1" offset="0x86" text="Timer/Counter1 Input Capture Register Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
512 </registers>
513 </module>
514 <module class="EEPROM">
515 <registers name="EEPROM" memspace="DATAMEM" text="" icon="io_cpu.bmp">
516 <reg size="2" name="EEAR" offset="0x41" text="EEPROM Address Register Low Bytes" icon="io_cpu.bmp" mask="0x0FFF"/>
517 <reg size="1" name="EEDR" offset="0x40" text="EEPROM Data Register" icon="io_cpu.bmp" mask="0xFF"/>
518 <reg size="1" name="EECR" offset="0x3F" text="EEPROM Control Register" icon="io_flag.bmp">
519 <bitfield name="EEPM" mask="0x30" text="EEPROM Programming Mode Bits" icon="" enum="EEP_MODE"/>
520 <bitfield name="EERIE" mask="0x08" text="EEPROM Ready Interrupt Enable" icon=""/>
521 <bitfield name="EEMPE" mask="0x04" text="EEPROM Master Write Enable" icon=""/>
522 <bitfield name="EEPE" mask="0x02" text="EEPROM Write Enable" icon=""/>
523 <bitfield name="EERE" mask="0x01" text="EEPROM Read Enable" icon=""/>
524 </reg>
525 </registers>
526 </module>
527 <module class="TWI">
528 <registers name="TWI" memspace="DATAMEM" text="" icon="io_com.bmp">
529 <reg size="1" name="TWAMR" offset="0xBD" text="TWI (Slave) Address Mask Register" icon="io_com.bmp">
530 <bitfield name="TWAM" mask="0xFE" text="" icon=""/>
531 </reg>
532 <reg size="1" name="TWBR" offset="0xB8" text="TWI Bit Rate register" icon="io_com.bmp" mask="0xFF"/>
533 <reg size="1" name="TWCR" offset="0xBC" text="TWI Control Register" icon="io_flag.bmp">
534 <bitfield name="TWINT" mask="0x80" text="TWI Interrupt Flag" icon=""/>
535 <bitfield name="TWEA" mask="0x40" text="TWI Enable Acknowledge Bit" icon=""/>
536 <bitfield name="TWSTA" mask="0x20" text="TWI Start Condition Bit" icon=""/>
537 <bitfield name="TWSTO" mask="0x10" text="TWI Stop Condition Bit" icon=""/>
538 <bitfield name="TWWC" mask="0x08" text="TWI Write Collition Flag" icon=""/>
539 <bitfield name="TWEN" mask="0x04" text="TWI Enable Bit" icon=""/>
540 <bitfield name="TWIE" mask="0x01" text="TWI Interrupt Enable" icon=""/>
541 </reg>
542 <reg size="1" name="TWSR" offset="0xB9" text="TWI Status Register" icon="io_flag.bmp">
543 <bitfield name="TWS" mask="0xF8" text="TWI Status" icon="" lsb="3"/>
544 <bitfield name="TWPS" mask="0x03" text="TWI Prescaler" icon="" enum="COMM_TWI_PRESACLE"/>
545 </reg>
546 <reg size="1" name="TWDR" offset="0xBB" text="TWI Data register" icon="io_com.bmp" mask="0xFF"/>
547 <reg size="1" name="TWAR" offset="0xBA" text="TWI (Slave) Address register" icon="io_com.bmp">
548 <bitfield name="TWA" mask="0xFE" text="TWI (Slave) Address register Bits" icon=""/>
549 <bitfield name="TWGCE" mask="0x01" text="TWI General Call Recognition Enable Bit" icon=""/>
550 </reg>
551 </registers>
552 </module>
553 <module class="USART1">
554 <registers name="USART1" memspace="DATAMEM" text="" icon="io_com.bmp">
555 <reg size="1" name="UDR1" offset="0xCE" text="USART I/O Data Register" icon="io_com.bmp" mask="0xFF"/>
556 <reg size="1" name="UCSR1A" offset="0xC8" text="USART Control and Status Register A" icon="io_flag.bmp">
557 <bitfield name="RXC1" mask="0x80" text="USART Receive Complete" icon=""/>
558 <bitfield name="TXC1" mask="0x40" text="USART Transmitt Complete" icon=""/>
559 <bitfield name="UDRE1" mask="0x20" text="USART Data Register Empty" icon=""/>
560 <bitfield name="FE1" mask="0x10" text="Framing Error" icon=""/>
561 <bitfield name="DOR1" mask="0x08" text="Data overRun" icon=""/>
562 <bitfield name="UPE1" mask="0x04" text="Parity Error" icon=""/>
563 <bitfield name="U2X1" mask="0x02" text="Double the USART transmission speed" icon=""/>
564 <bitfield name="MPCM1" mask="0x01" text="Multi-processor Communication Mode" icon=""/>
565 </reg>
566 <reg size="1" name="UCSR1B" offset="0xC9" text="USART Control and Status Register B" icon="io_flag.bmp">
567 <bitfield name="RXCIE1" mask="0x80" text="RX Complete Interrupt Enable" icon=""/>
568 <bitfield name="TXCIE1" mask="0x40" text="TX Complete Interrupt Enable" icon=""/>
569 <bitfield name="UDRIE1" mask="0x20" text="USART Data register Empty Interrupt Enable" icon=""/>
570 <bitfield name="RXEN1" mask="0x10" text="Receiver Enable" icon=""/>
571 <bitfield name="TXEN1" mask="0x08" text="Transmitter Enable" icon=""/>
572 <bitfield name="UCSZ12" mask="0x04" text="Character Size" icon=""/>
573 <bitfield name="RXB81" mask="0x02" text="Receive Data Bit 8" icon=""/>
574 <bitfield name="TXB81" mask="0x01" text="Transmit Data Bit 8" icon=""/>
575 </reg>
576 <reg size="1" name="UCSR1C" offset="0xCA" text="USART Control and Status Register C" icon="io_flag.bmp">
577 <bitfield name="UMSEL1" mask="0xC0" text="USART Mode Select" icon="" enum="COMM_USART_MODE_2BIT"/>
578 <bitfield name="UPM1" mask="0x30" text="Parity Mode Bits" icon="" enum="COMM_UPM_PARITY_MODE"/>
579 <bitfield name="USBS1" mask="0x08" text="Stop Bit Select" icon="" enum="COMM_STOP_BIT_SEL"/>
580 <bitfield name="UCSZ1" mask="0x06" text="Character Size" icon=""/>
581 <bitfield name="UCPOL1" mask="0x01" text="Clock Polarity" icon=""/>
582 </reg>
583 <reg size="2" name="UBRR1" offset="0xCC" text="USART Baud Rate Register Bytes" icon="io_com.bmp" mask="0x0FFF"/>
584 </registers>
585 </module>
586 <module class="CPU">
587 <registers name="CPU" memspace="DATAMEM" text="" icon="io_cpu.bmp">
588 <reg size="1" name="SREG" offset="0x5F" text="Status Register" icon="io_sreg.bmp">
589 <bitfield name="I" mask="0x80" text="Global Interrupt Enable" icon=""/>
590 <bitfield name="T" mask="0x40" text="Bit Copy Storage" icon=""/>
591 <bitfield name="H" mask="0x20" text="Half Carry Flag" icon=""/>
592 <bitfield name="S" mask="0x10" text="Sign Bit" icon=""/>
593 <bitfield name="V" mask="0x08" text="Two's Complement Overflow Flag" icon=""/>
594 <bitfield name="N" mask="0x04" text="Negative Flag" icon=""/>
595 <bitfield name="Z" mask="0x02" text="Zero Flag" icon=""/>
596 <bitfield name="C" mask="0x01" text="Carry Flag" icon=""/>
597 </reg>
598 <reg size="2" name="SP" offset="0x5D" text="Stack Pointer " icon="io_sph.bmp" mask="0x1FFF"/>
599 <reg size="1" name="MCUCR" offset="0x55" text="MCU Control Register" icon="io_flag.bmp">
600 <bitfield name="JTD" mask="0x80" text="JTAG Interface Disable" icon=""/>
601 <bitfield name="BODS" mask="0x40" text="BOD Power Down in Sleep" icon=""/>
602 <bitfield name="BODSE" mask="0x20" text="BOD Power Down in Sleep Enable" icon=""/>
603 <bitfield name="PUD" mask="0x10" text="Pull-up disable" icon=""/>
604 <bitfield name="IVSEL" mask="0x02" text="Interrupt Vector Select" icon=""/>
605 <bitfield name="IVCE" mask="0x01" text="Interrupt Vector Change Enable" icon=""/>
606 </reg>
607 <reg size="1" name="MCUSR" offset="0x54" text="MCU Status Register" icon="io_flag.bmp">
608 <bitfield name="JTRF" mask="0x10" text="JTAG Reset Flag" icon=""/>
609 <bitfield name="WDRF" mask="0x08" text="Watchdog Reset Flag" icon=""/>
610 <bitfield name="BORF" mask="0x04" text="Brown-out Reset Flag" icon=""/>
611 <bitfield name="EXTRF" mask="0x02" text="External Reset Flag" icon=""/>
612 <bitfield name="PORF" mask="0x01" text="Power-on reset flag" icon=""/>
613 </reg>
614 <reg size="1" name="OSCCAL" offset="0x66" text="Oscillator Calibration Value" icon="io_cpu.bmp" mask="0xFF"/>
615 <reg size="1" name="CLKPR" offset="0x61" text="" icon="io_cpu.bmp">
616 <bitfield name="CLKPCE" mask="0x80" text="" icon=""/>
617 <bitfield name="CLKPS" mask="0x0F" text="" icon="" enum="CPU_CLK_PRESCALE_4_BITS_SMALL"/>
618 </reg>
619 <reg size="1" name="SMCR" offset="0x53" text="Sleep Mode Control Register" icon="io_cpu.bmp">
620 <bitfield name="SM" mask="0x0E" text="Sleep Mode Select bits" icon="" enum="CPU_SLEEP_MODE_3BITS"/>
621 <bitfield name="SE" mask="0x01" text="Sleep Enable" icon=""/>
622 </reg>
623 <reg size="1" name="RAMPZ" offset="0x5B" text="RAM Page Z Select Register" icon="io_cpu.bmp" mask="0x01"/>
624 <reg size="1" name="GPIOR2" offset="0x4B" text="General Purpose IO Register 2" icon="io_cpu.bmp">
625 <bitfield name="GPIOR" mask="0xFF" text="General Purpose IO Register 2 bis" icon="" lsb="20"/>
626 </reg>
627 <reg size="1" name="GPIOR1" offset="0x4A" text="General Purpose IO Register 1" icon="io_cpu.bmp">
628 <bitfield name="GPIOR" mask="0xFF" text="General Purpose IO Register 1 bis" icon="" lsb="10"/>
629 </reg>
630 <reg size="1" name="GPIOR0" offset="0x3E" text="General Purpose IO Register 0" icon="io_cpu.bmp">
631 <bitfield name="GPIOR07" mask="0x80" text="General Purpose IO Register 0 bit 7" icon=""/>
632 <bitfield name="GPIOR06" mask="0x40" text="General Purpose IO Register 0 bit 6" icon=""/>
633 <bitfield name="GPIOR05" mask="0x20" text="General Purpose IO Register 0 bit 5" icon=""/>
634 <bitfield name="GPIOR04" mask="0x10" text="General Purpose IO Register 0 bit 4" icon=""/>
635 <bitfield name="GPIOR03" mask="0x08" text="General Purpose IO Register 0 bit 3" icon=""/>
636 <bitfield name="GPIOR02" mask="0x04" text="General Purpose IO Register 0 bit 2" icon=""/>
637 <bitfield name="GPIOR01" mask="0x02" text="General Purpose IO Register 0 bit 1" icon=""/>
638 <bitfield name="GPIOR00" mask="0x01" text="General Purpose IO Register 0 bit 0" icon=""/>
639 </reg>
640 <reg size="1" name="PRR0" offset="0x64" text="Power Reduction Register0" icon="io_cpu.bmp">
641 <bitfield name="PRTWI" mask="0x80" text="Power Reduction TWI" icon=""/>
642 <bitfield name="PRTIM2" mask="0x40" text="Power Reduction Timer/Counter2" icon=""/>
643 <bitfield name="PRTIM0" mask="0x20" text="Power Reduction Timer/Counter0" icon=""/>
644 <bitfield name="PRUSART" mask="0x12" text="Power Reduction USARTs" icon=""/>
645 <bitfield name="PRTIM1" mask="0x08" text="Power Reduction Timer/Counter1" icon=""/>
646 <bitfield name="PRSPI" mask="0x04" text="Power Reduction Serial Peripheral Interface" icon=""/>
647 <bitfield name="PRADC" mask="0x01" text="Power Reduction ADC" icon=""/>
648 </reg>
649 </registers>
650 </module>
651 <module class="SPI">
652 <registers name="SPI" memspace="DATAMEM" text="" icon="io_com.bmp">
653 <reg size="1" name="SPDR" offset="0x4E" text="SPI Data Register" icon="io_com.bmp" mask="0xFF"/>
654 <reg size="1" name="SPSR" offset="0x4D" text="SPI Status Register" icon="io_flag.bmp">
655 <bitfield name="SPIF" mask="0x80" text="SPI Interrupt Flag" icon=""/>
656 <bitfield name="WCOL" mask="0x40" text="Write Collision Flag" icon=""/>
657 <bitfield name="SPI2X" mask="0x01" text="Double SPI Speed Bit" icon=""/>
658 </reg>
659 <reg size="1" name="SPCR" offset="0x4C" text="SPI Control Register" icon="io_flag.bmp">
660 <bitfield name="SPIE" mask="0x80" text="SPI Interrupt Enable" icon=""/>
661 <bitfield name="SPE" mask="0x40" text="SPI Enable" icon=""/>
662 <bitfield name="DORD" mask="0x20" text="Data Order" icon=""/>
663 <bitfield name="MSTR" mask="0x10" text="Master/Slave Select" icon=""/>
664 <bitfield name="CPOL" mask="0x08" text="Clock polarity" icon=""/>
665 <bitfield name="CPHA" mask="0x04" text="Clock Phase" icon=""/>
666 <bitfield name="SPR" mask="0x03" text="SPI Clock Rate Selects" icon="" enum="COMM_SCK_RATE_3BIT"/>
667 </reg>
668 </registers>
669 </module>
670 </hardware>
671 </device>