Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

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