tn13Adef.asm


1
;***** THIS IS A MACHINE GENERATED FILE - DO NOT EDIT ********************
2
;***** Created: 2011-02-09 12:03 ******* Source: ATtiny13A.xml ***********
3
;*************************************************************************
4
;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y
5
;* 
6
;* Number            : AVR000
7
;* File Name         : "tn13Adef.inc"
8
;* Title             : Register/Bit Definitions for the ATtiny13A
9
;* Date              : 2011-02-09
10
;* Version           : 2.35
11
;* Support E-mail    : avr@atmel.com
12
;* Target MCU        : ATtiny13A
13
;* 
14
;* DESCRIPTION
15
;* When including this file in the assembly program file, all I/O register 
16
;* names and I/O register bit names appearing in the data book can be used.
17
;* In addition, the six registers forming the three data pointers X, Y and 
18
;* Z have been assigned names XL - ZH. Highest RAM address for Internal 
19
;* SRAM is also defined 
20
;* 
21
;* The Register names are represented by their hexadecimal address.
22
;* 
23
;* The Register Bit names are represented by their bit number (0-7).
24
;* 
25
;* Please observe the difference in using the bit names with instructions
26
;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc"
27
;* (skip if bit in register set/cleared). The following example illustrates
28
;* this:
29
;* 
30
;* in    r16,PORTB             ;read PORTB latch
31
;* sbr   r16,(1<<PB6)+(1<<PB5) ;set PB6 and PB5 (use masks, not bit#)
32
;* out   PORTB,r16             ;output to PORTB
33
;* 
34
;* in    r16,TIFR              ;read the Timer Interrupt Flag Register
35
;* sbrc  r16,TOV0              ;test the overflow flag (use bit#)
36
;* rjmp  TOV0_is_set           ;jump if set
37
;* ...                         ;otherwise do something else
38
;*************************************************************************
39
40
  ifndef _TN13ADEF_INC_
41
#define _TN13ADEF_INC_
42
43
44
; #pragma partinc 0
45
46
; ***** SPECIFY DEVICE ***************************************************
47
  cpu atmega8 ;.device ATtiny13A
48
; #pragma AVRPART ADMIN PART_NAME ATtiny13A
49
SIGNATURE_000: equ  0x1e
50
SIGNATURE_001: equ  0x90
51
SIGNATURE_002: equ  0x07
52
53
; #pragma AVRPART CORE CORE_VERSION V2
54
; #pragma AVRPART CORE NEW_INSTRUCTIONS lpm rd,z+
55
56
57
; ***** I/O REGISTER DEFINITIONS *****************************************
58
; NOTE:
59
; Definitions marked "MEMORY MAPPED"are extended I/O ports
60
; and cannot be used with IN/OUT instructions
61
SREG: equ  0x3f
62
SPL: equ  0x3d
63
GIMSK: equ  0x3b
64
GIFR: equ  0x3a
65
TIMSK0: equ  0x39
66
TIFR0: equ  0x38
67
SPMCSR: equ  0x37
68
OCR0A: equ  0x36
69
MCUCR: equ  0x35
70
MCUSR: equ  0x34
71
TCCR0B: equ  0x33
72
TCNT0: equ  0x32
73
OSCCAL: equ  0x31
74
BODCR: equ  0x30
75
TCCR0A: equ  0x2f
76
DWDR: equ  0x2e
77
OCR0B: equ  0x29
78
GTCCR: equ  0x28
79
CLKPR: equ  0x26
80
PRR: equ  0x25
81
WDTCR: equ  0x21
82
EEAR: equ  0x1e
83
EEDR: equ  0x1d
84
EECR: equ  0x1c
85
PORTB: equ  0x18
86
DDRB: equ  0x17
87
PINB: equ  0x16
88
PCMSK: equ  0x15
89
DIDR0: equ  0x14
90
ACSR: equ  0x08
91
ADMUX: equ  0x07
92
ADCSRA: equ  0x06
93
ADCH: equ  0x05
94
ADCL: equ  0x04
95
ADCSRB: equ  0x03
96
97
98
; ***** BIT DEFINITIONS **************************************************
99
100
; ***** AD_CONVERTER *****************
101
; ADMUX - The ADC multiplexer Selection Register
102
MUX0: equ  0  ; Analog Channel and Gain Selection Bits
103
MUX1: equ  1  ; Analog Channel and Gain Selection Bits
104
ADLAR: equ  5  ; Left Adjust Result
105
REFS0: equ  6  ; Reference Selection Bit 0
106
107
; ADCSRA - The ADC Control and Status register
108
ADPS0: equ  0  ; ADC  Prescaler Select Bits
109
ADPS1: equ  1  ; ADC  Prescaler Select Bits
110
ADPS2: equ  2  ; ADC  Prescaler Select Bits
111
ADIE: equ  3  ; ADC Interrupt Enable
112
ADIF: equ  4  ; ADC Interrupt Flag
113
ADATE: equ  5  ; ADC Auto Trigger Enable
114
ADSC: equ  6  ; ADC Start Conversion
115
ADEN: equ  7  ; ADC Enable
116
117
; ADCH - ADC Data Register High Byte
118
ADCH0: equ  0  ; ADC Data Register High Byte Bit 0
119
ADCH1: equ  1  ; ADC Data Register High Byte Bit 1
120
ADCH2: equ  2  ; ADC Data Register High Byte Bit 2
121
ADCH3: equ  3  ; ADC Data Register High Byte Bit 3
122
ADCH4: equ  4  ; ADC Data Register High Byte Bit 4
123
ADCH5: equ  5  ; ADC Data Register High Byte Bit 5
124
ADCH6: equ  6  ; ADC Data Register High Byte Bit 6
125
ADCH7: equ  7  ; ADC Data Register High Byte Bit 7
126
127
; ADCL - ADC Data Register Low Byte
128
ADCL0: equ  0  ; ADC Data Register Low Byte Bit 0
129
ADCL1: equ  1  ; ADC Data Register Low Byte Bit 1
130
ADCL2: equ  2  ; ADC Data Register Low Byte Bit 2
131
ADCL3: equ  3  ; ADC Data Register Low Byte Bit 3
132
ADCL4: equ  4  ; ADC Data Register Low Byte Bit 4
133
ADCL5: equ  5  ; ADC Data Register Low Byte Bit 5
134
ADCL6: equ  6  ; ADC Data Register Low Byte Bit 6
135
ADCL7: equ  7  ; ADC Data Register Low Byte Bit 7
136
137
; ADCSRB - ADC Control and Status Register B
138
ADTS0: equ  0  ; ADC Auto Trigger Source 0
139
ADTS1: equ  1  ; ADC Auto Trigger Source 1
140
ADTS2: equ  2  ; ADC Auto Trigger Source 2
141
142
; DIDR0 - Digital Input Disable Register 0
143
ADC1D: equ  2  ; ADC2 Digital input Disable
144
ADC3D: equ  3  ; ADC3 Digital input Disable
145
ADC2D: equ  4  ; ADC2 Digital input Disable
146
ADC0D: equ  5  ; ADC0 Digital input Disable
147
148
149
; ***** ANALOG_COMPARATOR ************
150
; ADCSRB - ADC Control and Status Register B
151
ACME: equ  6  ; Analog Comparator Multiplexer Enable
152
153
; ACSR - Analog Comparator Control And Status Register
154
ACIS0: equ  0  ; Analog Comparator Interrupt Mode Select bit 0
155
ACIS1: equ  1  ; Analog Comparator Interrupt Mode Select bit 1
156
ACIE: equ  3  ; Analog Comparator Interrupt Enable
157
ACI: equ  4  ; Analog Comparator Interrupt Flag
158
ACO: equ  5  ; Analog Compare Output
159
ACBG: equ  6  ; Analog Comparator Bandgap Select
160
AINBG: equ  ACBG  ; For compatibility
161
ACD: equ  7  ; Analog Comparator Disable
162
163
; DIDR0 - 
164
AIN0D: equ  0  ; AIN0 Digital Input Disable
165
AIN1D: equ  1  ; AIN1 Digital Input Disable
166
167
168
; ***** EEPROM ***********************
169
; EEAR - EEPROM Read/Write Access
170
EEARL: equ  EEAR  ; For compatibility
171
EEAR0: equ  0  ; EEPROM Read/Write Access bit 0
172
EEAR1: equ  1  ; EEPROM Read/Write Access bit 1
173
EEAR2: equ  2  ; EEPROM Read/Write Access bit 2
174
EEAR3: equ  3  ; EEPROM Read/Write Access bit 3
175
EEAR4: equ  4  ; EEPROM Read/Write Access bit 4
176
EEAR5: equ  5  ; EEPROM Read/Write Access bit 5
177
178
; EEDR - EEPROM Data Register
179
EEDR0: equ  0  ; EEPROM Data Register bit 0
180
EEDR1: equ  1  ; EEPROM Data Register bit 1
181
EEDR2: equ  2  ; EEPROM Data Register bit 2
182
EEDR3: equ  3  ; EEPROM Data Register bit 3
183
EEDR4: equ  4  ; EEPROM Data Register bit 4
184
EEDR5: equ  5  ; EEPROM Data Register bit 5
185
EEDR6: equ  6  ; EEPROM Data Register bit 6
186
EEDR7: equ  7  ; EEPROM Data Register bit 7
187
188
; EECR - EEPROM Control Register
189
EERE: equ  0  ; EEPROM Read Enable
190
EEWE: equ  1  ; EEPROM Write Enable
191
EEPE: equ  EEWE  ; For compatibility
192
EEMWE: equ  2  ; EEPROM Master Write Enable
193
EEMPE: equ  EEMWE  ; For compatibility
194
EERIE: equ  3  ; EEProm Ready Interrupt Enable
195
EEPM0: equ  4  ; 
196
EEPM1: equ  5  ; 
197
198
199
; ***** PORTB ************************
200
; PORTB - Data Register, Port B
201
PORTB0: equ  0  ; 
202
PB0: equ  0  ; For compatibility
203
PORTB1: equ  1  ; 
204
PB1: equ  1  ; For compatibility
205
PORTB2: equ  2  ; 
206
PB2: equ  2  ; For compatibility
207
PORTB3: equ  3  ; 
208
PB3: equ  3  ; For compatibility
209
PORTB4: equ  4  ; 
210
PB4: equ  4  ; For compatibility
211
PORTB5: equ  5  ; 
212
PB5: equ  5  ; For compatibility
213
214
; DDRB - Data Direction Register, Port B
215
DDB0: equ  0  ; 
216
DDB1: equ  1  ; 
217
DDB2: equ  2  ; 
218
DDB3: equ  3  ; 
219
DDB4: equ  4  ; 
220
DDB5: equ  5  ; 
221
222
; PINB - Input Pins, Port B
223
PINB0: equ  0  ; 
224
PINB1: equ  1  ; 
225
PINB2: equ  2  ; 
226
PINB3: equ  3  ; 
227
PINB4: equ  4  ; 
228
PINB5: equ  5  ; 
229
230
231
; ***** EXTERNAL_INTERRUPT ***********
232
; MCUCR - MCU Control Register
233
ISC00: equ  0  ; Interrupt Sense Control 0 Bit 0
234
ISC01: equ  1  ; Interrupt Sense Control 0 Bit 1
235
236
; GIMSK - General Interrupt Mask Register
237
GICR: equ  GIMSK  ; For compatibility
238
PCIE: equ  5  ; Pin Change Interrupt Enable
239
INT0: equ  6  ; External Interrupt Request 0 Enable
240
241
; GIFR - General Interrupt Flag register
242
PCIF: equ  5  ; Pin Change Interrupt Flag
243
INTF0: equ  6  ; External Interrupt Flag 0
244
245
; PCMSK - Pin Change Enable Mask
246
PCINT0: equ  0  ; Pin Change Enable Mask Bit 0
247
PCINT1: equ  1  ; Pin Change Enable Mask Bit 1
248
PCINT2: equ  2  ; Pin Change Enable Mask Bit 2
249
PCINT3: equ  3  ; Pin Change Enable Mask Bit 3
250
PCINT4: equ  4  ; Pin Change Enable Mask Bit 4
251
PCINT5: equ  5  ; Pin Change Enable Mask Bit 5
252
253
254
; ***** TIMER_COUNTER_0 **************
255
; TIMSK0 - Timer/Counter0 Interrupt Mask Register
256
TOIE0: equ  1  ; Timer/Counter0 Overflow Interrupt Enable
257
OCIE0A: equ  2  ; Timer/Counter0 Output Compare Match A Interrupt Enable
258
OCIE0B: equ  3  ; Timer/Counter0 Output Compare Match B Interrupt Enable
259
260
; TIFR0 - Timer/Counter0 Interrupt Flag register
261
TOV0: equ  1  ; Timer/Counter0 Overflow Flag
262
OCF0A: equ  2  ; Timer/Counter0 Output Compare Flag 0A
263
OCF0B: equ  3  ; Timer/Counter0 Output Compare Flag 0B
264
265
; OCR0A - Timer/Counter0 Output Compare Register
266
OCR0A_0: equ  0  ; 
267
OCR0A_1: equ  1  ; 
268
OCR0A_2: equ  2  ; 
269
OCR0A_3: equ  3  ; 
270
OCR0A_4: equ  4  ; 
271
OCR0A_5: equ  5  ; 
272
OCR0A_6: equ  6  ; 
273
OCR0A_7: equ  7  ; 
274
275
; TCCR0A - Timer/Counter  Control Register A
276
WGM00: equ  0  ; Waveform Generation Mode
277
WGM01: equ  1  ; Waveform Generation Mode
278
COM0B0: equ  4  ; Compare Match Output B Mode
279
COM0B1: equ  5  ; Compare Match Output B Mode
280
COM0A0: equ  6  ; Compare Match Output A Mode
281
COM0A1: equ  7  ; Compare Match Output A Mode
282
283
; TCNT0 - Timer/Counter0
284
TCNT0_0: equ  0  ; 
285
TCNT0_1: equ  1  ; 
286
TCNT0_2: equ  2  ; 
287
TCNT0_3: equ  3  ; 
288
TCNT0_4: equ  4  ; 
289
TCNT0_5: equ  5  ; 
290
TCNT0_6: equ  6  ; 
291
TCNT0_7: equ  7  ; 
292
293
; TCCR0B - Timer/Counter Control Register B
294
CS00: equ  0  ; Clock Select
295
CS01: equ  1  ; Clock Select
296
CS02: equ  2  ; Clock Select
297
WGM02: equ  3  ; Waveform Generation Mode
298
FOC0B: equ  6  ; Force Output Compare B
299
FOC0A: equ  7  ; Force Output Compare A
300
301
; OCR0B - Timer/Counter0 Output Compare Register
302
OCR0B_0: equ  0  ; 
303
OCR0B_1: equ  1  ; 
304
OCR0B_2: equ  2  ; 
305
OCR0B_3: equ  3  ; 
306
OCR0B_4: equ  4  ; 
307
OCR0B_5: equ  5  ; 
308
OCR0B_6: equ  6  ; 
309
OCR0B_7: equ  7  ; 
310
311
; GTCCR - General Timer Conuter Register
312
PSR10: equ  0  ; Prescaler Reset Timer/Counter0
313
TSM: equ  7  ; Timer/Counter Synchronization Mode
314
315
316
; ***** WATCHDOG *********************
317
; WDTCR - Watchdog Timer Control Register
318
WDP0: equ  0  ; Watch Dog Timer Prescaler bit 0
319
WDP1: equ  1  ; Watch Dog Timer Prescaler bit 1
320
WDP2: equ  2  ; Watch Dog Timer Prescaler bit 2
321
WDE: equ  3  ; Watch Dog Enable
322
WDCE: equ  4  ; Watchdog Change Enable
323
WDP3: equ  5  ; Watchdog Timer Prescaler Bit 3
324
WDTIE: equ  6  ; Watchdog Timeout Interrupt Enable
325
WDTIF: equ  7  ; Watchdog Timeout Interrupt Flag
326
327
328
; ***** CPU **************************
329
; SREG - Status Register
330
SREG_C: equ  0  ; Carry Flag
331
SREG_Z: equ  1  ; Zero Flag
332
SREG_N: equ  2  ; Negative Flag
333
SREG_V: equ  3  ; Two's Complement Overflow Flag
334
SREG_S: equ  4  ; Sign Bit
335
SREG_H: equ  5  ; Half Carry Flag
336
SREG_T: equ  6  ; Bit Copy Storage
337
SREG_I: equ  7  ; Global Interrupt Enable
338
339
; SPL - Stack Pointer Low Byte
340
SP0: equ  0  ; Stack Pointer Bit 0
341
SP1: equ  1  ; Stack Pointer Bit 1
342
SP2: equ  2  ; Stack Pointer Bit 2
343
SP3: equ  3  ; Stack Pointer Bit 3
344
SP4: equ  4  ; Stack Pointer Bit 4
345
SP5: equ  5  ; Stack Pointer Bit 5
346
SP6: equ  6  ; Stack Pointer Bit 6
347
SP7: equ  7  ; Stack Pointer Bit 7
348
349
; MCUCR - MCU Control Register
350
;.equ  ISC00  = 0  ; Interrupt Sense Control 0 bit 0
351
;.equ  ISC01  = 1  ; Interrupt Sense Control 0 bit 1
352
SM0: equ  3  ; Sleep Mode Select Bit 0
353
SM1: equ  4  ; Sleep Mode Select Bit 1
354
SE: equ  5  ; Sleep Enable
355
PUD: equ  6  ; Pull-up Disable
356
357
; MCUSR - MCU Status register
358
PORF: equ  0  ; Power-On Reset Flag
359
EXTRF: equ  1  ; External Reset Flag
360
BORF: equ  2  ; Brown-out Reset Flag
361
WDRF: equ  3  ; Watchdog Reset Flag
362
363
; OSCCAL - Oscillator Calibration Register
364
CAL0: equ  0  ; Oscillatro Calibration Value Bit 0
365
CAL1: equ  1  ; Oscillatro Calibration Value Bit 1
366
CAL2: equ  2  ; Oscillatro Calibration Value Bit 2
367
CAL3: equ  3  ; Oscillatro Calibration Value Bit 3
368
CAL4: equ  4  ; Oscillatro Calibration Value Bit 4
369
CAL5: equ  5  ; Oscillatro Calibration Value Bit 5
370
CAL6: equ  6  ; Oscillatro Calibration Value Bit 6
371
372
; CLKPR - Clock Prescale Register
373
CLKPS0: equ  0  ; Clock Prescaler Select Bit 0
374
CLKPS1: equ  1  ; Clock Prescaler Select Bit 1
375
CLKPS2: equ  2  ; Clock Prescaler Select Bit 2
376
CLKPS3: equ  3  ; Clock Prescaler Select Bit 3
377
CLKPCE: equ  7  ; Clock Prescaler Change Enable
378
379
; DWDR - Debug Wire Data Register
380
DWDR0: equ  0  ; Debug Wire Data Register Bit 0
381
DWDR1: equ  1  ; Debug Wire Data Register Bit 1
382
DWDR2: equ  2  ; Debug Wire Data Register Bit 2
383
DWDR3: equ  3  ; Debug Wire Data Register Bit 3
384
DWDR4: equ  4  ; Debug Wire Data Register Bit 4
385
DWDR5: equ  5  ; Debug Wire Data Register Bit 5
386
DWDR6: equ  6  ; Debug Wire Data Register Bit 6
387
DWDR7: equ  7  ; Debug Wire Data Register Bit 7
388
389
; SPMCSR - Store Program Memory Control and Status Register
390
SPMEN: equ  0  ; Store program Memory Enable
391
PGERS: equ  1  ; Page Erase
392
PGWRT: equ  2  ; Page Write
393
RFLB: equ  3  ; Read Fuse and Lock Bits
394
CTPB: equ  4  ; Clear Temporary Page Buffer
395
396
; PRR - Power Reduction Register
397
PRADC: equ  0  ; Power Reduction ADC
398
PRTIM0: equ  1  ; Power Reduction Timer/Counter0
399
400
; BODCR - BOD Control Register
401
BPDSE: equ  0  ; BOD Power-Down Sleep Enable
402
BPDS: equ  1  ; BOD Power-Down in Power-Down Sleep
403
404
405
406
; ***** LOCKSBITS ********************************************************
407
LB1: equ  0  ; Lockbit
408
LB2: equ  1  ; Lockbit
409
410
411
; ***** FUSES ************************************************************
412
; LOW fuse bits
413
CKSEL0: equ  0  ; Select Clock Source
414
CKSEL1: equ  1  ; Select Clock Source
415
SUT0: equ  2  ; Select start-up time
416
SUT1: equ  3  ; Select start-up time
417
CKDIV8: equ  4  ; Start up with system clock divided by 8
418
WDTON: equ  5  ; Watch dog timer always on
419
EESAVE: equ  6  ; Keep EEprom contents during chip erase
420
SPIEN: equ  7  ; SPI programming enable
421
422
; HIGH fuse bits
423
RSTDISBL: equ  0  ; Disable external reset
424
BODLEVEL0: equ  1  ; Enable BOD and select level
425
BODLEVEL1: equ  2  ; Enable BOD and select level
426
DWEN: equ  3  ; DebugWire Enable
427
SELFPRGEN: equ  4  ; Self Programming Enable
428
429
430
431
; ***** CPU REGISTER DEFINITIONS *****************************************
432
XH: reg  r27
433
XL: reg  r26
434
YH: reg  r29
435
YL: reg  r28
436
ZH: reg  r31
437
ZL: reg  r30
438
439
440
441
; ***** DATA MEMORY DECLARATIONS *****************************************
442
FLASHEND: equ  0x01ff  ; Note: Word address
443
IOEND: equ  0x003f
444
SRAM_START: equ  0x0060
445
SRAM_SIZE: equ  64
446
RAMEND: equ  0x009f
447
XRAMEND: equ  0x0000
448
E2END: equ  0x003f
449
EEPROMEND: equ  0x003f
450
EEADRBITS: equ  6
451
; #pragma AVRPART MEMORY PROG_FLASH 1024
452
; #pragma AVRPART MEMORY EEPROM 64
453
; #pragma AVRPART MEMORY INT_SRAM SIZE 64
454
; #pragma AVRPART MEMORY INT_SRAM START_ADDR 0x60
455
456
457
458
; ***** BOOTLOADER DECLARATIONS ******************************************
459
PAGESIZE: equ  16
460
461
462
463
; ***** INTERRUPT VECTORS ************************************************
464
INT0addr: equ  0x0001  ; External Interrupt 0
465
PCI0addr: equ  0x0002  ; External Interrupt Request 0
466
OVF0addr: equ  0x0003  ; Timer/Counter0 Overflow
467
ERDYaddr: equ  0x0004  ; EEPROM Ready
468
ACIaddr: equ  0x0005  ; Analog Comparator
469
OC0Aaddr: equ  0x0006  ; Timer/Counter Compare Match A
470
OC0Baddr: equ  0x0007  ; Timer/Counter Compare Match B
471
WDTaddr: equ  0x0008  ; Watchdog Time-out
472
ADCCaddr: equ  0x0009  ; ADC Conversion Complete
473
474
INT_VECTORS_SIZE: equ  10  ; size in words
475
476
  endif; /* _TN13ADEF_INC_ */
477
478
; ***** END OF FILE ******************************************************