Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1186 savelij 1
		ifndef	__regmxx4inc
2
__regmxx4inc	equ	1
3
                save
4
                listing off   ; no listing over this file
5
 
6
;****************************************************************************
7
;*                                                                          *
8
;*   AS 1.42 - File REGMXX4.INC                                             *
9
;*                                                                          *
10
;*   Contains Bit & Register Definitions for ATmega164/644                  *
11
;*                                                                          *
12
;****************************************************************************
13
 
14
;----------------------------------------------------------------------------
15
; Chip Control
16
 
17
MCUCR		port	0x35		; MCU Control Register
18
IVCE		avrbit	MCUCR,0		; Interrupt Vector Change Enable
19
IVSEL		avrbit	MCUCR,1		; Interrupt Vector Select
20
 
21
MCUSR		port	0x34		; MCU Status Register
22
PORF		avrbit	MCUSR,0		; Power-On Reset Occured
23
EXTRF		avrbit	MCUSR,1		; External Reset Occured
24
BORF		avrbit	MCUSR,2		; brown out Reset Occured
25
WDRF		avrbit	MCUSR,3		; watchdog Reset Occured
26
 
27
SMCR		port	0x33		; Sleep Mode Control Register
28
SE		avrbit	SMCR,0		; Sleep Mode Enable
29
SM0		avrbit	SMCR,1		; Sleep Mode Select
30
SM1		avrbit	SMCR,2
31
SM2		avrbit	SMCR,3
32
 
33
PRR0		sfr	0x64		; Power Reduction Register 0
34
PRADC		avrbit	PRR0,0		; Power Reduction ADC
35
PRUSART0	avrbit	PRR0,1		; Power Reduction USART0
36
PRSPI0		avrbit	PRR0,2		; Power Reduction Serial Peripheral Interface 0
37
PRTIM1		avrbit	PRR0,3		; Power Reduction Timer/Counter1
38
PRUSART1	avrbit	PRR0,4		; Power Reduction USART1
39
PRTIM0		avrbit	PRR0,5		; Power Reduction Timer/Counter0
40
PRTIM2		avrbit	PRR0,6		; Power Reduction Timer/Counter2
41
PRTWI		avrbit	PRR0,7		; Power Reduction TWI
42
 
43
OSCCAL		sfr	0x66		; Oscillator Calibration
44
 
45
CLKPR		sfr	0x61		; Clock Prescale Register
46
CLKPS0		avrbit	CLKPR,0		; Clock Prescaler Select
47
CLKPS1		avrbit	CLKPR,1
48
CLKPS2		avrbit	CLKPR,2
49
CLKPS3		avrbit	CLKPR,3
50
CLKPCE		avrbit	CLKPR,7		; Clock Prescaler Change Enable
51
 
52
;----------------------------------------------------------------------------
53
; EEPROM/Program Memory Access
54
 
55
		include	"eem2.inc"
56
		include	"spmcsr37.inc"
57
 
58
EEPM0		avrbit	EECR,4		; EEPROM Programming Mode
59
EEPM1		avrbit	EECR,5
60
 
61
SIGRD		avrbit	SPMCSR,5	; Signature Row Read
62
 
63
;----------------------------------------------------------------------------
64
; JTAG
65
 
66
JTD		avrbit	MCUCR,7		; JTAG Disable
67
 
68
JTRF		avrbit	MCUSR,4		; JTAG Reset Occured
69
 
70
OCDR		port	0x31		; On-Chip Debug Register
71
 
72
;----------------------------------------------------------------------------
73
; GPIO
74
 
75
PUD		avrbit	MCUCR,4		; Pull Up Disable
76
 
77
PINA		port	0x00		; Port A @ 0x00 (IO) ff.
78
PINB		port	0x03		; Port B @ 0x03 (IO) ff.
79
PINC		port	0x06		; Port C @ 0x06 (IO) ff.
80
PIND		port    0x09		; Port D @ 0x09 (IO) ff.
81
 
82
PCMSK0		sfr	0x6b		; Pin Change Mask Register 0
83
PCMSK1		sfr	0x6c		; Pin Change Mask Register 1
84
PCMSK2		sfr	0x6d		; Pin Change Mask Register 2
85
PCMSK3		sfr	0x73		; Pin Change Mask Register 3
86
PCICR		sfr	0x68		; Pin Change Interrupt Control Register
87
PCIFR		port	0x1b		; Pin Change Interrupt Flag Register
88
 
89
GPIOR0		port	0x1e		; General Purpose I/O Registers
90
GPIOR1		port	0x2a
91
GPIOR2		port	0x2b
92
 
93
;----------------------------------------------------------------------------
94
; Interrupt Vectors
95
 
96
		enumconf 2,code
97
		enum	 INT0_vect=2		; External Interrupt Request 0
98
		nextenum INT1_vect		; External Interrupt Request 1
99
		nextenum INT2_vect		; External Interrupt Request 2
100
		nextenum PCINT0_vect		; Pin Change Interrupt Request 0
101
		nextenum PCINT1_vect		; Pin Change Interrupt Request 1
102
		nextenum PCINT2_vect		; Pin Change Interrupt Request 2
103
		nextenum PCINT3_vect		; Pin Change Interrupt Request 3
104
		nextenum WDT_vect		; Watchdog Time-Out Interrupt
105
		nextenum TIMER2_COMPA_vect	; Timer/Counter 2 Compare Match A
106
		nextenum TIMER2_COMPB_vect	; Timer/Counter 2 Compare Match B
107
		nextenum TIMER2_OVF_vect	; Timer/Counter 2 Overflow
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 SPI_STC_vect		; SPI Transfer Complete
116
		nextenum USART0_RX_vect		; USART0 Rx Complete
117
		nextenum USART0_UDRE_vect	; USART0 Data Register Empty
118
		nextenum USART0_TX_vect		; USART0 Tx Complete
119
		nextenum ANALOG_COMP_vect	; Analog Comparator
120
		nextenum ADC_vect		; ADC Conversion Complete
121
		nextenum EE_READY_vect		; EEPROM Ready
122
		nextenum TWI_vect		; 2-Wire Serial Interface
123
		nextenum SPM_READY_vect		; Store Program Memory Ready
124
		if MOMCPUNAME<>"ATMEGA644"	; Second USART not on 644, only 644P
125
		 nextenum USART1_RX_vect	; USART1 Rx Complete
126
		 nextenum USART1_UDRE_vect	; USART1 Data Register Empty
127
		 nextenum USART1_TX_vect	; USART1 Tx Complete
128
		endif
129
 
130
;----------------------------------------------------------------------------
131
; External Interrupts
132
 
133
EICRA		sfr	0x69		; External Interrupt Control Register A
134
ISC00		avrbit	EICRA,0		; External Interrupt 0 Sense Control
135
ISC01		avrbit	EICRA,1
136
ISC10		avrbit	EICRA,2		; External Interrupt 1 Sense Control
137
ISC11		avrbit	EICRA,3
138
ISC20		avrbit	EICRA,4		; External Interrupt 2 Sense Control
139
ISC21		avrbit	EICRA,5
140
 
141
EIMSK		port	0x1d		; External Interrupt Mask Register
142
INT0		avrbit	EIMSK,0		; Enable External Interrupt 0
143
INT1		avrbit	EIMSK,1		; Enable External Interrupt 1
144
INT2		avrbit	EIMSK,2		; Enable External Interrupt 2
145
 
146
EIFR		port	0x1c		; External Interrupt Flag Register
147
INTF0		avrbit	EIFR,0		; External Interrupt 0 Occured
148
INTF1	        avrbit	EIFR,1		; External Interrupt 1 Occured
149
INTF2		avrbit	EIFR,2		; External Interrupt 2 Occured
150
 
151
;----------------------------------------------------------------------------
152
; Timers
153
 
154
GTCCR		port	0x23		; General Timer/Counter Control Register
155
PSRSYNC		avrbit	GTCCR,0		; Prescaler Reset
156
TSM		avrbit	GTCCR,7		; Timer/Counter Synchronization Mode
157
 
158
TCCR0A		port	0x24		; Timer/Counter 0 Control Register A
159
WGM00		avrbit	TCCR0A,0	; Timer/Counter 0 Waveform Generation Mode
160
WGM01		avrbit	TCCR0A,1
161
COM0B0		avrbit	TCCR0A,4	; Timer/Counter 0 Compare Mode B
162
COM0B1		avrbit	TCCR0A,5
163
COM0A0		avrbit	TCCR0A,6	; Timer/Counter 0 Compare Mode A
164
COM0A1		avrbit	TCCR0A,7
165
TCCR0B		port	0x25		; Timer/Counter 0 Control Register B
166
CS00		avrbit	TCCR0B,0	; Timer/Counter 0 Clock Select
167
CS01		avrbit	TCCR0B,1
168
CS02		avrbit	TCCR0B,2
169
WGM02		avrbit	TCCR0B,3
170
FOC0B		avrbit	TCCR0B,6	; Timer/Counter 0 Force Output Compare Match B
171
FOC0A		avrbit	TCCR0B,7	; Timer/Counter 0 Force Output Compare Match A
172
TCNT0		port	0x26		; Timer/Counter 0 Value
173
OCR0A		port	0x27		; Timer/Counter 0 Output Compare Value A
174
OCR0B		port	0x28		; Timer/Counter 0 Output Compare Value B
175
 
176
TCCR1A		sfr	0x80		; Timer/Counter 1 Control Register A
177
WGM10		avrbit	TCCR1A,0	; Timer/Counter 1 Waveform Generation Mode
178
WGM11		avrbit	TCCR1A,1
179
COM1B0		avrbit	TCCR1A,4	; Timer/Counter 1 Compare Mode B
180
COM1B1		avrbit	TCCR1A,5
181
COM1A0		avrbit	TCCR1A,6	; Timer/Counter 1 Compare Mode A
182
COM1A1		avrbit	TCCR1A,7
183
TCCR1B		sfr	0x81		; Timer/Counter 1 Control Register B
184
CS10		avrbit	TCCR1B,0	; Timer/Counter 1 Prescaler Setting
185
CS11		avrbit	TCCR1B,1
186
CS12		avrbit	TCCR1B,2
187
WGM12		avrbit	TCCR1B,3
188
WGM13		avrbit	TCCR1B,4
189
ICES1		avrbit	TCCR1B,6	; Timer/Counter 1 Capture Slope Selection
190
ICNC1		avrbit	TCCR1B,7	; Timer/Counter 1 Capture Noise Filter
191
TCCR1C		sfr	0x82		; Timer/Counter 1 Control Register C
192
FOC1B		avrbit	TCCR1C,6	; Timer/Counter 1 Force Output Compare B
193
FOC1A		avrbit	TCCR1C,7	; Timer/Counter 1 Force Output Compare A
194
TCNT1L		sfr	0x84		; Timer/Counter 1 Value LSB
195
TCNT1H		sfr	0x85		; Timer/Counter 1 Value MSB
196
OCR1AL		sfr	0x88		; Timer/Counter 1 Output Compare Value A LSB
197
OCR1AH		sfr	0x89		; Timer/Counter 1 Output Compare Value A MSB
198
OCR1BL		sfr	0x8a		; Timer/Counter 1 Output Compare Value B LSB
199
OCR1BH		sfr	0x8b		; Timer/Counter 1 Output Compare Value B MSB
200
ICR1L		sfr	0x86		; Timer/Counter 1 Input Capture Value LSB
201
ICR1H		sfr	0x87		; Timer/Counter 1 Input Capture Value MSB
202
 
203
TCCR2A		sfr	0xb0		; Timer/Counter 2 Control Register A
204
WGM20		avrbit	TCCR2A,0	; Timer/Counter 2 Waveform Generation Mode
205
WGM21		avrbit	TCCR2A,1
206
COM2B0		avrbit	TCCR2A,4	; Timer/Counter 2 Compare Mode B
207
COM2B1		avrbit	TCCR2A,5
208
COM2A0		avrbit	TCCR2A,6	; Timer/Counter 2 Compare Mode A
209
COM2A1		avrbit	TCCR2A,7
210
TCCR2B		sfr	0xb1		; Timer/Counter 2 Control Register B
211
CS20		avrbit	TCCR2B,0	; Timer/Counter 2 Prescaler Setting
212
CS21		avrbit	TCCR2B,1
213
CS22		avrbit	TCCR2B,2
214
WGM22		avrbit	TCCR2B,3
215
FOC2B		avrbit	TCCR2B,6	; Timer/Counter 2 Force Output Compare B
216
FOC2A		avrbit	TCCR2B,7	; Timer/Counter 2 Force Output Compare A
217
TCNT2		sfr	0xb2		; Timer/Counter 2 Value
218
OCR2A		sfr	0xb3		; Timer/Counter 2 Output Compare Value A
219
OCR2B		sfr	0xb4		; Timer/Counter 2 Output Compare Value B
220
 
221
TIMSK0		sfr	0x6e		; Timer/Counter 0 Interrupt Mask Register
222
TOIE0		avrbit	TIMSK0,0	; Timer/Counter 0 Overflow Interrupt Enable
223
OCIE0A		avrbit	TIMSK0,1	; Timer/Counter 0 Output Compare Interrupt Enable A
224
OCIE0B		avrbit	TIMSK0,2	; Timer/Counter 0 Output Compare Interrupt Enable B
225
TIMSK1		sfr	0x6f		; Timer/Counter 1 Interrupt Mask Register
226
TOIE1		avrbit	TIMSK1,0	; Timer/Counter 1 Overflow Interrupt Enable
227
OCIE1A		avrbit	TIMSK1,1	; Timer/Counter 1 Output Compare Interrupt Enable A
228
OCIE1B		avrbit	TIMSK1,2	; Timer/Counter 1 Output Compare Interrupt Enable B
229
ICIE1		avrbit	TIMSK1,5	; Timer/Counter 1 Input Capture Enable
230
TIMSK2		sfr	0x70		; Timer/Counter 2 Interrupt Mask Register
231
TOIE2		avrbit	TIMSK2,0	; Timer/Counter 2 Overflow Interrupt Enable
232
OCIE2A		avrbit	TIMSK2,1	; Timer/Counter 2 Output Compare Interrupt Enable A
233
OCIE2B		avrbit	TIMSK2,2	; Timer/Counter 2 Output Compare Interrupt Enable B
234
 
235
TIFR0		port	0x15		; Timer/Counter 0 Interrupt Status Register
236
TIFR1		port	0x16		; Timer/Counter 1 Interrupt Status Register
237
TIFR2		port	0x17		; Timer/Counter 2 Interrupt Status Register
238
 
239
ASSR		sfr	0xb6		; Asynchronous Status Register
240
TCR2BUB		avrbit	ASSR,0		; Timer/Counter Control Register 2 B Update Busy
241
TCR2AUB		avrbit	ASSR,1		; Timer/Counter Control Register 2 A Update Busy
242
OCR2BUB		avrbit	ASSR,2		; Output Compare Register 2 B Update Busy
243
OCR2AUB		avrbit	ASSR,3		; Output Compare Register 2 A Update Busy
244
TCN2UB		avrbit	ASSR,4		; Timer/Counter 2 Update Busy
245
AS2		avrbit	ASSR,5		; Asynchronous Timer/Counter 2
246
EXCLK		avrbit	ASSR,6		; Enable External Clock Input
247
 
248
;----------------------------------------------------------------------------
249
; Watchdog Timer
250
 
251
		include	"wdme.inc"
252
 
253
;----------------------------------------------------------------------------
254
; USART
255
 
256
__USART0_SPI__	equ	1
257
		include	"usartc0.inc"
258
		if MOMCPUNAME<>"ATMEGA644"
259
__USART1_SPI__	equ	1
260
		include	"usartc8.inc"
261
		endif
262
 
263
;----------------------------------------------------------------------------
264
; SPI
265
 
266
		include	"spim02c.inc"
267
 
268
;----------------------------------------------------------------------------
269
; TWI
270
 
271
		include	"twimb8.inc"
272
 
273
;----------------------------------------------------------------------------
274
; A/D Converter
275
 
276
		include	"adcm78.inc"
277
 
278
MUX4		avrbit	ADMUX,4
279
 
280
;----------------------------------------------------------------------------
281
; Analog Comparator
282
 
283
		include	"acm30.inc"
284
 
285
		restore			; re-enable listing
286
 
287
		endif			; __regmxx4inc