.gitignore ignores tests and eclipse
[avr-sim.git] / devices / atmega161
blobd64a581c6e9765ec1ed893954a5148760992e963
1 <?xml version="1.0"?>
2 <!DOCTYPE device SYSTEM "device.dtd">
3 <device>
4 <interrupts num="21">
5 <interrupt vector="1" address="$000" name="RESET">External Reset, Power-on Reset and Watchdog Reset</interrupt>
6 <interrupt vector="2" address="$002" name="INT0">External Interrupt 0</interrupt>
7 <interrupt vector="3" address="$004" name="INT1">External Interrupt 1</interrupt>
8 <interrupt vector="4" address="$006" name="INT2">External Interrupt 2</interrupt>
9 <interrupt vector="5" address="$008" name="TIMER2_COMP">Timer/Counter2 Compare Match</interrupt>
10 <interrupt vector="6" address="$00A" name="TIMER2_OVF">Timer/Counter2 Overflow</interrupt>
11 <interrupt vector="7" address="$00C" name="TIMER1_CAPT">Timer/Counter1 Capture Event</interrupt>
12 <interrupt vector="8" address="$00E" name="TIMER1_COMPA">Timer/Counter1 Compare Match A</interrupt>
13 <interrupt vector="9" address="$010" name="TIMER1_COMPB">Timer/Counter1 Compare Match B</interrupt>
14 <interrupt vector="10" address="$012" name="TIMER1_OVF">Timer/Counter1 Overflow</interrupt>
15 <interrupt vector="11" address="$014" name="TIMER0_COMP">Timer/Counter0 Compare Match</interrupt>
16 <interrupt vector="12" address="$016" name="TIMER0_OVF">Timer/Counter0 Overflow</interrupt>
17 <interrupt vector="13" address="$018" name="SPI,STC">Serial Transfer Complete</interrupt>
18 <interrupt vector="14" address="$01A" name="UART0,RX">UART0, Rx Complete</interrupt>
19 <interrupt vector="15" address="$01C" name="UART1,RX">UART1, Rx Complete</interrupt>
20 <interrupt vector="16" address="$01E" name="UART0,UDRE">UART0 Data Register Empty</interrupt>
21 <interrupt vector="17" address="$020" name="UART1,UDRE">UART1 Data Register Empty</interrupt>
22 <interrupt vector="18" address="$022" name="UART0,TX">UART0, Tx Complete</interrupt>
23 <interrupt vector="19" address="$024" name="UART1,TX">UART1, Tx Complete</interrupt>
24 <interrupt vector="20" address="$026" name="EE_RDY">EEPROM Ready</interrupt>
25 <interrupt vector="21" address="$028" name="ANA_COMP">Analog Comparator</interrupt>
26 </interrupts>
27 <memory>
28 <flash size="16384"/>
29 <iospace start="$20" stop="$5F"/>
30 <sram size="1024"/>
31 <eram size="64512"/>
32 </memory>
33 <ioregisters>
34 <ioreg name="UBRR1" address="$00"/>
35 <ioreg name="UCSR1B" address="$01"/>
36 <ioreg name="UCSR1A" address="$02"/>
37 <ioreg name="UDR1" address="$03"/>
38 <ioreg name="PINE" address="$05"/>
39 <ioreg name="DDRE" address="$06"/>
40 <ioreg name="PORTE" address="$07"/>
41 <ioreg name="ACSR" address="$08"/>
42 <ioreg name="UBRR0" address="$09"/>
43 <ioreg name="UCSR0B" address="$0A"/>
44 <ioreg name="UCSR0A" address="$0B"/>
45 <ioreg name="UDR0" address="$0C"/>
46 <ioreg name="SPCR" address="$0D"/>
47 <ioreg name="SPSR" address="$0E"/>
48 <ioreg name="SPDR" address="$0F"/>
49 <ioreg name="PIND" address="$10"/>
50 <ioreg name="DDRD" address="$11"/>
51 <ioreg name="PORTD" address="$12"/>
52 <ioreg name="PINC" address="$13"/>
53 <ioreg name="DDRC" address="$14"/>
54 <ioreg name="PORTC" address="$15"/>
55 <ioreg name="PINB" address="$16"/>
56 <ioreg name="DDRB" address="$17"/>
57 <ioreg name="PORTB" address="$18"/>
58 <ioreg name="PINA" address="$19"/>
59 <ioreg name="DDRA" address="$1A"/>
60 <ioreg name="PORTA" address="$1B"/>
61 <ioreg name="EECR" address="$1C"/>
62 <ioreg name="EEDR" address="$1D"/>
63 <ioreg name="EEARL" address="$1E"/>
64 <ioreg name="EEARH" address="$1F"/>
65 <ioreg name="UBRRHI" address="$20"/>
66 <ioreg name="WDTCR" address="$21"/>
67 <ioreg name="OCR2" address="$22"/>
68 <ioreg name="TCNT2" address="$23"/>
69 <ioreg name="ICR1L" address="$24"/>
70 <ioreg name="ICR1H" address="$25"/>
71 <ioreg name="ASSR" address="$26"/>
72 <ioreg name="TCCR2" address="$27"/>
73 <ioreg name="OCR1BL" address="$28"/>
74 <ioreg name="OCR1BH" address="$29"/>
75 <ioreg name="OCR1AL" address="$2A"/>
76 <ioreg name="OCR1AH" address="$2B"/>
77 <ioreg name="TCNT1L" address="$2C"/>
78 <ioreg name="TCNT1H" address="$2D"/>
79 <ioreg name="TCCR1B" address="$2E"/>
80 <ioreg name="TCCR1A" address="$2F"/>
81 <ioreg name="SFIOR" address="$30"/>
82 <ioreg name="OCR0" address="$31"/>
83 <ioreg name="TCNT0" address="$32"/>
84 <ioreg name="TCCR0" address="$33"/>
85 <ioreg name="MCUSR" address="$34"/>
86 <ioreg name="MCUCR" address="$35"/>
87 <ioreg name="EMCUCR" address="$36"/>
88 <ioreg name="SPMCR" address="$37"/>
89 <ioreg name="TIFR" address="$38"/>
90 <ioreg name="TIMSK" address="$39"/>
91 <ioreg name="GIFR" address="$3A"/>
92 <ioreg name="GIMSK" address="$3B"/>
93 <ioreg name="SPL" address="$3D"/>
94 <ioreg name="SPH" address="$3E"/>
95 <ioreg name="SREG" address="$3F"/>
96 </ioregisters>
97 <packages>
98 <package name="TQFP" pins="44">
99 <pin id="1" name="[PB5:MOSI]">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>
100 <pin id="2" name="[PB6:MISO]">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>
101 <pin id="3" name="[PB7:SCK]">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>
102 <pin id="4" name="['RESET]"/>
103 <pin id="5" name="[PD0:RXD]">Receive Data (data input pin for the UART). When the UART receiver is enabled, this pin is configured as an input, regardless of the value of DDRD0. When the UART forces this pin to be an input, a logical “1” in PORTD0 will turn on the internal pull-up.</pin>
104 <pin id="6" name="[NC]"/>
105 <pin id="7" name="[PD1:TXD]">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 DDRD1.</pin>
106 <pin id="8" name="[PD2:INT0]">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>
107 <pin id="9" name="[PD3:INT1]">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>
108 <pin id="10" name="[PD4]"/>
109 <pin id="11" name="[PD5:OC1A:TOSC2]">OC1A: Output compare match output. The PD5 pin can serve as an external output when the Timer/Counter1 compare matches. The PD5 pin has to be configured as an output (DDD5 set [one]) to serve this function. See the Timer/Counter1 description for further details and how to enable the output. The OC1A pin is also the output pin for the PWM mode timer function.</pin>
110 <pin id="12" name="[PD6:'WR]">WR is the external data memory write control strobe. See “Interface to External SRAM” on page 52 for detailed information.</pin>
111 <pin id="13" name="[PD7:'RD]">RD is the external data memory read control strobe. See “Interface to External SRAM” on page 52 for detailed information.</pin>
112 <pin id="14" name="[XTAL2]"/>
113 <pin id="15" name="[XTAL1]"/>
114 <pin id="16" name="[GND]"/>
115 <pin id="17" name="[NC]"/>
116 <pin id="18" name="[PC0:A8]"/>
117 <pin id="19" name="[PC1:A9]"/>
118 <pin id="20" name="[PC2:A10]"/>
119 <pin id="21" name="[PC3:A11]"/>
120 <pin id="22" name="[PC4:A12]"/>
121 <pin id="23" name="[PC5:A13]"/>
122 <pin id="24" name="[PC6:A14]"/>
123 <pin id="25" name="[PC7:A15]"/>
124 <pin id="26" name="[PE2:OC1B]"/>
125 <pin id="27" name="[PE1:ALE]"/>
126 <pin id="28" name="[NC]"/>
127 <pin id="29" name="[PE0:ICP/INT2]"/>
128 <pin id="30" name="[PA7:AD7]"/>
129 <pin id="31" name="[PA6:AD6]"/>
130 <pin id="32" name="[PA5:AD5]"/>
131 <pin id="33" name="[PA4:AD4]"/>
132 <pin id="34" name="[PA3:AD3]"/>
133 <pin id="35" name="[PA2:AD2]"/>
134 <pin id="36" name="[PA1:AD1]"/>
135 <pin id="37" name="[PA0:AD0]"/>
136 <pin id="38" name="[VCC]"/>
137 <pin id="39" name="[NC]"/>
138 <pin id="40" name="[PB0:OC0/T0]">T0: Timer/Counter0 counter source. See the timer description for further details.</pin>
139 <pin id="41" name="[PB1:OC2/T1]">T1: Timer/Counter1 counter source. See the timer description for further details</pin>
140 <pin id="42" name="[PB2:RXD1:AIN0]">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 Comparator.</pin>
141 <pin id="43" name="[PB3:TXD1:AIN1]">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 Comparator.</pin>
142 <pin id="44" name="[PB4:SS]">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>
143 </package>
144 </packages>
145 <hardware>
146 <!--Everything after this needs editing!!!-->
147 <module class="FUSE">
148 <registers name="FUSE" memspace="FUSE">
149 <reg size="1" name="LOW" offset="0x00">
150 <bitfield name="BOOTRST" mask="0x20" text="Boot Reset Vector Enabled" icon=""/>
151 <bitfield name="SPIEN" mask="0x10" text="Serial program downloading (SPI) enabled" icon=""/>
152 <bitfield name="SUT" mask="0x08" text="Start-up time" icon=""/>
153 <bitfield name="CKSEL" mask="0x07" text="Select Clock Source" icon="" enum="ENUM_CKSEL"/>
154 </reg>
155 </registers>
156 </module>
157 <module class="LOCKBIT">
158 <registers name="LOCKBIT" memspace="LOCKBIT">
159 <reg size="1" name="LOCKBIT" offset="0x00">
160 <bitfield name="LB" mask="0x03" text="Memory Lock" icon="" enum="ENUM_LB"/>
161 <bitfield name="BLB0" mask="0x0C" text="Boot Loader Protection Mode" icon="" enum="ENUM_BLB"/>
162 <bitfield name="BLB1" mask="0x30" text="Boot Loader Protection Mode" icon="" enum="ENUM_BLB2"/>
163 </reg>
164 </registers>
165 </module>
166 <module class="ANALOG_COMPARATOR">
167 <registers name="ANALOG_COMPARATOR" memspace="DATAMEM" text="" icon="io_analo.bmp">
168 <reg size="1" name="ACSR" offset="0x28" text="Analog Comparator Control And Status Register" icon="io_analo.bmp">
169 <bitfield name="ACD" mask="0x80" text="Analog Comparator Disable" icon=""/>
170 <bitfield name="AINBG" mask="0x40" text="Analog Comparator Bandgap Select" icon=""/>
171 <bitfield name="ACO" mask="0x20" text="Analog Compare Output" icon=""/>
172 <bitfield name="ACI" mask="0x10" text="Analog Comparator Interrupt Flag" icon=""/>
173 <bitfield name="ACIE" mask="0x08" text="Analog Comparator Interrupt Enable" icon=""/>
174 <bitfield name="ACIC" mask="0x04" text="Analog Comparator Input Capture Enable" icon=""/>
175 <bitfield name="ACIS" mask="0x03" text="Analog Comparator Interrupt Mode Select bits" icon="" enum="ANALOG_COMP_INTERRUPT"/>
176 </reg>
177 </registers>
178 </module>
179 <module class="SPI">
180 <registers name="SPI" memspace="DATAMEM" text="" icon="io_com.bmp">
181 <reg size="1" name="SPDR" offset="0x2F" text="SPI Data Register" icon="io_com.bmp" mask="0xFF"/>
182 <reg size="1" name="SPSR" offset="0x2E" text="SPI Status Register" icon="io_flag.bmp">
183 <bitfield name="SPIF" mask="0x80" text="SPI Interrupt Flag" icon=""/>
184 <bitfield name="WCOL" mask="0x40" text="Write Collision Flag" icon=""/>
185 <bitfield name="SPI2X" mask="0x01" text="Double SPI Speed Bit" icon=""/>
186 </reg>
187 <reg size="1" name="SPCR" offset="0x2D" text="SPI Control Register" icon="io_flag.bmp">
188 <bitfield name="SPIE" mask="0x80" text="SPI Interrupt Enable" icon=""/>
189 <bitfield name="SPE" mask="0x40" text="SPI Enable" icon=""/>
190 <bitfield name="DORD" mask="0x20" text="Data Order" icon=""/>
191 <bitfield name="MSTR" mask="0x10" text="Master/Slave Select" icon=""/>
192 <bitfield name="CPOL" mask="0x08" text="Clock polarity" icon=""/>
193 <bitfield name="CPHA" mask="0x04" text="Clock Phase" icon=""/>
194 <bitfield name="SPR" mask="0x03" text="SPI Clock Rate Selects" icon="" enum="COMM_SCK_RATE_3BIT"/>
195 </reg>
196 </registers>
197 </module>
198 <module class="USART0">
199 <registers name="USART0" memspace="DATAMEM" text="" icon="io_com.bmp">
200 <reg size="1" name="UDR0" offset="0x2C" text="USART I/O Data Register" icon="io_com.bmp" mask="0xFF"/>
201 <reg size="1" name="UCSR0A" offset="0x2B" text="USART Control and Status Register A" icon="io_flag.bmp">
202 <bitfield name="RXC0" mask="0x80" text="USART Receive Complete" icon=""/>
203 <bitfield name="TXC0" mask="0x40" text="USART Transmitt Complete" icon=""/>
204 <bitfield name="UDRE0" mask="0x20" text="USART Data Register Empty" icon=""/>
205 <bitfield name="FE0" mask="0x10" text="Framing Error" icon=""/>
206 <bitfield name="OR0" mask="0x08" text="Data overRun" icon=""/>
207 <bitfield name="U2X0" mask="0x02" text="Double the USART transmission speed" icon=""/>
208 <bitfield name="MPCM0" mask="0x01" text="Multi-processor Communication Mode" icon=""/>
209 </reg>
210 <reg size="1" name="UCSR0B" offset="0x2A" text="USART Control and Status Register B" icon="io_flag.bmp">
211 <bitfield name="RXCIE0" mask="0x80" text="RX Complete Interrupt Enable" icon=""/>
212 <bitfield name="TXCIE0" mask="0x40" text="TX Complete Interrupt Enable" icon=""/>
213 <bitfield name="UDR0IE0" mask="0x20" text="USART Data register Empty Interrupt Enable" icon=""/>
214 <bitfield name="RXEN0" mask="0x10" text="Receiver Enable" icon=""/>
215 <bitfield name="TXEN0" mask="0x08" text="Transmitter Enable" icon=""/>
216 <bitfield name="CHR90" mask="0x04" text="9-Bit Character" icon=""/>
217 <bitfield name="RXB80" mask="0x02" text="Receive Data Bit 8" icon=""/>
218 <bitfield name="TXB80" mask="0x01" text="Transmit Data Bit 8" icon=""/>
219 </reg>
220 <reg size="1" name="UBRR0" offset="0x29" text="USART Baud Rate Register Byte" icon="io_com.bmp" mask="0xFF"/>
221 <reg size="1" name="UBRRHI" offset="0x40" text="High Byte Baud Rate Register" icon="io_com.bmp" mask="0x0F"/>
222 </registers>
223 </module>
224 <module class="USART1">
225 <registers name="USART1" memspace="DATAMEM" text="" icon="io_com.bmp">
226 <reg size="1" name="UDR1" offset="0x23" text="USART I/O Data Register" icon="io_com.bmp" mask="0xFF"/>
227 <reg size="1" name="UCSR1A" offset="0x22" text="USART Control and Status Register A" icon="io_flag.bmp">
228 <bitfield name="RXC1" mask="0x80" text="USART Receive Complete" icon=""/>
229 <bitfield name="TXC1" mask="0x40" text="USART Transmitt Complete" icon=""/>
230 <bitfield name="UDRE1" mask="0x20" text="USART Data Register Empty" icon=""/>
231 <bitfield name="FE1" mask="0x10" text="Framing Error" icon=""/>
232 <bitfield name="OR1" mask="0x08" text="Data overRun" icon=""/>
233 <bitfield name="U2X1" mask="0x02" text="Double the USART transmission speed" icon=""/>
234 <bitfield name="MPCM1" mask="0x01" text="Multi-processor Communication Mode" icon=""/>
235 </reg>
236 <reg size="1" name="UCSR1B" offset="0x21" text="USART Control and Status Register B" icon="io_flag.bmp">
237 <bitfield name="RXCIE1" mask="0x80" text="RX Complete Interrupt Enable" icon=""/>
238 <bitfield name="TXCIE1" mask="0x40" text="TX Complete Interrupt Enable" icon=""/>
239 <bitfield name="UDR1IE1" mask="0x20" text="USART Data register Empty Interrupt Enable" icon=""/>
240 <bitfield name="RXEN1" mask="0x10" text="Receiver Enable" icon=""/>
241 <bitfield name="TXEN1" mask="0x08" text="Transmitter Enable" icon=""/>
242 <bitfield name="CHR91" mask="0x04" text="9-Bit Character" icon=""/>
243 <bitfield name="RXB81" mask="0x02" text="Receive Data Bit 8" icon=""/>
244 <bitfield name="TXB81" mask="0x01" text="Transmit Data Bit 8" icon=""/>
245 </reg>
246 <reg size="1" name="UBRR1" offset="0x20" text="USART Baud Rate Register Byte" icon="io_com.bmp" mask="0xFF"/>
247 <reg size="1" name="UBRRHI" offset="0x40" text="high Byte Baud Rate Register" icon="io_com.bmp" mask="0xF0"/>
248 </registers>
249 </module>
250 <module class="PORTA">
251 <registers name="PORTA" memspace="DATAMEM" text="" icon="io_port.bmp">
252 <reg size="1" name="PORTA" offset="0x3B" text="Port A Data Register" icon="io_port.bmp" mask="0xFF"/>
253 <reg size="1" name="DDRA" offset="0x3A" text="Port A Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
254 <reg size="1" name="PINA" offset="0x39" text="Port A Input Pins" icon="io_port.bmp" mask="0xFF"/>
255 </registers>
256 </module>
257 <module class="PORTB">
258 <registers name="PORTB" memspace="DATAMEM" text="" icon="io_port.bmp">
259 <reg size="1" name="PORTB" offset="0x38" text="Port B Data Register" icon="io_port.bmp" mask="0xFF"/>
260 <reg size="1" name="DDRB" offset="0x37" text="Port B Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
261 <reg size="1" name="PINB" offset="0x36" text="Port B Input Pins" icon="io_port.bmp" mask="0xFF"/>
262 </registers>
263 </module>
264 <module class="PORTC">
265 <registers name="PORTC" memspace="DATAMEM" text="" icon="io_port.bmp">
266 <reg size="1" name="PORTC" offset="0x35" text="Port C Data Register" icon="io_port.bmp" mask="0xFF"/>
267 <reg size="1" name="DDRC" offset="0x34" text="Port C Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
268 <reg size="1" name="PINC" offset="0x33" text="Port C Input Pins" icon="io_port.bmp" mask="0xFF"/>
269 </registers>
270 </module>
271 <module class="PORTD">
272 <registers name="PORTD" memspace="DATAMEM" text="" icon="io_port.bmp">
273 <reg size="1" name="PORTD" offset="0x32" text="Port D Data Register" icon="io_port.bmp" mask="0xFF"/>
274 <reg size="1" name="DDRD" offset="0x31" text="Port D Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
275 <reg size="1" name="PIND" offset="0x30" text="Port D Input Pins" icon="io_port.bmp" mask="0xFF"/>
276 </registers>
277 </module>
278 <module class="PORTE">
279 <registers name="PORTE" memspace="DATAMEM" text="" icon="io_port.bmp">
280 <reg size="1" name="PORTE" offset="0x27" text="Port E Data Register" icon="io_port.bmp" mask="0x07"/>
281 <reg size="1" name="DDRE" offset="0x26" text="Port E Data Direction Register" icon="io_flag.bmp" mask="0x07"/>
282 <reg size="1" name="PINE" offset="0x25" text="Port E Input Pins" icon="io_port.bmp" mask="0x07"/>
283 </registers>
284 </module>
285 <module class="EEPROM">
286 <registers name="EEPROM" memspace="DATAMEM" text="" icon="io_cpu.bmp">
287 <reg size="2" name="EEAR" offset="0x3E" text="EEPROM Address Register Bytes" icon="io_cpu.bmp" mask="0x01FF"/>
288 <reg size="1" name="EEDR" offset="0x3D" text="EEPROM Data Register" icon="io_cpu.bmp" mask="0xFF"/>
289 <reg size="1" name="EECR" offset="0x3C" text="EEPROM Control Register" icon="io_flag.bmp">
290 <bitfield name="EERIE" mask="0x08" text="EEPROM Ready Interrupt Enable" icon=""/>
291 <bitfield name="EEMWE" mask="0x04" text="EEPROM Master Write Enable" icon=""/>
292 <bitfield name="EEWE" mask="0x02" text="EEPROM Write Enable" icon=""/>
293 <bitfield name="EERE" mask="0x01" text="EEPROM Read Enable" icon=""/>
294 </reg>
295 </registers>
296 </module>
297 <module class="EXTERNAL_INTERRUPT">
298 <registers name="EXTERNAL_INTERRUPT" memspace="DATAMEM" text="" icon="io_ext.bmp">
299 <reg size="1" name="GIMSK" offset="0x5B" text="General Interrupt Mask Register" icon="io_flag.bmp">
300 <bitfield name="INT" mask="0xC0" text="External Interrupt Request 1 Enable" icon=""/>
301 <bitfield name="INT2" mask="0x20" text="External Interrupt Request 2 Enable" icon=""/>
302 </reg>
303 <reg size="1" name="GIFR" offset="0x5A" text="General Interrupt Flag Register" icon="io_flag.bmp">
304 <bitfield name="INTF" mask="0xC0" text="External Interrupt Flags" icon=""/>
305 <bitfield name="INTF2" mask="0x20" text="External Interrupt Flag 2" icon=""/>
306 </reg>
307 </registers>
308 </module>
309 <module class="CPU">
310 <registers name="CPU" memspace="DATAMEM" text="" icon="io_cpu.bmp">
311 <reg size="1" name="SREG" offset="0x5F" text="Status Register" icon="io_sreg.bmp">
312 <bitfield name="I" mask="0x80" text="Global Interrupt Enable" icon=""/>
313 <bitfield name="T" mask="0x40" text="Bit Copy Storage" icon=""/>
314 <bitfield name="H" mask="0x20" text="Half Carry Flag" icon=""/>
315 <bitfield name="S" mask="0x10" text="Sign Bit" icon=""/>
316 <bitfield name="V" mask="0x08" text="Two's Complement Overflow Flag" icon=""/>
317 <bitfield name="N" mask="0x04" text="Negative Flag" icon=""/>
318 <bitfield name="Z" mask="0x02" text="Zero Flag" icon=""/>
319 <bitfield name="C" mask="0x01" text="Carry Flag" icon=""/>
320 </reg>
321 <reg size="2" name="SP" offset="0x5D" text="Stack Pointer " icon="io_sph.bmp" mask="0xFFFF"/>
322 <reg size="1" name="MCUCR" offset="0x55" text="MCU Control Register" icon="io_flag.bmp">
323 <bitfield name="SRE" mask="0x80" text="External SRAM Enable" icon=""/>
324 <bitfield name="SRW10" mask="0x40" text="External SRAM Wait State Select" icon=""/>
325 <bitfield name="SE" mask="0x20" text="Sleep Enable" icon=""/>
326 <bitfield name="SM1" mask="0x10" text="Sleep Mode Select" icon=""/>
327 <bitfield name="ISC1" mask="0x0C" text="Interrupt Sense Control 1 bits" icon=""/>
328 <bitfield name="ISC0" mask="0x03" text="Interrupt Sense Control 0 bits" icon="" enum="INTERRUPT_SENSE_CONTROL2"/>
329 </reg>
330 <reg size="1" name="MCUSR" offset="0x54" text="MCU Status Register" icon="io_flag.bmp">
331 <bitfield name="WDRF" mask="0x08" text="Watchdog Reset Flag" icon=""/>
332 <bitfield name="BORF" mask="0x04" text="Brown-out Reset Flag" icon=""/>
333 <bitfield name="EXTRF" mask="0x02" text="External Reset Flag" icon=""/>
334 <bitfield name="PORF" mask="0x01" text="Power-on reset flag" icon=""/>
335 </reg>
336 <reg size="1" name="EMCUCR" offset="0x56" text="Extended MCU Control Register" icon="io_flag.bmp">
337 <bitfield name="SM0" mask="0x80" text="Sleep mode Select Bit 0" icon=""/>
338 <bitfield name="SRL" mask="0x70" text="Wait State Sector Limit Bits" icon="" enum="CPU_SECTOR_LIMITS"/>
339 <bitfield name="SRW0" mask="0x0C" text="Wait State Select Bit 1 for Lower Sector" icon="" enum="CPU_WAIT_STATES"/>
340 <bitfield name="SRW11" mask="0x02" text="Wait State Select Bit 1 for Upper Sector" icon=""/>
341 <bitfield name="ISC2" mask="0x01" text="Interrupt Sense Control 2" icon=""/>
342 </reg>
343 <reg size="1" name="SPMCR" offset="0x57" text="Store Program Memory Control Register" icon="io_flag.bmp">
344 <bitfield name="BLBSET" mask="0x08" text="Boot Lock Bit Set" icon=""/>
345 <bitfield name="PGWRT" mask="0x04" text="Page Write" icon=""/>
346 <bitfield name="PGERS" mask="0x02" text="Page Erase" icon=""/>
347 <bitfield name="SPMEN" mask="0x01" text="Store Program Memory Enable" icon=""/>
348 </reg>
349 </registers>
350 </module>
351 <module class="TIMER_COUNTER_0">
352 <registers name="TIMER_COUNTER_0" memspace="DATAMEM" text="" icon="io_timer.bmp">
353 <reg size="1" name="TCCR0" offset="0x53" text="Timer/Counter Control Register" icon="io_flag.bmp">
354 <bitfield name="FOC0" mask="0x80" text="Force Output Compare" icon=""/>
355 <bitfield name="WGM00" mask="0x40" text="Waveform Generation Mode 0" icon=""/>
356 <bitfield name="COM0" mask="0x30" text="Compare Match Output Modes" icon="" enum="CLK_COMP_MATCH_OUT_MODE"/>
357 <bitfield name="WGM01" mask="0x08" text="Waveform Generation Mode 1" icon=""/>
358 <bitfield name="CS0" mask="0x07" text="Clock Selects" icon="" enum="CLK_SEL_3BIT_EXT"/>
359 </reg>
360 <reg size="1" name="TCNT0" offset="0x52" text="Timer/Counter Register" icon="io_timer.bmp" mask="0xFF"/>
361 <reg size="1" name="OCR0" offset="0x51" text="Output Compare Register" icon="io_timer.bmp" mask="0xFF"/>
362 <reg size="1" name="TIMSK" offset="0x59" text="Timer/Counter Interrupt Mask Register" icon="io_flag.bmp">
363 <bitfield name="TOIE0" mask="0x02" text="Timer/Counter0 Overflow Interrupt Enable" icon=""/>
364 <bitfield name="OCIE0" mask="0x01" text="Timer/Counter0 Output Compare Match Interrupt register" icon=""/>
365 </reg>
366 <reg size="1" name="TIFR" offset="0x58" text="Timer/Counter Interrupt Flag register" icon="io_flag.bmp">
367 <bitfield name="TOV0" mask="0x02" text="Timer/Counter0 Overflow Flag" icon=""/>
368 <bitfield name="OCF0" mask="0x01" text="Output Compare Flag 0" icon=""/>
369 </reg>
370 <reg size="1" name="SFIOR" offset="0x50" text="Special Function IO Register" icon="io_cpu.bmp">
371 <bitfield name="PSR10" mask="0x01" text="Prescaler Reset Timer/Counter1 and Timer/Counter0" icon=""/>
372 </reg>
373 </registers>
374 </module>
375 <module class="TIMER_COUNTER_2">
376 <registers name="TIMER_COUNTER_2" memspace="DATAMEM" text="" icon="io_timer.bmp">
377 <reg size="1" name="TIMSK" offset="0x59" text="Timer/Counter Interrupt Mask register" icon="io_flag.bmp">
378 <bitfield name="TOIE2" mask="0x10" text="Timer/Counter2 Overflow Interrupt Enable" icon=""/>
379 <bitfield name="OCIE2" mask="0x04" text="Timer/Counter2 Output Compare Match Interrupt Enable" icon=""/>
380 </reg>
381 <reg size="1" name="TIFR" offset="0x58" text="Timer/Counter Interrupt Flag Register" icon="io_flag.bmp">
382 <bitfield name="TOV2" mask="0x10" text="Timer/Counter2 Overflow Flag" icon=""/>
383 <bitfield name="OCF2" mask="0x04" text="Output Compare Flag 2" icon=""/>
384 </reg>
385 <reg size="1" name="TCCR2" offset="0x47" text="Timer/Counter2 Control Register" icon="io_flag.bmp">
386 <bitfield name="FOC2" mask="0x80" text="Force Output Compare" icon=""/>
387 <bitfield name="PWM2" mask="0x40" text="Pulse Width Modulator Enable" icon=""/>
388 <bitfield name="COM2" mask="0x30" text="Compare Output Mode bits" icon="" enum="CLK_COMP_MATCH_OUT_MODE"/>
389 <bitfield name="CTC2" mask="0x08" text="Clear Timer/Counter2 on Compare Match" icon=""/>
390 <bitfield name="CS2" mask="0x07" text="Clock Select bits" icon="" enum="CLK_SEL_3BIT"/>
391 </reg>
392 <reg size="1" name="TCNT2" offset="0x43" text="Timer/Counter2" icon="io_timer.bmp" mask="0xFF"/>
393 <reg size="1" name="OCR2" offset="0x42" text="Timer/Counter2 Output Compare Register" icon="io_timer.bmp" mask="0xFF"/>
394 <reg size="1" name="ASSR" offset="0x46" text="Asynchronous Status Register" icon="io_flag.bmp">
395 <bitfield name="AS2" mask="0x08" text="Asynchronous Timer/counter2" icon=""/>
396 <bitfield name="TCN2UB" mask="0x04" text="Timer/Counter2 Update Busy" icon=""/>
397 <bitfield name="OCR2UB" mask="0x02" text="Output Compare Register2 Update Busy" icon=""/>
398 <bitfield name="TCR2UB" mask="0x01" text="Timer/counter Control Register2 Update Busy" icon=""/>
399 </reg>
400 <reg size="1" name="SFIOR" offset="0x50" text="Specil Function IO Register" icon="io_cpu.bmp">
401 <bitfield name="PSR2" mask="0x02" text="Prescaler Reset Timer/Counter2" icon=""/>
402 </reg>
403 </registers>
404 </module>
405 <module class="TIMER_COUNTER_1">
406 <registers name="TIMER_COUNTER_1" memspace="DATAMEM" text="" icon="io_timer.bmp">
407 <reg size="1" name="TIMSK" offset="0x59" text="Timer/Counter Interrupt Mask Register" icon="io_flag.bmp">
408 <bitfield name="TOIE1" mask="0x80" text="Timer/Counter1 Overflow Interrupt Enable" icon=""/>
409 <bitfield name="OCIE1A" mask="0x40" text="Timer/Counter1 Output CompareA Match Interrupt Enable" icon=""/>
410 <bitfield name="OCIE1B" mask="0x20" text="Timer/Counter1 Output CompareB Match Interrupt Enable" icon=""/>
411 <bitfield name="TICIE1" mask="0x08" text="Timer/Counter1 Input Capture Interrupt Enable" icon=""/>
412 </reg>
413 <reg size="1" name="TIFR" offset="0x58" text="Timer/Counter Interrupt Flag register" icon="io_flag.bmp">
414 <bitfield name="TOV1" mask="0x80" text="Timer/Counter1 Overflow Flag" icon=""/>
415 <bitfield name="OCF1A" mask="0x40" text="Output Compare Flag 1A" icon=""/>
416 <bitfield name="OCF1B" mask="0x20" text="Output Compare Flag 1B" icon=""/>
417 <bitfield name="ICF1" mask="0x08" text="Input Capture Flag 1" icon=""/>
418 </reg>
419 <reg size="1" name="TCCR1A" offset="0x4F" text="Timer/Counter1 Control Register A" icon="io_flag.bmp">
420 <bitfield name="COM1A" mask="0xC0" text="Compare Output Mode 1A, bits" icon="" enum="CLK_COMP_MATCH_OUT_MODE"/>
421 <bitfield name="COM1B" mask="0x30" text="Compare Output Mode 1B, bits" icon="" enum="CLK_COMP_MATCH_OUT_MODE"/>
422 <bitfield name="FOC1A" mask="0x08" text="Force Output Compare 1A" icon=""/>
423 <bitfield name="FOC1B" mask="0x04" text="Force Output Compare 1B" icon=""/>
424 <bitfield name="WGM1" mask="0x03" text="Waveform Generation Mode" icon=""/>
425 </reg>
426 <reg size="1" name="TCCR1B" offset="0x4E" text="Timer/Counter1 Control Register B" icon="io_flag.bmp">
427 <bitfield name="ICNC1" mask="0x80" text="Input Capture 1 Noise Canceler" icon=""/>
428 <bitfield name="ICES1" mask="0x40" text="Input Capture 1 Edge Select" icon=""/>
429 <bitfield name="CTC1" mask="0x08" text="Clear Timer/Counter1 on Compare Match" icon=""/>
430 <bitfield name="CS1" mask="0x07" text="Prescaler source of Timer/Counter 1" icon="" enum="CLK_SEL_3BIT_EXT"/>
431 </reg>
432 <reg size="2" name="TCNT1" offset="0x4C" text="Timer/Counter1 Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
433 <reg size="2" name="OCR1A" offset="0x4A" text="Timer/Counter1 Outbut Compare Register Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
434 <reg size="2" name="OCR1B" offset="0x48" text="Timer/Counter1 Output Compare Register Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
435 <reg size="2" name="ICR1" offset="0x44" text="Timer/Counter1 Input Capture Register Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
436 </registers>
437 </module>
438 <module class="WATCHDOG">
439 <registers name="WATCHDOG" memspace="DATAMEM" text="" icon="io_watch.bmp">
440 <reg size="1" name="WDTCR" offset="0x41" text="Watchdog Timer Control Register" icon="io_flag.bmp">
441 <bitfield name="WDTOE" mask="0x10" text="RW" icon=""/>
442 <bitfield name="WDE" mask="0x08" text="Watch Dog Enable" icon=""/>
443 <bitfield name="WDP" mask="0x07" text="Watch Dog Timer Prescaler bits" icon="" enum="WDOG_TIMER_PRESCALE_3BITS"/>
444 </reg>
445 </registers>
446 </module>
447 </hardware>
448 </device>