Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1186 savelij 1
		ifndef	__regtnx7inc
2
__regtnx7inc	equ	1
3
                save
4
                listing off   ; no listing over this file
5
 
6
;****************************************************************************
7
;*                                                                          *
8
;*   AS 1.42 - File REGTNX7.INC                                             *
9
;*                                                                          *
10
;*   Contains common bit & Register definitions for ATtiny87/167            *
11
;*                                                                          *
12
;****************************************************************************
13
 
14
;----------------------------------------------------------------------------
15
; Chip Configuration
16
 
17
MCUCR		port	0x35		; MCU General Control Register
18
BODSE		avrbit	MCUCR,5		; BOD Sleep
19
BODS		avrbit	MCUCR,6		; BOD Sleep Enable
20
 
21
MCUSR		port	0x34		; MCU Status Register
22
WDRF		avrbit	MCUSR,3		; Watchdog Reset Flag
23
BORF		avrbit	MCUSR,2		; Brown-out Reset Flag
24
EXTRF		avrbit	MCUSR,1		; External Reset Flag
25
PORF		avrbit	MCUSR,0		; Power-On Reset Flag
26
 
27
SMCR		port	0x33		; Sleep Mode Control Register
28
SE		avrbit	SMCR,0		; Sleep Enable
29
SM0		avrbit	SMCR,1		; Sleep Mode Select
30
SM1		avrbit	SMCR,2
31
 
32
OSCCAL		sfr	0x66		; Oscillator Calibration
33
 
34
CLKPR		sfr	0x61		; Clock Prescaler
35
CLKPS0		avrbit	CLKPR,0		; Prescaler Select
36
CLKPS1		avrbit	CLKPR,1
37
CLKPS2		avrbit	CLKPR,2
38
CLKPS3		avrbit	CLKPR,3
39
CLKPCE		avrbit	CLKPR,7		; Clock Prescaler Change Enable
40
 
41
CLKCSR		sfr	0x62		; Clock Control/Status Register
42
CLKC0		avrbit	CLKCSR,0	; Clock Control Bits
43
CLKC1		avrbit	CLKCSR,1
44
CLKC2		avrbit	CLKCSR,2
45
CLKC3		avrbit	CLKCSR,3
46
CLKRDY		avrbit	CLKCSR,4	; Clock Ready Flag
47
CLKCCE		avrbit	CLKCSR,7	; Clock Control Change Enable
48
 
49
CLKSELR		sfr	0x63		; Clock Selection Register
50
CSEL0		avrbit	CLKSELR,0	; Clock Source Select
51
CSEL1		avrbit	CLKSELR,1
52
CSEL2		avrbit	CLKSELR,2
53
CSEL3		avrbit	CLKSELR,3
54
CSUT0		avrbit	CLKSELR,4	; Clock Start-up Time
55
CSUT1		avrbit	CLKSELR,5
56
COUT		avrbit	CLKSELR,6	; Clock Out
57
 
58
PRR		sfr	0x64		; Power Reduction Register
59
PRADC		avrbit	PRR,0		; Power Reduction AD Converter
60
PRUSI		avrbit	PRR,1		; Power Reduction USI
61
PRTIM1		avrbit	PRR,2		; Power Reduction Timer/Counter 1
62
PRTIM0		avrbit	PRR,3		; Power Reduction Timer/Counter 0
63
PRSPI		avrbit	PRR,4		; Power Reduction  SPI
64
PRLIN		avrbit	PRR,5		; Power Reduction Power Reduction LIN / UART Controller
65
 
66
;----------------------------------------------------------------------------
67
; EEPROM/Flash Access
68
 
69
EEARL		port	0x21		; EEPROM Address Register Low
70
EEARH		port	0x22		; EEPROM Address Register High
71
EEDR		port	0x20		; EEPROM Data Register
72
EECR		port	0x1f		; EEPROM Control Register
73
EEPM1		avrbit	EECR,5		; EEPROM Program Mode
74
EEPM0		avrbit	EECR,4
75
EERIE		avrbit	EECR,3		; EEPROM Ready Interrupt Enable
76
EEMPE		avrbit	EECR,2		; EEPROM Master Write Enable
77
EEPE		avrbit	EECR,1		; EEPROM Write Enable
78
EERE		avrbit	EECR,0		; EEPROM Read Enable
79
 
80
SPMCSR		port	0x37		; Store Program Memory Control/Status Register
81
RWWSB		avrbit	SPMCSR,6	; Read-While-Write Section Busy
82
SIGRD		avrbit	SPMCSR,5	; Read Signature Bytes
83
CTPB		avrbit	SPMCSR,4	; Clear Temporary Page Buffer
84
RFLB		avrbit	SPMCSR,3	; Read Fuse and Lock Bits
85
PGWRT		avrbit	SPMCSR,2	; Page Write
86
PGERS		avrbit	SPMCSR,1	; Page Erase
87
SPMEN		avrbit	SPMCSR,0	; Self Programming Enable
88
 
89
;----------------------------------------------------------------------------
90
; JTAG etc.
91
 
92
DWDR		port	0x31		; debugWire Data Register
93
 
94
;----------------------------------------------------------------------------
95
; GPIO
96
 
97
PUD		avrbit	MCUCR,4		; Pull-Up Disable
98
 
99
PINA		port	0x00		; Port A @ 0x00 (IO) ff.
100
PINB		port	0x03		; Port B @ 0x03 (IO) ff.
101
 
102
GPIOR0		port	0x1e		; General Purpose I/O Register 0
103
GPIOR1		port	0x2a		; General Purpose I/O Register 1
104
GPIOR2		port	0x2b		; General Purpose I/O Register 2
105
 
106
PORTCR		port	0x12		; Port Control Register
107
PUDA		avrbit	PORTCR,0	; Pull-up Disable Port A
108
PUDB		avrbit	PORTCR,1	; Pull-up Disable Port B
109
BBMA		avrbit	PORTCR,4	; Break-Before-Make Mode Enable A
110
BBMB		avrbit	PORTCR,5	; Break-Before-Make Mode Enable B
111
 
112
PCMSK0		sfr	0x6b		; Pin Change Interrupt Mask 0
113
PCMSK1		sfr	0x6c		; Pin Change Interrupt Mask 1
114
 
115
PCICR		sfr	0x68		; Pin Change Interrupt Control Register
116
 
117
PCIFR		port	0x1b		; Pin Change Interrupt Flag Register
118
 
119
;----------------------------------------------------------------------------
120
; Interrupt Vectors
121
 
122
		enumconf 1,code
123
		enum	 INT0_vect=1		; External Interrupt Request 0
124
		nextenum INT1_vect		; External Interrupt Request 1
125
		nextenum PCINT0_vect		; Pin Change Interrupt 0
126
		nextenum PCINT1_vect		; Pin Change Interrupt 1
127
		nextenum WDT_vect		; Watchdog Time-Out
128
		nextenum TIMER1_CAPT_vect	; Timer/Counter 1 Capture Event
129
		nextenum TIMER1_COMPA_vect	; Timer/Counter 1 Compare Match A
130
		nextenum TIMER1_COMPB_vect	; Timer/Counter 1 Compare Match B
131
		nextenum TIMER1_OVF_vect	; Timer/Counter 1 Overflow
132
		nextenum TIMER0_COMPA_vect	; Timer/Counter 0 Compare Match A
133
		nextenum TIMER0_OVF_vect	; Timer/Counter 0 Overflow
134
		nextenum LIN_TC_vect		; LIN/UART Transfer Complete
135
		nextenum LIN_ERR_vect		; LIN/UART Error
136
		nextenum SPI_STC_vect		; SPI Serial Transfer Complete
137
		nextenum ADC_vect		; ADC Conversion Complete
138
		nextenum EE_RDY_vect		; EEPROM Ready
139
		nextenum ANA_COMP_vect		; Analog Comparator
140
		nextenum USI_START_vect		; USI Start
141
		nextenum USI_OVF_vect		; USI Overflow
142
 
143
;----------------------------------------------------------------------------
144
; External Interrupts
145
 
146
EICRA		sfr	0x69		; External Interrupt Control Register A
147
ISC00		avrbit	EICRA,0		; External Interrupt 0 Sense Control
148
ISC01		avrbit	EICRA,1
149
ISC10		avrbit	EICRA,2		; External Interrupt 1 Sense Control
150
ISC11		avrbit	EICRA,3
151
 
152
EIMSK		port	0x1d		; External Interrupt Mask Register
153
INT0		avrbit	EIMSK,0		; Enable External Interrupt 0
154
INT1		avrbit	EIMSK,1		; Enable External Interrupt 1
155
 
156
EIFR		port	0x1c		; External Interrupt Flag Register
157
INTF0		avrbit	EIFR,0		; External Interrupt 0 Occured
158
INTF1		avrbit	EIFR,1		; External Interrupt 1 Occured
159
 
160
;----------------------------------------------------------------------------
161
; Timers
162
 
163
TCCR0A		port	0x25		; Timer/Counter 0 Control Register A
164
WGM00		avrbit	TCCR0A,0	; Timer/Counter 0 Waveform Generation Mode
165
WGM01		avrbit	TCCR0A,1
166
COM0A0		avrbit	TCCR0A,6	; Timer/Counter 0 Output Compare Mode A
167
COM0A1		avrbit	TCCR0A,7
168
TCCR0B		port	0x26		; Timer/Counter 0 Control Register B
169
CS00		avrbit	TCCR0B,0	; Timer/Counter 0 Clock Select
170
CS01		avrbit	TCCR0B,1
171
CS02		avrbit	TCCR0B,2
172
FOC0A		avrbit	TCCR0B,7	; Timer/Counter 0 Forc Output Compare Match
173
TCNT0		port	0x27		; Timer/Counter 0 Value
174
OCR0A		port	0x28		; Timer/Counter 0 Output Compare Value A
175
ASSR		sfr	0xb6		; Asynchronous Status Register
176
TCR0BUB		avrbit	ASSR,0		; Timer/Counter0 Control Register B Update Busy
177
TCR0AUB		avrbit	ASSR,1		; Timer/Counter0 Control Register A Update Busy
178
OCR0AUB		avrbit	ASSR,3		; Output Compare 0 Register A Update Busy
179
TCN0UB		avrbit	ASSR,4		; Timer/Counter0 Update Busy
180
AS0		avrbit	ASSR,5		; Asynchronous Timer/Counter 0
181
EXCLK		avrbit	ASSR,6		; Enable External Clock Input
182
 
183
TCCR1A		sfr	0x80		; Timer/Counter 1 Control Register A
184
WGM10		avrbit	TCCR1A,0	; Timer/Counter 1 Waveform Generation Mode
185
WGM11		avrbit	TCCR1A,1
186
COM1B0		avrbit	TCCR1A,4	; Timer/Counter 1 Output Compare Mode B
187
COM1B1		avrbit	TCCR1A,5
188
COM1A0		avrbit	TCCR1A,6	; Timer/Counter 1 Output Compare Mode A
189
COM1A1		avrbit	TCCR1A,7
190
TCCR1B		sfr	0x81		; Timer/Counter 1 Control Register B
191
CS10		avrbit	TCCR1B,0	; Timer/Counter 1 Clock Select
192
CS11		avrbit	TCCR1B,1
193
CS12		avrbit	TCCR1B,2
194
WGM12		avrbit	TCCR1B,3
195
WGM13		avrbit	TCCR1B,4
196
ICES1		avrbit	TCCR1B,6	; Timer/Counter 1 Input Capture Edge Selecr
197
ICNC1		avrbit	TCCR1B,7	; Timer/Counter 1 Input Capture Noise Canceling
198
TCCR1C		sfr	0x82		; Timer/Counter 1 Control Register C
199
FOC1B		avrbit	TCCR1C,6	; Timer/Counter 1 Force Output Compare B
200
FOC1A		avrbit	TCCR1C,7	; Timer/Counter 1 Force Output Compare A
201
TCCR1D		sfr	0x83		; Timer/Counter 1 Control Register D
202
OC1AU		avrbit	TCCR1D,0	; Output Compare Pin Enable for Channel A
203
OC1AV		avrbit	TCCR1D,1
204
OC1AW		avrbit	TCCR1D,2
205
OC1AX		avrbit	TCCR1D,3
206
OC1BU		avrbit	TCCR1D,4	; Output Compare Pin Enable for Channel B
207
OC1BV		avrbit	TCCR1D,5
208
OC1BW		avrbit	TCCR1D,6
209
OC1BX		avrbit	TCCR1D,7
210
TCNT1L		sfr	0x84		; Timer/Counter 1 Value LSB
211
TCNT1H		sfr	0x85		; Timer/Counter 1 Value MSB
212
OCR1AL		sfr	0x88		; Timer/Counter 1 Output Compare Value A LSB
213
OCR1AH		sfr	0x89		; Timer/Counter 1 Output Compare Value A MSB
214
OCR1BL		sfr	0x8a		; Timer/Counter 1 Output Compare Value B LSB
215
OCR1BH		sfr	0x8b		; Timer/Counter 1 Output Compare Value B MSB
216
ICR1L		sfr	0x86		; Timer/Counter 1 Input Capture LSB
217
ICR1H		sfr	0x87		; Timer/Counter 1 Input Capture MSB
218
 
219
TIMSK0		sfr	0x6e		; Timer/Counter 0 Interrupt Mask Register
220
TOIE0		avrbit	TIMSK0,0	; Timer/Counter 0 Overflow Interrupt Enable
221
OCIE0A		avrbit	TIMSK0,1	; Timer/Counter 0 Output Compare Interrupt Enable A
222
 
223
TIMSK1		sfr	0x6f		; Timer/Counter 1 Interrupt Mask Register
224
TOIE1		avrbit	TIMSK1,0	; Timer/Counter 1 Overflow Interrupt Enable
225
OCIE1B		avrbit	TIMSK1,1	; Timer/Counter 1 Output Compare Interrupt Enable B
226
OCIE1A		avrbit	TIMSK1,2	; Timer/Counter 1 Output Compare Interrupt Enable A
227
ICIE1		avrbit	TIMSK1,5	; Timer/Counter 1 Input Capture Interrupt Enable
228
 
229
TIFR0		port	0x15		; Timer/Counter 0 Interrupt Flag Register
230
 
231
TIFR1		port	0x16		; Timer/Counter 1 Interrupt Flag Register
232
 
233
GTCCR		port	0x23		; General Timer/Counter Control Register
234
PSR1		avrbit	GTCCR,0		; Timer/Counter 1 Prescaler Reset
235
PSR0		avrbit	GTCCR,1		; Timer/Counter 0 Prescaler Reset
236
TSM		avrbit	GTCCR,7		; Timer/Counter Synchronization Mode
237
 
238
;----------------------------------------------------------------------------
239
; Watchdog Timer
240
 
241
		include	"wdme.inc"
242
 
243
;----------------------------------------------------------------------------
244
; Analog Comparator
245
 
246
ACSR		port    0x30            ; Config/Status Register
247
ACIS0		avrbit	ACSR,0		; Interrupt-Mode
248
ACIS1		avrbit	ACSR,1
249
ACIC	 	avrbit	ACSR,2		; use Comparator as Capture Signal for Timer 1?
250
ACIE		avrbit	ACSR,3		; Interrupt Enable
251
ACI		avrbit	ACSR,4		; Interrupt Flag
252
ACO		avrbit	ACSR,5		; Analog Comparator Output
253
ACIRS		avrbit	ACSR,6		; Analog Comparator Internal Reference Select
254
ACD		avrbit	ACSR,7		; Disable
255
 
256
ACIR0		avrbit	ADCSRB,4	; Analog Comparator Internal Voltage Reference Select
257
ACIR1		avrbit	ADCSRB,5
258
 
259
AIN1D		avrbit	DIDR0,7		; Disable Digital Input on AIN0
260
AIN0D		avrbit	DIDR0,6		; Disable Digital Input on AIN1
261
 
262
;----------------------------------------------------------------------------
263
; A/D Converter
264
 
265
		include	"adcm78.inc"
266
 
267
MUX4		avrbit	ADMUX,4
268
 
269
BIN		avrbit	ADCSRB,7	; Bipolar Input Mode
270
 
271
DIDR1		sfr	0x7f		; Digital Input Disable Register 1
272
ADC8D		avrbit	DIDR1,4		; Digital Input Disable ADC8
273
ADC9D		avrbit	DIDR1,5		; Digital Input Disable ADC9
274
ADC10D		avrbit	DIDR1,6		; Digital Input Disable ADC10
275
 
276
AMISCR		sfr	0x77		; Analog Miscellaneous Control Register
277
ISRCEN		avrbit	AMISCR,0	; Current Source Enable
278
XREFEN		avrbit	AMISCR,1	; Internal Voltage Reference Output Enable
279
AREFEN		avrbit	AMISCR,2	; External Voltage Reference Input Enable
280
 
281
;----------------------------------------------------------------------------
282
; SPI
283
 
284
		include	"spim2c.inc"
285
 
286
;----------------------------------------------------------------------------
287
; USI
288
 
289
		include "usimb8.inc"
290
 
291
USIBR		sfr	0xbb		; USI Buffer Register
292
 
293
USIPP		sfr	0xbc		; USI Pin Position
294
USIPOS		avrbit	USIPP,0		; USI Pin Position
295
 
296
;----------------------------------------------------------------------------
297
; LIN/UART
298
 
299
LINCR		sfr	0xc8		; LIN Control Register
300
LCMD0		avrbit	LINCR,0		; Command and Mode
301
LCMD1		avrbit	LINCR,1
302
LCMD2		avrbit	LINCR,2
303
LENA		avrbit	LINCR,3		; Enable
304
LCONF0		avrbit	LINCR,4		; Configuration
305
LCONF1		avrbit	LINCR,5
306
LIN13		avrbit	LINCR,6		; LIN 1.3 Mode
307
LSWRES		avrbit	LINCR,7		; Software Reset
308
 
309
LINSIR		sfr	0xc9		; LIN Status and Interrupt Register
310
LRXOK		avrbit	LINSIR,0	; Receive Performed Interrupt
311
LTXOK		avrbit	LINSIR,1	; Transmit Performed Interrupt
312
LIDOK		avrbit	LINSIR,2	; Identifier Interrupt
313
LERR		avrbit	LINSIR,3	; Error Interrupt
314
LBUSY		avrbit	LINSIR,4	; Busy Signal
315
LIDST0		avrbit	LINSIR,5	; Identifier Status
316
LIDST1		avrbit	LINSIR,6
317
LIDST2		avrbit	LINSIR,7
318
 
319
LINENIR		sfr	0xca		; LIN Enable Interrupt Register
320
LENRXOK		avrbit	LINENIR,0	; Enable Receive Performed Interrupt
321
LENTXOK		avrbit	LINENIR,1	; Enable Transmit Performed Interrupt
322
LENIDOK		avrbit	LINENIR,2	; Enable Identifier Interrupt
323
LENERR		avrbit	LINENIR,3	; Enable Error Interrupt
324
 
325
LINERR		sfr	0xcb		; LIN Error Register
326
LBERR		avrbit	LINERR,0		; Bit Error Flag
327
LCERR		avrbit	LINERR,1	; Checksum Error Flag
328
LPERR		avrbit	LINERR,2	; Parity Error Flag
329
LSERR		avrbit	LINERR,3	; Synchronization Error Flag
330
LFERR		avrbit	LINERR,4	; Framing Error Flag
331
LOVERR		avrbit	LINERR,5	; Overrun Error Flag
332
LTOERR		avrbit	LINERR,6	; Frame_Time_Out Error Flag
333
LABORT		avrbit	LINERR,7	; Abort Flag
334
 
335
LINBTR		sfr	0xcc		; LIN Bit Timing Register
336
LBT0		avrbit	LINBTR,0	; LIN Bit Timing
337
LBT1		avrbit	LINBTR,1
338
LBT2		avrbit	LINBTR,2
339
LBT3		avrbit	LINBTR,3
340
LBT4		avrbit	LINBTR,4
341
LBT5		avrbit	LINBTR,5
342
LDISR		avrbit	LINBTR,7	; Disable Bit Timing Re synchronization
343
 
344
LINBRRL		sfr	0xcd		; LIN Baud Rate Register Low
345
LINBRRH		sfr	0xce		; LIN Baud Rate Register High
346
 
347
LINDLR		sfr	0xcf		; LIN Data Length Register
348
LRXDL0		avrbit	LINDLR,0	; LIN Receive Data Length
349
LRXDL1		avrbit	LINDLR,1
350
LRXDL2		avrbit	LINDLR,2
351
LRXDL3		avrbit	LINDLR,3
352
LTXDL0		avrbit	LINDLR,4	; LIN Transmit Data Length
353
LTXDL1		avrbit	LINDLR,5
354
LTXDL2		avrbit	LINDLR,6
355
LTXDL3		avrbit	LINDLR,7
356
 
357
LINIDR		sfr	0xd0		; LIN Identifier Register
358
LID0		avrbit	LINIDR,0	; LIN 2.1 Identifier
359
LID1		avrbit	LINIDR,1
360
LID2		avrbit	LINIDR,2
361
LID3		avrbit	LINIDR,3
362
LID4		avrbit	LINIDR,4
363
LID5		avrbit	LINIDR,5
364
LDL0		avrbit	LINIDR,4	; LIN 1.3 Data Length
365
LDL1		avrbit	LINIDR,5	
366
LP0		avrbit	LINIDR,6	; Parity
367
LP1		avrbit	LINIDR,7
368
 
369
LINSEL		sfr	0xd1		; LIN Data Buffer Selection Register
370
LINDX0		avrbit	LINSEL,0	; FIFO LIN Data Buffer Index
371
LINDX1		avrbit	LINSEL,1
372
LINDX2		avrbit	LINSEL,2
373
LAINC		avrbit	LINSEL,3	; Auto Increment of Data Buffer Index
374
 
375
LINDAT		sfr	0xd2		; LIN Data Register
376
 
377
		restore			; re-enable listing
378
 
379
		endif			; __regtnx7inc