Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1186 savelij 1
		ifndef	__regtnx4inc
2
__regtnx4inc	equ	1
3
                save
4
                listing off   ; no listing over this file
5
 
6
;****************************************************************************
7
;*                                                                          *
8
;*   AS 1.42 - File REGTNX4.INC                                             *
9
;*                                                                          *
10
;*   Contains Common Bit & Register Definitions for ATtiny24(A)/44(A)/84(A) *
11
;*                                                                          *
12
;****************************************************************************
13
 
14
;----------------------------------------------------------------------------
15
; Chip Configuration
16
 
17
MCUCR		port	0x35		; MCU General Control Register
18
BODSE		avrbit	MCUCR,2		; BOD Sleep
19
SM0		avrbit	MCUCR,3		; Sleep Mode Select
20
SM1		avrbit	MCUCR,4
21
SE		avrbit	MCUCR,5		; Sleep Enable
22
BODS		avrbit	MCUCR,7		; BOD Sleep Enable
23
 
24
MCUSR		port	0x34		; MCU Status Register
25
WDRF		avrbit	MCUSR,3		; Watchdog Reset Flag
26
BORF		avrbit	MCUSR,2		; Brown-out Reset Flag
27
EXTRF		avrbit	MCUSR,1		; External Reset Flag
28
PORF		avrbit	MCUSR,0		; Power-On Reset Flag
29
 
30
OSCCAL		port	0x31		; Oscillator Calibration
31
 
32
CLKPR		port	0x26		; Clock Prescaler
33
CLKPS0		avrbit	CLKPR,0		; Prescaler Select
34
CLKPS1		avrbit	CLKPR,1
35
CLKPS2		avrbit	CLKPR,2
36
CLKPS3		avrbit	CLKPR,3
37
CLKPCE		avrbit	CLKPR,7		; Clock Prescaler Change Enable
38
 
39
PRR		port	0x00		; Power Reduction Register
40
PRADC		avrbit	PRR,0		; Power Reduction AD Converter
41
PRUSI		avrbit	PRR,1		; Power Reduction USI
42
PRTIM0		avrbit	PRR,2		; Power Reduction Timer/Counter 0
43
PRTIM1		avrbit	PRR,3		; Power Reduction Timer/Counter 1
44
 
45
;----------------------------------------------------------------------------
46
; EEPROM/Flash Access
47
 
48
EEARL		port	0x1e		; EEPROM Address Register Low
49
EEARH		port	0x1f		; EEPROM Address Register High
50
EEDR		port	0x1d		; EEPROM Data Register
51
EECR		port	0x1c		; EEPROM Control Register
52
EEPM1		avrbit	EECR,5		; EEPROM Program Mode
53
EEPM0		avrbit	EECR,4
54
EERIE		avrbit	EECR,3		; EEPROM Ready Interrupt Enable
55
EEMPE		avrbit	EECR,2		; EEPROM Master Write Enable
56
EEPE		avrbit	EECR,1		; EEPROM Write Enable
57
EERE		avrbit	EECR,0		; EEPROM Read Enable
58
 
59
SPMCSR		port	0x37		; Store Program Memory Control/Status Register
60
CTPB		avrbit	SPMCSR,4	; Clear Temporary Page Buffer
61
RFLB		avrbit	SPMCSR,3	; Read Fuse and Lock Bits
62
PGWRT		avrbit	SPMCSR,2	; Page Write
63
PGERS		avrbit	SPMCSR,1	; Page Erase
64
SPMEN		avrbit	SPMCSR,0	; Self Programming Enable
65
 
66
;----------------------------------------------------------------------------
67
; JTAG etc.
68
 
69
DWDR		port	0x27		; debugWire Data Register
70
 
71
;----------------------------------------------------------------------------
72
; GPIO
73
 
74
PUD		avrbit	MCUCR,6		; Pull-Up Disable
75
 
76
PINA		port	0x19		; Port A @ 0x19 (IO) ff.
77
PINB		port	0x16		; Port B @ 0x16 (IO) ff. (bit 0..3)
78
 
79
GPIOR0		port	0x13		; General Purpose I/O Register 0
80
GPIOR1		port	0x14		; General Purpose I/O Register 1
81
GPIOR2		port	0x15		; General Purpose I/O Register 2
82
 
83
DIDR0		port	0x01		; Digital Input Disable Register 0
84
ADC0D		avrbit	DIDR0,0		; ADC0 Digital Input Disable
85
ADC1D		avrbit	DIDR0,1		; ADC1 Digital Input Disable
86
ADC2D		avrbit	DIDR0,2		; ADC2 Digital Input Disable
87
ADC3D		avrbit	DIDR0,3		; ADC3 Digital Input Disable
88
ADC4D		avrbit	DIDR0,4		; ADC4 Digital Input Disable
89
ADC5D		avrbit	DIDR0,5		; ADC5 Digital Input Disable
90
ADC6D		avrbit	DIDR0,6		; ADC6 Digital Input Disable
91
ADC7D		avrbit	DIDR0,7		; ADC7 Digital Input Disable
92
 
93
PCMSK0		port	0x12		; Pin Change Interrupt Mask 0
94
PCMSK1		port	0x20		; Pin Change Interrupt Mask 1
95
PCINT8		avrbit	PCMSK1,0	; Enable Pin Change Interrupt 8
96
PCINT9		avrbit	PCMSK1,1	; Enable Pin Change Interrupt 9
97
PCINT10		avrbit	PCMSK1,2	; Enable Pin Change Interrupt 10
98
PCINT11		avrbit	PCMSK1,3	; Enable Pin Change Interrupt 11
99
 
100
;----------------------------------------------------------------------------
101
; Interrupt Vectors
102
 
103
		enumconf 1,code
104
		enum	 INT0_vect=1		; External Interrupt Request 0
105
		nextenum PCINT0_vect		; Pin Change Interrupt 0
106
		nextenum PCINT1_vect		; Pin Change Interrupt 1
107
		nextenum WDT_vect		; Watchdog Time-Out
108
		nextenum TIMER1_CAPT_vect	; Timer/Counter 1 Capture Event
109
		nextenum TIMER1_COMPA_vect	; Timer/Counter 1 Compare Match A
110
		nextenum TIMER1_COMPB_vect	; Timer/Counter 1 Compare Match B
111
		nextenum TIMER1_OVF_vect	; Timer/Counter 1 Overflow
112
		nextenum TIMER0_COMPA_vect	; Timer/Counter 0 Compare Match A
113
		nextenum TIMER0_COMPB_vect	; Timer/Counter 0 Compare Match B
114
		nextenum TIMER0_OVF_vect	; Timer/Counter 0 Overflow
115
		nextenum ANA_COMP_vect		; Analog Comparator
116
		nextenum ADC_vect		; ADC Conversion Complete
117
		nextenum EE_RDY_vect		; EEPROM Ready
118
		nextenum USI_START_vect		; USI Start
119
		nextenum USI_OVF_vect		; USI Overflow
120
 
121
;----------------------------------------------------------------------------
122
; External Interrupts
123
 
124
ISC00		avrbit	MCUCR,0		; External Interrupt 0 Sense Control
125
ISC01		avrbit	MCUCR,1
126
 
127
GIMSK		port	0x3b		; General Interrupt Mask Register
128
INT0		avrbit	GIMSK,6		; Enable External Interrupt 0
129
PCIE1		avrbit	GIMSK,5		; Pin Change Interrupt Enable 1
130
PCIE0		avrbit	GIMSK,4		; Pin Change Interrupt Enable 0
131
 
132
GIFR		port	0x3a		; General Interrupt Flag Register
133
INTF0		avrbit	GIFR,6		; External Interrupt 0 Occured
134
PCIF1		avrbit	GIFR,5		; Pin Change Interrupt 1 Occured
135
PCIF0		avrbit	GIFR,4		; Pin Change Interrupt 0 Occured
136
 
137
;----------------------------------------------------------------------------
138
; Timers
139
 
140
TCCR0A		port	0x30		; Timer/Counter 0 Control Register A
141
WGM00		avrbit	TCCR0A,0	; Timer/Counter 0 Waveform Generation Mode
142
WGM01		avrbit	TCCR0A,1
143
COM0B0		avrbit	TCCR0A,4	; Timer/Counter 0 Output Compare Mode B
144
COM0B1		avrbit	TCCR0A,5
145
COM0A0		avrbit	TCCR0A,6	; Timer/Counter 0 Output Compare Mode A
146
COM0A1		avrbit	TCCR0A,7
147
TCCR0B		port	0x33		; Timer/Counter 0 Control Register B
148
CS00		avrbit	TCCR0B,0	; Timer/Counter 0 Clock Select
149
CS01		avrbit	TCCR0B,1
150
CS02		avrbit	TCCR0B,2
151
WGM02		avrbit	TCCR0B,3
152
FOC0B		avrbit	TCCR0B,6	; Timer/Counter 0 Force Output Compare B
153
FOC0A		avrbit	TCCR0B,7	; Timer/Counter 0 Force Output Compare A
154
TCNT0		port	0x32		; Timer/Counter 0 Value
155
OCR0A		port	0x36		; Timer/Counter 0 Output Compare Value A
156
OCR0B		port	0x3c		; Timer/Counter 0 Output Compare Value B
157
 
158
TCCR1A		port	0x2f		; Timer/Counter 1 Control Register A
159
WGM10		avrbit	TCCR1A,0	; Timer/Counter 1 Waveform Generation Mode
160
WGM11		avrbit	TCCR1A,1
161
COM1B0		avrbit	TCCR1A,4	; Timer/Counter 1 Output Compare Mode B
162
COM1B1		avrbit	TCCR1A,5
163
COM1A0		avrbit	TCCR1A,6	; Timer/Counter 1 Output Compare Mode A
164
COM1A1		avrbit	TCCR1A,7
165
TCCR1B		port	0x2e		; Timer/Counter 1 Control Register B
166
CS10            avrbit	TCCR1B,0	; Timer/Counter 1 Clock Select
167
CS11            avrbit	TCCR1B,1
168
CS12            avrbit	TCCR1B,2
169
WGM12		avrbit	TCCR1B,3
170
WGM13		avrbit	TCCR1B,4
171
ICES1		avrbit	TCCR1B,6	; Timer/Counter 1 Input Capture Edge Select
172
ICNC1		avrbit	TCCR1B,7	; Timer/Counter 1 Input Capture Noise Canceling
173
TCCR1C		port	0x22		; Timer/Counter 1 Control Register C
174
FOC1B		avrbit	TCCR1C,6	; Timer/Counter 1 Force Output Compare B
175
FOC1A		avrbit	TCCR1C,7	; Timer/Counter 1 Force Output Compare A
176
TCNT1L		port	0x2c		; Timer/Counter 1 Value LSB
177
TCNT1H		port	0x2d		; Timer/Counter 1 Value MSB
178
OCR1AL		port	0x2a		; Timer/Counter 1 Output Compare Value A LSB
179
OCR1AH		port	0x2b		; Timer/Counter 1 Output Compare Value A MSB
180
OCR1BL		port	0x28		; Timer/Counter 1 Output Compare Value B LSB
181
OCR1BH		port	0x29		; Timer/Counter 1 Output Compare Value B MSB
182
ICR1L		port	0x24		; Timer/Counter 1 Input Capture Value LSB
183
ICR1H		port	0x25		; Timer/Counter 1 Input Capture Value MSB
184
 
185
TIMSK0		port	0x39		; Timer/Counter Interrupt Mask Register 0
186
TOIE0		avrbit	TIMSK0,0	; Timer/Counter 0 Overflow Interrupt Enable
187
OCIE0A		avrbit	TIMSK0,1	; Timer/Counter 0 Output Compare Interrupt Enable A
188
OCIE0B		avrbit	TIMSK0,2	; Timer/Counter 0 Output Compare Interrupt Enable B
189
 
190
TIMSK1		port	0x0c		; Timer/Counter Interrupt Mask Register 1
191
TOIE1		avrbit	TIMSK1,0	; Timer/Counter 1 Overflow Interrupt Enable
192
OCIE1A		avrbit	TIMSK1,1	; Timer/Counter 1 Output Compare Interrupt Enable A
193
OCIE1B		avrbit	TIMSK1,2	; Timer/Counter 1 Output Compare Interrupt Enable B
194
ICIE1		avrbit	TIMSK1,5	; Timer/Counter 1 Input Capture Interrupt Enable
195
 
196
TIFR0		port	0x38		; Timer Interrupt Status Register 0
197
TIFR1		port	0x0b		; Timer Interrupt Status Register 1
198
 
199
GTCCR		port	0x23		; General Timer/Counter Control 1 Register
200
PSR10		avrbit	GTCCR,0		; Prescaler Reset Timer/Counter 0/1
201
TSM		avrbit	GTCCR,7		; Timer/Counter Synchronization Mode
202
 
203
;----------------------------------------------------------------------------
204
; Watchdog Timer
205
 
206
		include	"wdm21.inc"
207
 
208
WDCE		avrbit	WDTCR,4		; Change Enable
209
WDP3		avrbit	WDTCR,5
210
WDIE		avrbit	WDTCR,6		; Enable Watchdog Interrupt
211
WDIF		avrbit	WDTCR,7		; Watchdog Interrupt Occured?
212
 
213
;----------------------------------------------------------------------------
214
; Analog Comparator
215
 
216
		include "acm.inc"
217
 
218
;----------------------------------------------------------------------------
219
; A/D Converter
220
 
221
ADMUX		port	0x07		; Multiplexer Selection
222
REFS1		avrbit	ADMUX,7		; Reference Selection Bits
223
REFS0		avrbit	ADMUX,6
224
MUX5		avrbit	ADMUX,5		; Multiplexer
225
MUX4		avrbit	ADMUX,4
226
MUX3		avrbit	ADMUX,3
227
MUX2		avrbit	ADMUX,2
228
MUX1		avrbit	ADMUX,1
229
MUX0		avrbit	ADMUX,0
230
 
231
ADCSRA		port	0x06		; Control/Status Register A
232
ADEN		avrbit	ADCSRA,7	; Enable ADC
233
ADSC		avrbit	ADCSRA,6	; Start Conversion
234
ADATE		avrbit	ADCSRA,5	; ADC Auto Trigger Enable
235
ADIF		avrbit	ADCSRA,4	; Interrupt Flag
236
ADIE		avrbit	ADCSRA,3	; Interrupt Enable
237
ADPS2		avrbit	ADCSRA,2	; Prescaler Select
238
ADPS1		avrbit	ADCSRA,1
239
ADPS0		avrbit	ADCSRA,0
240
 
241
ADCSRB		port	0x03		; Control/Status Register B
242
BIN		avrbit	ADCSRB,7	; Bipolar Input Mode
243
ACME		avrbit	ADCSRB,6	; Analog Comparator Multiplexer Enable
244
ADLAR		avrbit	ADCSRB,4	; Left Adjust Right
245
ADTS2		avrbit	ADCSRB,2	; Auto Trigger Source
246
ADTS1		avrbit	ADCSRB,1
247
ADTS0		avrbit	ADCSRB,0
248
 
249
ADCH		port	0x05		; Data Register
250
ADCL		port	0x04
251
 
252
;----------------------------------------------------------------------------
253
; USI
254
 
255
USIDR		port	0x0f		; USI Data Register
256
 
257
USISR		port	0x0e		; USI Status Register
258
USICNT0		avrbit	USISR,0		; Counter Value
259
USICNT1		avrbit	USISR,1
260
USICNT2		avrbit	USISR,2
261
USICNT3		avrbit	USISR,3
262
USIDC		avrbit	USISR,4		; Data Output Collision
263
USIPF		avrbit	USISR,5		; Stop Condition Flag
264
USIOIF		avrbit	USISR,6		; Counter Overflow Interrupt Flag
265
USISIF		avrbit	USISR,7		; Start Condition Interrupt Flag
266
 
267
USICR		port	0x0d		; USI Control Register
268
USITC		avrbit	USICR,0		; Toggle Clock Port Pin
269
USICLK		avrbit	USICR,1		; Clock Strobe
270
USICS0		avrbit	USICR,2		; Clock Source Select
271
USICS1		avrbit	USICR,3
272
USIWM0		avrbit	USICR,4		; Wire Mode
273
USIWM1		avrbit	USICR,5		
274
USIOIE		avrbit	USICR,6		; Counter Overflow Interrupt Enable
275
USISIE		avrbit	USICR,7		; Start Condition Interrupt Enable
276
 
277
USIBR		port	0x10		; USI Buffer Register
278
 
279
		restore			; re-enable listing
280
 
281
		endif			; __regtnx4inc