Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1186 | savelij | 1 | ifndef regmspinc ; avoid multiple inclusion |
2 | regmspinc equ 1 |
||
3 | |||
4 | save |
||
5 | listing off ; no listing over this file |
||
6 | ;**************************************************************************** |
||
7 | ;* * |
||
8 | ;* AS 1.42 - File REGMSP.INC * |
||
9 | ;* * |
||
10 | ;* Contains Macro and Register Definitions for MSP430 * |
||
11 | ;* * |
||
12 | ;**************************************************************************** |
||
13 | |||
14 | if (MOMCPUNAME<>"MSP430")&&(MOMCPUNAME<>"MSP430X") |
||
15 | fatal "wrong target selected: only MSP430(X) supported" |
||
16 | endif |
||
17 | |||
18 | if MOMPASS=1 |
||
19 | message "MSP430 Register Definitionen (C) 1996/2007 Alfred Arnold, Jose Da Silva" |
||
20 | endif |
||
21 | |||
22 | ;---------------------------------------------------------------------------- |
||
23 | ; General Memory Layout |
||
24 | ; ---------------------- |
||
25 | ; |
||
26 | ; 0000 - 000f : Special Function Registers |
||
27 | ; 0010 - 00ff : 8bit Peripheral Modules |
||
28 | ; 0100 - 01ff : 16bit Peripheral Modules |
||
29 | ; 0200 - .... : RAM Memory |
||
30 | ; .... - ffdf : Flash Memory |
||
31 | ; ffe0 - ffff : Interrupt Vector Table |
||
32 | ; |
||
33 | ;---------------------------------------------------------------------------- |
||
34 | |||
35 | ;---------------------------------------------------------------------------- |
||
36 | ; Status Register |
||
37 | |||
38 | SCG1 equ 128 ; System Clock Generator 1. 1=Turn_Off_SMCLK |
||
39 | SCG0 equ 64 ; System Clock Generator 0. 1=Turn_Off_DCO |
||
40 | OSCOFF equ 32 ; Oscillator Off. 1=Turn_Off_LFXT1CLK |
||
41 | CPUOFF equ 16 ; CPU Off. 1=Turn_Off_CPU (SR) |
||
42 | GIE equ 8 ; General Interrupt Enable (SR) |
||
43 | |||
44 | ;---------------------------------------------------------------------------- |
||
45 | ; Special Function Register of MSP430x1xx Family, Byte Access |
||
46 | |||
47 | IE1 equ 000h ; Interrupt Enable |
||
48 | ACCVIE equ 32 ; Flash Access Interrupt Enable (IE1.5) |
||
49 | NMIIE equ 16 ; NMI Enable (IE1.4) |
||
50 | OFIE equ 2 ; Osc Fault Interrupt Enable (IE1.1) |
||
51 | WDTIE equ 1 ; Watchdog Interrupt Enable (IE1.0) |
||
52 | |||
53 | IFG1 equ 002h ; Interrupt Flag |
||
54 | NMIIFG equ 16 ; Set Via !RST/NMI Pin (IFG1.4) |
||
55 | RSTIFG equ 8 ; External Reset Interrupt Flag (IFG1.3) |
||
56 | PORIFG equ 4 ; Power-on-Reset Interrupt Flag (IFG1.2) |
||
57 | OFIFG equ 2 ; Flag on Oscillator Fault (IFG1.1) |
||
58 | WDTIFG equ 1 ; Watchdog or Security Key Violation (IFG1.0) |
||
59 | |||
60 | ME1 equ 004h ; Module Enable |
||
61 | |||
62 | ; MSP43012xx devices only, only for MSP43012xx devices. |
||
63 | |||
64 | IE2 equ 001h |
||
65 | UTXIE0 equ 2 ; USART0 Transmit Int-Enable Bit (IE2.2) |
||
66 | URXIE0 equ 1 ; USART0 Receive Int-Enable Bit (IE2.1) |
||
67 | |||
68 | IFG2 equ 003h |
||
69 | UTXIFG0 equ 2 ; USART0 and SPI Transmit Flag (IFG2.1) |
||
70 | URXIFG0 equ 1 ; USART0 and SPI Receive Flag (IFG2.0) |
||
71 | |||
72 | ME2 equ 005h |
||
73 | UTXE0 equ 2 ; USART0 Transmit Enable Bit (ME2.1) |
||
74 | URXE0 equ 1 ; USART0 Receive Enable Bit (ME2.0) |
||
75 | USPIE0 equ 1 ; SPI Transmit+Receive Enable (ME2.0) |
||
76 | |||
77 | ;---------------------------------------------------------------------------- |
||
78 | ; Digital I/O, Byte Access |
||
79 | |||
80 | P0IN equ 010h ; Read Register (Pin State) |
||
81 | P0OUT equ 011h ; Write Register (Latches) |
||
82 | P0DIR equ 012h ; Direction Register |
||
83 | P0IFG equ 013h ; Interrupt Flags |
||
84 | P0IES equ 014h ; Interrupt Edge Selection |
||
85 | P0IE equ 015h ; Interrupt Enables |
||
86 | |||
87 | P3IN equ 018h ; Input Register |
||
88 | P3OUT equ 019h ; Output Register |
||
89 | P3DIR equ 01Ah ; Direction Register |
||
90 | P3SEL equ 01Bh ; Function Select |
||
91 | |||
92 | P4IN equ 01Ch ; Input Register |
||
93 | P4OUT equ 01Dh ; Output Register |
||
94 | P4DIR equ 01Eh ; Direction Register |
||
95 | P4SEL equ 01Fh ; Function Select |
||
96 | |||
97 | P1IN equ 020h ; Input Register |
||
98 | P1OUT equ 021h ; Output Register |
||
99 | P1DIR equ 022h ; Direction Register |
||
100 | P1IFG equ 023h ; Interrupt Flags |
||
101 | P1IES equ 024h ; Interrupt Edge Select |
||
102 | P1IE equ 025h ; Interrupt Enable |
||
103 | P1SEL equ 026h ; Function Select |
||
104 | |||
105 | P2IN equ 028h ; Input Register |
||
106 | P2OUT equ 029h ; Output Register |
||
107 | P2DIR equ 02Ah ; Direction Register |
||
108 | P2IFG equ 02Bh ; Interrupt Flags |
||
109 | P2IES equ 02Ch ; Interrupt Edge Select |
||
110 | P2IE equ 02Dh ; Interrupt Enable |
||
111 | P2SEL equ 02Eh ; Function Select |
||
112 | |||
113 | P5IN equ 030h ; Input Register |
||
114 | P5OUT equ 031h ; Output Register |
||
115 | P5DIR equ 032h ; Direction Register |
||
116 | P5SEL equ 033h ; Function Select |
||
117 | |||
118 | P6IN equ 034h ; Input Register |
||
119 | P6OUT equ 035h ; Output Register |
||
120 | P6DIR equ 036h ; Direction Register |
||
121 | P6SEL equ 037h ; Function Select |
||
122 | |||
123 | ;---------------------------------------------------------------------------- |
||
124 | ; LCD-Interface |
||
125 | |||
126 | LCDCTL equ 030h ; Control |
||
127 | LCD_Start equ 031h ; Start Address |
||
128 | LCD_Stop equ 03fh ; End Address |
||
129 | __TMP set 1 ; Individual Definitions |
||
130 | rept 9 |
||
131 | LCD{"\{__TMP}"} equ 030h+__TMP |
||
132 | __TMP set __TMP+1 |
||
133 | endm |
||
134 | rept 6 |
||
135 | LCD1{"\{__TMP-10}"} equ 030h+__TMP |
||
136 | __TMP set __TMP+1 |
||
137 | endm |
||
138 | |||
139 | ;---------------------------------------------------------------------------- |
||
140 | ; Timer |
||
141 | |||
142 | BTCTL equ 040h ; Timer 1 Basic Control Register |
||
143 | |||
144 | TCCTL equ 042h |
||
145 | TCPLD equ 043h ; Preaload Value |
||
146 | TCDAT equ 044h ; Count Value |
||
147 | |||
148 | BTCNT1 equ 046h ; Count Register |
||
149 | BTCNT2 equ 047h |
||
150 | |||
151 | TPCTL equ 04Bh ; Timer/Port Control Register |
||
152 | TPCNT1 equ 04Ch ; Count Register |
||
153 | TPCNT2 equ 04Dh |
||
154 | TPD equ 04Eh ; Data Register |
||
155 | TPE equ 04Fh ; Enable Register |
||
156 | |||
157 | ;---------------------------------------------------------------------------- |
||
158 | ; Clock Generator |
||
159 | |||
160 | SCFI0 equ 050h ; Integrator |
||
161 | SCFI1 equ 051h |
||
162 | SCFQCTL equ 052h ; Crystal Frequency Multiplicator |
||
163 | CBCTL equ 053h ; Buffer Control |
||
164 | |||
165 | ;---------------------------------------------------------------------------- |
||
166 | ; EPROM Control Registers, Byte Access |
||
167 | |||
168 | EPCTL equ 054h ; EPROM Control |
||
169 | |||
170 | ;---------------------------------------------------------------------------- |
||
171 | ; Basic Clock Registers, Byte Access |
||
172 | |||
173 | DCOCTL equ 056h |
||
174 | DCO2 equ 128 ; DCO Freq Select, see RSELx (DCOCTL.7) |
||
175 | DCO1 equ 64 ; (DCOCTL.6) |
||
176 | DCO0 equ 32 ; (DCOCTL.5) |
||
177 | MOD4 equ 16 ; Modulator Selection (DCOCTL.4) |
||
178 | MOD3 equ 8 ; (DCOCTL.3) |
||
179 | MOD2 equ 4 ; (DCOCTL.2) |
||
180 | MOD1 equ 2 ; (DCOCTL.1) |
||
181 | MOD0 equ 1 ; (DCOCTL.0) |
||
182 | |||
183 | BCSCTL1 equ 057h |
||
184 | XT2OFF equ 128 ; XT2 Off. Turn Off XT2 Oscil (BCSCTL1.7) |
||
185 | XTS equ 64 ; LFXT1 Mode. 0=LowFreq,1=HiFreq (BCSCTL1.6) |
||
186 | DIVA1 equ 32 ; Divider for ACLK. (BCSCTL1.5) |
||
187 | DIVA0 equ 16 ; 00=/1, 01=/2, 10=/4, 11=/8 (BCSCTL1.4) |
||
188 | XT5V equ 8 ; Unused. Always Reset to Zero (BCSCTL1.3) |
||
189 | RSEL2 equ 4 ; Resistor Select. Internal R (BCSCTL1.2) |
||
190 | RSEL1 equ 2 ; Lowest R=0 (BCSCTL1.1) |
||
191 | RSEL0 equ 1 ; (BCSCTL1.0) |
||
192 | RSEL_7 equ 7 ; (BCSCTL1.0-2) |
||
193 | RSEL_6 equ 6 ; (BCSCTL1.0-2) |
||
194 | RSEL_5 equ 5 ; (BCSCTL1.0-2) |
||
195 | RSEL_4 equ 4 ; (BCSCTL1.0-2) |
||
196 | RSEL_3 equ 3 ; (BCSCTL1.0-2) |
||
197 | RSEL_2 equ 2 ; (BCSCTL1.0-2) |
||
198 | RSEL_1 equ 1 ; (BCSCTL1.0-2) |
||
199 | RSEL_0 equ 0 ; (BCSCTL1.0-2) |
||
200 | |||
201 | BCSCTL2 equ 058h |
||
202 | SELM_3 equ 128+64 ; Select MCLK. 11=LFXT1CLK (BCSCTL2.6.7) |
||
203 | SELM_2 equ 128 ; MCLK 10=XT2CLK or LFXT1CLK (BCSCTL2.6.7) |
||
204 | SELM_1 equ 64 ; Select MCLK. 01=DCOCLK (BCSCTL2.6.7) |
||
205 | SELM_0 equ 0 ; Select MCLK. 00=DCOCLK (BCSCTL2.6.7) |
||
206 | SELM1 equ 128 ; Select MCLK. 00=01=DCOCLK (BCSCTL2.7) |
||
207 | SELM0 equ 64 ; 10=XT2CLK or LFXT1CLK=11 (BCSCTL2.6) |
||
208 | DIVM1 equ 32 ; Divider for MCLK, (BCSCTL2.5) |
||
209 | DIVM0 equ 16 ; 00=/1, 01=/2, 10=/4, 11=/8 (BCSCTL2.4) |
||
210 | SELS equ 8 ; Select SMCLK 0=DCOCLK,1=XT2CLK (BCSCTL2.3) |
||
211 | DIVS1 equ 4 ; Divider for SMCLK, (BCSCTL2.2) |
||
212 | DIVS0 equ 2 ; 00=/1, 01=/2, 10=/4, 11=/8 (BCSCTL2.1) |
||
213 | DCOR equ 1 ; DCO Resistor. 0=Intern,1=1xtn (BCSCTL2.0) |
||
214 | |||
215 | ;---------------------------------------------------------------------------- |
||
216 | ; Comparator_A Registers, Byte Access |
||
217 | |||
218 | CACTL1 equ 059h ; Comparator A Control Register 1 |
||
219 | CACTL2 equ 05Ah ; Comparator A Control Register 2 |
||
220 | CAPD equ 05Bh ; Comparator A Port Disable |
||
221 | |||
222 | ;---------------------------------------------------------------------------- |
||
223 | ; PWM |
||
224 | |||
225 | PWMCTL equ 058h ; Count Value |
||
226 | PWMDTB equ 059h ; Pulse Width (Buffer) |
||
227 | PWMDTR equ 05Ah ; Pulse Width |
||
228 | PWMCNT equ 05Bh ; Control |
||
229 | |||
230 | ;---------------------------------------------------------------------------- |
||
231 | ; USART 0 |
||
232 | |||
233 | U0CTL equ 070h |
||
234 | U0TCTL equ 071h |
||
235 | U0RCTL equ 072h |
||
236 | U0MCTL equ 073h |
||
237 | U0BR0 equ 074h |
||
238 | U0BR1 equ 075h |
||
239 | U0RXBUF equ 076h |
||
240 | U0TXBUF equ 077h |
||
241 | |||
242 | ;---------------------------------------------------------------------------- |
||
243 | ; USART 1 |
||
244 | |||
245 | U1CTL equ 078h |
||
246 | U1TCTL equ 079h |
||
247 | U1RCTL equ 07Ah |
||
248 | U1MCTL equ 07Bh |
||
249 | U1BR0 equ 07Ch |
||
250 | U1BR1 equ 07Dh |
||
251 | U1RXBUF equ 07Eh |
||
252 | U1TXBUF equ 07Fh |
||
253 | |||
254 | ;---------------------------------------------------------------------------- |
||
255 | ; USART Register Bits |
||
256 | |||
257 | FE equ 128 ; Framing Error (low stop bit) (UxRCTL.7) |
||
258 | PE equ 64 ; Parity Error (PE=0 if PENA=0) (UxRCTL.6) |
||
259 | OE equ 32 ; Overrun Error (Buffer Overrun) (UxRCTL.5) |
||
260 | BRK equ 16 ; Break Detect Flag (UxRCTL.4) |
||
261 | URXEIE equ 8 ; Rec Err Chars Sets URXIFG) (UxRCTL.3) |
||
262 | URXWIE equ 4 ; Rec Wakeup Int Enable (URXIFG) (UxRCTL.2) |
||
263 | RXWAKE equ 2 ; Rec Wakeup Flag (UxRCTL.1) |
||
264 | RXERR equ 1 ; Rec Error Flag (FE,PE,OE,BRK) (UxRCTL.0) |
||
265 | |||
266 | CKPL equ 64 ; Clock Polarity 0=UCLKI=UCLK (UxTCTL.6) |
||
267 | SSEL1 equ 32 ; Source 00=UCLKI, 01=ACLK (UxTCTL.5) |
||
268 | SSEL0 equ 16 ; Source 10=SMCLKI, 11=SMCLK (UxTCTL.4) |
||
269 | URXSE equ 8 ; Receive Start-Edge, 1=Enabled (UxTCTL.3) |
||
270 | TXWAKE equ 4 ; Transmitter Wake, 0=Data,1=Adr (UxTCTL.2) |
||
271 | TXEPT equ 1 ; Transmitter Empty Flag (UxTCTL.0) |
||
272 | |||
273 | PENA equ 128 ; Parity Enable, 1=Enabled (UxCTL.7) |
||
274 | PEV equ 64 ; Parity Select, 1=Even,0=Odd (UxCTL.6) |
||
275 | SPB equ 32 ; Stop Bit, 0=1Stop,1=2Stop (UxCTL.5) |
||
276 | CHAR equ 16 ; Char Length, 0=7Bit,1=8Bit (UxCTL.4) |
||
277 | LISTEN equ 8 ; Listen Enable, 1=Loopback->RX (UxCTL.3) |
||
278 | SYNC equ 4 ; Synch Mode, 0=USART,1=SPI (UxCTL.2) |
||
279 | MM equ 2 ; Multiprocessor, 1=Use_Protocol (UxCTL.1) |
||
280 | SWRST equ 1 ; Software Reset, 1=Held_Reset (UxCTL.0) |
||
281 | |||
282 | ;---------------------------------------------------------------------------- |
||
283 | ; ADC12 Low Bytes |
||
284 | |||
285 | ADC12MCTL0 equ 080h |
||
286 | ADC12MCTL1 equ 081h |
||
287 | ADC12MCTL2 equ 082h |
||
288 | ADC12MCTL3 equ 083h |
||
289 | ADC12MCTL4 equ 084h |
||
290 | ADC12MCTL5 equ 085h |
||
291 | ADC12MCTL6 equ 086h |
||
292 | ADC12MCTL7 equ 087h |
||
293 | ADC12MCTL8 equ 088h |
||
294 | ADC12MCTL9 equ 089h |
||
295 | ADC12MCTL10 equ 08Ah |
||
296 | ADC12MCTL11 equ 08Bh |
||
297 | ADC12MCTL12 equ 08Ch |
||
298 | ADC12MCTL13 equ 08Dh |
||
299 | ADC12MCTL14 equ 08Eh |
||
300 | ADC12MCTL15 equ 08Fh |
||
301 | |||
302 | ;---------------------------------------------------------------------------- |
||
303 | ; LCD Registers |
||
304 | |||
305 | LCDC equ 090h |
||
306 | __TMP set 1 ; Individual Definitions |
||
307 | rept 19 |
||
308 | LCDmemory{"\{__TMP}"} equ LCDC+__TMP |
||
309 | __TMP set __TMP+1 |
||
310 | endm |
||
311 | |||
312 | ;---------------------------------------------------------------------------- |
||
313 | ; A/D-Wandler, Word Access |
||
314 | |||
315 | AIN equ 0110h ; Input Register |
||
316 | AEN equ 0112h ; Input Enables |
||
317 | ACTL equ 0114h ; Control |
||
318 | ADAT equ 0118h ; Data |
||
319 | |||
320 | ;---------------------------------------------------------------------------- |
||
321 | ; Timer_B Interrupt Vector, Word Access |
||
322 | |||
323 | TBIV equ 011Eh |
||
324 | |||
325 | ;---------------------------------------------------------------------------- |
||
326 | ; Watchdog/Timer, Word Access |
||
327 | |||
328 | WDTCTL equ 0120h |
||
329 | WDTHOLD equ 128 ; Watchdog Timer Hold. 1=Stopped (WDTCTL.6) |
||
330 | WDTNMIES equ 64 ; NMI Edge Select 0=Rise,1=Fall (WDTCTL.6) |
||
331 | WDTNMI equ 32 ; NMI Pin Select, 0=!Reset,1=NMI (WDTCTL.5) |
||
332 | WDTTMSEL equ 16 ; Mode Select 0=Watchdog,1=Timer (WDTCTL.4) |
||
333 | WDTCNTCL equ 8 ; Counter Clear, 1=Clear_Counter (WDTCTL.3) |
||
334 | WDTSSEL equ 4 ; Source Select, 0=SMCLK,1=ACLK (WDTCTL.2) |
||
335 | WDTIS1 equ 2 ; Watchdog Timer Interval Select (WDTCTL.1) |
||
336 | WDTIS0 equ 1 ; 00=32768,01=8192,10=512,11=64 (WDTCTL.0) |
||
337 | |||
338 | ;---------------------------------------------------------------------------- |
||
339 | ; Timer_A Interrupt Vector, Word Access |
||
340 | |||
341 | TAIV equ 012Eh |
||
342 | |||
343 | ;---------------------------------------------------------------------------- |
||
344 | ; Flash Control, Word Access |
||
345 | |||
346 | FCTL1 equ 0128h |
||
347 | FCTL2 equ 012Ah |
||
348 | FCTL3 equ 012Ch |
||
349 | |||
350 | ;---------------------------------------------------------------------------- |
||
351 | ; Hardware Multiplier, Word Access |
||
352 | |||
353 | MPY equ 0130h ; Multiply Unsigned |
||
354 | MPYS equ 0132h ; Multiply Signed |
||
355 | MAC equ 0134h ; MPY+ACC |
||
356 | MACS equ 0136h ; MPYS+ACC |
||
357 | OP2 equ 0138h ; Second Operand |
||
358 | ResLo equ 013Ah ; Result Low Word |
||
359 | ResHi equ 013Ch ; Result High Word |
||
360 | SumExt equ 013Eh ; Sum Extend |
||
361 | |||
362 | ;---------------------------------------------------------------------------- |
||
363 | ; ADC12 High Bytes, Word Access |
||
364 | |||
365 | ADC12MEM0 equ 0140h |
||
366 | ADC12MEM1 equ 0142h |
||
367 | ADC12MEM2 equ 0144h |
||
368 | ADC12MEM3 equ 0146h |
||
369 | ADC12MEM4 equ 0148h |
||
370 | ADC12MEM5 equ 014Ah |
||
371 | ADC12MEM6 equ 014Ch |
||
372 | ADC12MEM7 equ 014Eh |
||
373 | ADC12MEM8 equ 0150h |
||
374 | ADC12MEM9 equ 0152h |
||
375 | ADC12MEM10 equ 0154h |
||
376 | ADC12MEM11 equ 0156h |
||
377 | ADC12MEM12 equ 0158h |
||
378 | ADC12MEM13 equ 015Ah |
||
379 | ADC12MEM14 equ 015Ch |
||
380 | ADC12MEM15 equ 015Eh |
||
381 | |||
382 | ;---------------------------------------------------------------------------- |
||
383 | ; Timer_A Registers, Word Access |
||
384 | |||
385 | TACTL equ 0160h |
||
386 | CCTL0 equ 0162h |
||
387 | CCTL1 equ 0164h |
||
388 | CCTL2 equ 0166h |
||
389 | CCTL3 equ 0168h |
||
390 | CCTL4 equ 016Ah |
||
391 | TAR equ 0170h |
||
392 | CCR0 equ 0172h |
||
393 | CCR1 equ 0174h |
||
394 | CCR2 equ 0176h |
||
395 | CCR3 equ 0178h |
||
396 | CCR4 equ 017Ah |
||
397 | |||
398 | ;---------------------------------------------------------------------------- |
||
399 | ; Timer_B Registers, Word Access |
||
400 | |||
401 | TBCTL equ 0180h |
||
402 | TBCCTL0 equ 0182h |
||
403 | TBCCTL1 equ 0184h |
||
404 | TBCCTL2 equ 0186h |
||
405 | TBCCTL3 equ 0188h |
||
406 | TBCCTL4 equ 018Ah |
||
407 | TBCCTL5 equ 018Ch |
||
408 | TBCCTL6 equ 018Eh |
||
409 | TBR equ 0190h |
||
410 | TBCCR0 equ 0192h |
||
411 | TBCCR1 equ 0194h |
||
412 | TBCCR2 equ 0196h |
||
413 | TBCCR3 equ 0198h |
||
414 | TBCCR4 equ 019Ah |
||
415 | TBCCR5 equ 019Ch |
||
416 | TBCCR6 equ 019Eh |
||
417 | |||
418 | ;---------------------------------------------------------------------------- |
||
419 | ; ADC12 Registers, Byte and Word Access |
||
420 | |||
421 | ADC12CTL0 equ 01A0h |
||
422 | ADC12CTL1 equ 01A2h |
||
423 | ADC12FG equ 01A4h |
||
424 | ADC12IE equ 01A6h |
||
425 | |||
426 | ;---------------------------------------------------------------------------- |
||
427 | |||
428 | restore ; wieder erlauben |
||
429 | |||
430 | endif ; regmspinc |