DTD adjusted
[avr-sim.git] / devices / atmega162
bloba4d4f65c1e931cbdbb0b2e44133d4a3a047af46c
1 <?xml version="1.0"?>
2 <!DOCTYPE device SYSTEM "device.dtd">
3 <device>
4 <interrupts num="28">
5 <interrupt vector="1" address="$000" name="RESET">External Pin,Power-on Reset,Brown-out Reset,Watchdog Reset,and JTAG AVR Reset. See Datasheet. </interrupt>
6 <interrupt vector="2" address="$002" name="INT0">External Interrupt Request 0</interrupt>
7 <interrupt vector="3" address="$004" name="INT1">External Interrupt Request 1</interrupt>
8 <interrupt vector="4" address="$006" name="INT2">External Interrupt Request 2</interrupt>
9 <interrupt vector="5" address="$008" name="PCINT0">Pin Change Interrupt Request 0</interrupt>
10 <interrupt vector="6" address="$00A" name="PCINT1">Pin Change Interrupt Request 1</interrupt>
11 <interrupt vector="7" address="$00C" name="TIMER3 CAPT">Timer/Counter3 Capture Event</interrupt>
12 <interrupt vector="8" address="$00E" name="TIMER3 COMPA">Timer/Counter3 Compare Match A</interrupt>
13 <interrupt vector="9" address="$010" name="TIMER3 COMPB">Timer/Counter3 Compare Match B</interrupt>
14 <interrupt vector="10" address="$012" name="TIMER3 OVF">Timer/Counter3 Overflow</interrupt>
15 <interrupt vector="11" address="$014" name="TIMER2 COMP">Timer/Counter2 Compare Match</interrupt>
16 <interrupt vector="12" address="$016" name="TIMER2 OVF">Timer/Counter2 Overflow</interrupt>
17 <interrupt vector="13" address="$018" name="TIMER1 CAPT">Timer/Counter1 Capture Event</interrupt>
18 <interrupt vector="14" address="$01A" name="TIMER1 COMPA">Timer/Counter1 Compare Match A</interrupt>
19 <interrupt vector="15" address="$01C" name="TIMER1 COMPB">Timer/Counter Compare Match B</interrupt>
20 <interrupt vector="16" address="$01E" name="TIMER1 OVF">Timer/Counter1 Overflow</interrupt>
21 <interrupt vector="17" address="$020" name="TIMER0 COMP">Timer/Counter0 Compare Match</interrupt>
22 <interrupt vector="18" address="$022" name="TIMER0 OVF">Timer/Counter0 Overflow</interrupt>
23 <interrupt vector="19" address="$024" name="SPI, STC">SPI Serial Transfer Complete</interrupt>
24 <interrupt vector="20" address="$026" name="USART0, RXC">USART0, Rx Complete</interrupt>
25 <interrupt vector="21" address="$028" name="USART1, RXC">USART1, Rx Complete</interrupt>
26 <interrupt vector="22" address="$02A" name="USART0, UDRE">USART0 Data register Empty</interrupt>
27 <interrupt vector="23" address="$02C" name="USART1, UDRE">USART1, Data register Empty</interrupt>
28 <interrupt vector="24" address="$02E" name="USART0, TXC">USART0, Tx Complete</interrupt>
29 <interrupt vector="25" address="$030" name="USART1, TXC">USART1, Tx Complete</interrupt>
30 <interrupt vector="26" address="$032" name="EE_RDY">EEPROM Ready</interrupt>
31 <interrupt vector="27" address="$034" name="ANA_COMP">Analog Comparator</interrupt>
32 <interrupt vector="28" address="$036" name="SPM_RDY">Store Program Memory Read</interrupt>
33 </interrupts>
34 <memory>
35 <flash size="16384"/>
36 <iospace start="$20" stop="$FF"/>
37 <sram size="1024"/>
38 <eram size="65536"/>
39 </memory>
40 <ioregisters>
41 <ioreg name="UBRR1L" address="$00"/>
42 <ioreg name="UCSR1B" address="$01"/>
43 <ioreg name="UCSR1A" address="$02"/>
44 <ioreg name="UDR1" address="$03"/>
45 <ioreg name="OSCCAL" address="$04"/>
46 <ioreg name="OCDR" address="$04"/>
47 <ioreg name="PINE" address="$05"/>
48 <ioreg name="DDRE" address="$06"/>
49 <ioreg name="PORTE" address="$07"/>
50 <ioreg name="ACSR" address="$08"/>
51 <ioreg name="UBRR0L" address="$09"/>
52 <ioreg name="UCSR0B" address="$0A"/>
53 <ioreg name="UCSR0A" address="$0B"/>
54 <ioreg name="UDR0" address="$0C"/>
55 <ioreg name="SPCR" address="$0D"/>
56 <ioreg name="SPSR" address="$0E"/>
57 <ioreg name="SPDR" address="$0F"/>
58 <ioreg name="PIND" address="$10"/>
59 <ioreg name="DDRD" address="$11"/>
60 <ioreg name="PORTD" address="$12"/>
61 <ioreg name="PINC" address="$13"/>
62 <ioreg name="DDRC" address="$14"/>
63 <ioreg name="PORTC" address="$15"/>
64 <ioreg name="PINB" address="$16"/>
65 <ioreg name="DDRB" address="$17"/>
66 <ioreg name="PORTB" address="$18"/>
67 <ioreg name="PINA" address="$19"/>
68 <ioreg name="DDRA" address="$1A"/>
69 <ioreg name="PORTA" address="$1B"/>
70 <ioreg name="EECR" address="$1C"/>
71 <ioreg name="EEDR" address="$1D"/>
72 <ioreg name="EEARL" address="$1E"/>
73 <ioreg name="EEARH" address="$1F"/>
74 <ioreg name="UBRR0H" address="$20"/>
75 <ioreg name="UCSR0C" address="$20"/>
76 <ioreg name="WDTCR" address="$21"/>
77 <ioreg name="OCR2" address="$22"/>
78 <ioreg name="TCNT2" address="$23"/>
79 <ioreg name="ICR1L" address="$24"/>
80 <ioreg name="ICR1H" address="$25"/>
81 <ioreg name="ASSR" address="$26"/>
82 <ioreg name="TCCR2" address="$27"/>
83 <ioreg name="OCR1BL" address="$28"/>
84 <ioreg name="OCR1BH" address="$29"/>
85 <ioreg name="OCR1AL" address="$2A"/>
86 <ioreg name="OCR1AH" address="$2B"/>
87 <ioreg name="TCNT1L" address="$2C"/>
88 <ioreg name="TCNT1H" address="$2D"/>
89 <ioreg name="TCCR1B" address="$2E"/>
90 <ioreg name="TCCR1A" address="$2F"/>
91 <ioreg name="SFIOR" address="$30"/>
92 <ioreg name="OCR0" address="$31"/>
93 <ioreg name="TCNT0" address="$32"/>
94 <ioreg name="TCCR0" address="$33"/>
95 <ioreg name="MCUCSR" address="$34"/>
96 <ioreg name="MCUCR" address="$35"/>
97 <ioreg name="EMCUCR" address="$36"/>
98 <ioreg name="SPMCR" address="$37"/>
99 <ioreg name="TIFR" address="$38"/>
100 <ioreg name="TIMSK" address="$39"/>
101 <ioreg name="GIFR" address="$3A"/>
102 <ioreg name="GICR" address="$3B"/>
103 <ioreg name="UBRR1H" address="$3C"/>
104 <ioreg name="UCSR1C" address="$3C"/>
105 <ioreg name="SPL" address="$3D"/>
106 <ioreg name="SPH" address="$3E"/>
107 <ioreg name="SREG" address="$3F"/>
108 <ioreg name="CLKPR" address="$61"/>
109 <ioreg name="PCMSK0" address="$6B"/>
110 <ioreg name="PCMSK1" address="$6C"/>
111 <ioreg name="ETIFR" address="$7C"/>
112 <ioreg name="ETIMSK" address="$7D"/>
113 <ioreg name="ICR3L" address="$80"/>
114 <ioreg name="ICR3H" address="$81"/>
115 <ioreg name="OCR3BL" address="$84"/>
116 <ioreg name="OCR3BH" address="$85"/>
117 <ioreg name="OCR3AL" address="$86"/>
118 <ioreg name="OCR3AH" address="$87"/>
119 <ioreg name="TCNT3L" address="$88"/>
120 <ioreg name="TCNT3H" address="$89"/>
121 <ioreg name="TCCR3B" address="$8A"/>
122 <ioreg name="TCCR3A" address="$8B"/>
123 </ioregisters>
124 <packages>
125 <package name="TQFP" pins="44">
126 <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 controlled by DDB5.When the pin is forced by the SPI to be an input,the pull-up can still be controlled by the PORTB5 bit. </pin>
127 <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 by the SPI to be an input,the pull-up can still be controlled by the PORTB6 bit. </pin>
128 <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 controlled by DDB7.When the pin is forced by the SPI to be an input,the pull-up can still be controlled by the PORTB7 bit. </pin>
129 <pin id="4" name="['RESET]"/>
130 <pin id="5" name="[PDO:RXD0]">RXD0,Receive Data (Data input pin for USART0).When the USART0 receiver is enabled this pin is configured as an input regardless of the value of DDD0.When USART0 forces this pin to be an input,the pull-up can still be controlled by the PORTD0 bit. </pin>
131 <pin id="6" name=""/>
132 <pin id="7" name="[PD1:TXD0]">TXD0,Transmit Data (Data output pin for USART0).When the USART0 transmitter is enabled,this pin is configured as an output regardless of the value of DDD1. </pin>
133 <pin id="8" name="[PD2:INT0:XCK1]">INT0,External Interrupt source 0:The PD2 pin can serve as an external interrupt source. XCK1,USART1 external clock.The Data Direction Register (DDD2)controls whether the clock is output (DDD2 set)or input (DDD2 cleared).The XCK1 pin is active only when USART1 operates in synchronous mode. </pin>
134 <pin id="9" name="[PD3:INT1:XCK1]">INT1,External Interrupt source 1:The PD3 pin can serve as an external interrupt source. ICP3 -Input Capture Pin:The PD3 pin can act as an input capture pin for Timer/Counter3. </pin>
135 <pin id="10" name="[PD4:TOSC1:XCK0:OC3A]">TOSC1,Timer Oscillator pin 1:When the AS2 bit in ASSR is set (one)to enable asynchronous clocking of Timer/Counter2,pin PD4 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. XCK0,USART0 external clock.The Data Direction Register (DDD4)controls whether the clock is output (DDD4 set)or input (DDD4 cleared).The XCK0 pin is active only when USART0 operates in synchronous mode. OC3A,Output Compare matchA output:The PD4 pin can serve as an external output for the Timer/Counter1 output compareA.The pin has to be configured as an output (DDD4 set (one))to serve this function.The OC4A pin is also the output pin for the PWM mode timer function. </pin>
136 <pin id="11" name="[PD5:OC1A:TOSC2]">TOSC2,Timer Oscillator pin 2:When the AS2 bit in ASSR is set (one)to enable asynchronous clocking of Timer/Counter2,pin PD5 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. OC1A,Output Compare matchA output:The PD5 pin can serve as an external output for the Timer/Counter1 output compareA.The pin has to be configured as an output (DDD5 set (one))to serve this function.The OC1A pin is also the output pin for the PWM mode timer function. </pin>
137 <pin id="12" name="[PD6:'WR]">WR is the external data memory write control strobe.</pin>
138 <pin id="13" name="[PD7:RD]">RD is the external data memory read control strobe.</pin>
139 <pin id="13" name="XTAL2"/>
140 <pin id="15" name="XTAL1"/>
141 <pin id="16" name="GND"/>
142 <pin id="17" name=""/>
143 <pin id="18" name="[PC0:PCINT8:A8]">A8,External memory interface address bit 8. PCINT8:The pin can also serve as a pin change interrupt. </pin>
144 <pin id="19" name="[PC1:PCINT9:A9]">A9,External memory interface address bit 9. PCINT9:The pin can also serve as a pin change interrupt. </pin>
145 <pin id="20" name="[PC2:PCINT10:A10]">A10,External memory interface address bit 10. PCINT11:The pin can also serve as a pin change interrupt. </pin>
146 <pin id="21" name="[PC3:PCINT11:A11]">A11,External memory interface address bit 11. PCINT11:The pin can also serve as a pin change interrupt. </pin>
147 <pin id="22" name="[PC4:PCINT12:A12:TCK]">A12,External memory interface address bit 12. TCK,JTAG Test Clock:JTAG operation is synchronous to TCK.When the JTAG inter-face is enabled,this pin can not be used as an I/O pin. PCINT12:The pin can also serve as a pin change interrupt. </pin>
148 <pin id="23" name="[PC5:PCINT13:A13:TMS]">A13,External memory interface address bit 13. 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. PCINT13:The pin can also serve as a pin change interrupt. </pin>
149 <pin id="24" name="[PC6:PCINT14:A14:TDO]">A14,External memory interface address bit 14. 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. PCINT14:The pin can also serve as a pin change interrupt. </pin>
150 <pin id="25" name="[PC7:PCINT15:A15:TDI]">A15,External memory interface address bit 15. TDI,JTAG Test Data In:Serial input data to be shifted into 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. PCINT15:The pin can also serve as a pin change interrupt. </pin>
151 <pin id="26" name="[PE2:OC1B]">OC1B,Output Compare matchB output:The PE0 pin can serve as an external output for the Timer/Counter1 output compareB.The pin has to be configured as an output (DDE0 set (one))to serve this function.The OC1Bpin is also the output pin for the PWM mode timer function. </pin>
152 <pin id="27" name="[PE1:ALE]">ALE is the external data memory Address Latch Enable signal.</pin>
153 <pin id="28" name=""/>
154 <pin id="29" name="[PE0:ICP1:INT2]">ICP1 -Input Capture Pin:The PE2 pin can act as an input capture pin for Timer/Counter1. INT2,External Interrupt source 2:The PE2 pin can serve as an external interrupt source. </pin>
155 <pin id="30" name="[PA7:PCINT7:AD7]">AD7 (External memory interface address and data bit 7) PCINT7 (Pin Change INTerrupt 7) </pin>
156 <pin id="31" name="[PA6:PCINT6:AD6]">AD6 (External memory interface address and data bit 6) PCINT6 (Pin Change INTerrupt 6) </pin>
157 <pin id="32" name="[PA5:PCINT5:AD5]">AD5 (External memory interface address and data bit 5) PCINT5 (Pin Change INTerrupt 5) </pin>
158 <pin id="33" name="[PA4:PCINT4:AD4]">AD4 (External memory interface address and data bit 4) PCINT4 (Pin Change INTerrupt 4) </pin>
159 <pin id="34" name="[PA3:PCINT3:AD3]">AD3 (External memory interface address and data bit 3) PCINT3 (Pin Change INTerrupt 3) </pin>
160 <pin id="35" name="[PA2:PCINT2:AD2]">AD2 (External memory interface address and data bit 2) PCINT2 (Pin Change INTerrupt 2) </pin>
161 <pin id="36" name="[PA1:PCINT1:AD1]">AD1 (External memory interface address and data bit 1) PCINT1 (Pin Change INTerrupt 1) </pin>
162 <pin id="37" name="[PA0:PCINT0:AD0]">AD0 (External memory interface address and data bit 0) PCINT0 (Pin Change INTerrupt 0) </pin>
163 <pin id="38" name="[VCC]"/>
164 <pin id="39" name=""/>
165 <pin id="40" name="[PB0:OC0:T0]">T0,Timer/Counter0 counter source. OC0,Output compare match output:The PB0 pin can serve as an external output for the Timer/Counter0 compare match.The PB0 pin has to be configured as an output (DDB0 set (one))to serve this function.The OC0 pin is also the output pin for the PWM mode timer function. </pin>
166 <pin id="41" name="[PB1:OC2:T1]">T1,Timer/Counter1 counter source. OC2,Output compare match output:The PB1 pin can serve as an external output for the Timer/Counter2 compare match.The PB1 pin has to be configured as an output (DDB1 set (one))to serve this function.The OC2 pin is also the output pin for the PWM mode timer function. </pin>
167 <pin id="42" name="[PB2:RXD1:AIN0]">AIN0,Analog Comparator Positive Input.Configure the port pin as input with the internal pull-up switched off to avoid the digital port function from interfering with the function of the analog comparator. RXD1,Receive Data (Data input pin for USART1).When the USART1 receiver is enabled this pin is configured as an input regardless of the value of DDB2.When the USART1 forces this pin to be an input,the pull-up can still be controlled by the PORTB2 bit. </pin>
168 <pin id="43" name="[PB3:TXD1:AIN1]">AIN1,Analog Comparator Negative Input.Configure the port pin as input with the internal pull-up switched off to avoid the digital port function from interfering with the function of the analog comparator. TXD1,Transmit Data (Data output pin for USART1).When the USART1 transmitter is enabled,this pin is configured as an output regardless of the value of DDB3. </pin>
169 <pin id="44" name="[PB4:OC3B:'SS]">SS:Slave 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 direction of this pin is controlled by DDB4.When the pin is forced by the SPI to be an input,the pull-up can still be controlled by the PORTB4 bit. OC3B,Output Compare matchB output:The PB4 pin can serve as an external output for the Timer/Counter3 output compareB.The pin has to be configured as an output (DDB4 set (one))to serve this function.The OC3B pin is also the output pin for the PWM mode timer function. </pin>
170 </package>
171 </packages>
173 <hardware>
174 <eeprom size="512">
175 <eearl>EEARL</eearl>
176 <eearh>EEARH</eearh>
177 <eecr>EECR</eecr>
178 <eedr>EEDR</eedr>
179 </eeprom>
181 <hwport name="PORTA">
182 <port>PORTA</port>
183 <pin>PINA</pin>
184 <ddr>DDRA</ddr>
185 </hwport>
187 <hwport name="PORTB">
188 <port>PORTB</port>
189 <pin>PINB</pin>
190 <ddr>DDRB</ddr>
191 </hwport>
193 <hwport name="PORTC">
194 <port>PORTC</port>
195 <pin>PINC</pin>
196 <ddr>DDRC</ddr>
197 </hwport>
199 <hwport name="PORTD">
200 <port>PORTD</port>
201 <pin>PIND</pin>
202 <ddr>DDRD</ddr>
203 </hwport>
205 <hwport name="PORTE">
206 <port>PORTE</port>
207 <pin>PINE</pin>
208 <ddr>DDRE</ddr>
209 </hwport>
211 <!-- Timer/Counter0 -->
212 <timer8 name="Timer/Counter0" tov="0x02" ocf="0x01">
213 <!--
214 <outputcompareunit bla="1">
215 <ocr>OCR0</ocr>
216 </outputcompareunit>
218 <outputcompareunit>
219 <ocr>OCR0</ocr>
220 </outputcompareunit>
223 <tccr>TCCR0</tccr>
224 <tcnt>TCNT0</tcnt>
225 <ocr>OCR0</ocr>
226 <tifr>TIFR</tifr>
227 </timer8>
229 <timerirq
230 bit0Vec="17"
231 bit1Vec="18"
232 bit2Vec="12"
233 bit3Vec="13"
234 bit4Vec="11"
235 bit5Vec="15"
236 bit6Vec="14"
237 bit7Vec="16">
238 <tifr>TIFR</tifr>
239 <timsk>TIMSK</timsk>
240 </timerirq>
241 </hardware>
243 </device>