Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

                ifndef  regmspinc      ; avoid multiple inclusion
regmspinc       equ     1

                save
                listing off             ; no listing over this file
;****************************************************************************
;*                                                                          *
;*   AS 1.42 - File REGMSP.INC                                              *
;*                                                                          *
;*   Contains Macro and Register Definitions for MSP430                     *
;*                                                                          *
;****************************************************************************

                if      (MOMCPUNAME<>"MSP430")&&(MOMCPUNAME<>"MSP430X")
                 fatal  "wrong target selected: only MSP430(X) supported"
                endif

                if      MOMPASS=1
                 message "MSP430 Register Definitionen (C) 1996/2007 Alfred Arnold, Jose Da Silva"
                endif

;----------------------------------------------------------------------------
; General Memory Layout
; ----------------------
;
; 0000 - 000f : Special Function Registers
; 0010 - 00ff : 8bit Peripheral Modules
; 0100 - 01ff : 16bit Peripheral Modules
; 0200 - .... : RAM Memory
; .... - ffdf : Flash Memory
; ffe0 - ffff : Interrupt Vector Table
;
;----------------------------------------------------------------------------

;----------------------------------------------------------------------------
; Status Register

SCG1            equ     128             ; System Clock Generator 1. 1=Turn_Off_SMCLK
SCG0            equ     64              ; System Clock Generator 0. 1=Turn_Off_DCO
OSCOFF          equ     32              ; Oscillator Off. 1=Turn_Off_LFXT1CLK
CPUOFF          equ     16              ; CPU Off. 1=Turn_Off_CPU        (SR)
GIE             equ     8               ; General Interrupt Enable       (SR)

;----------------------------------------------------------------------------
; Special Function Register of MSP430x1xx Family, Byte Access

IE1             equ     000h            ; Interrupt Enable
ACCVIE          equ     32              ; Flash Access Interrupt Enable  (IE1.5)
NMIIE           equ     16              ; NMI Enable                     (IE1.4)
OFIE            equ     2               ; Osc Fault Interrupt Enable     (IE1.1)
WDTIE           equ     1               ; Watchdog Interrupt Enable      (IE1.0)

IFG1            equ     002h            ; Interrupt Flag
NMIIFG          equ     16              ; Set Via !RST/NMI Pin           (IFG1.4)
RSTIFG          equ     8               ; External Reset Interrupt Flag  (IFG1.3)
PORIFG          equ     4               ; Power-on-Reset Interrupt Flag  (IFG1.2)
OFIFG           equ     2               ; Flag on Oscillator Fault       (IFG1.1)
WDTIFG          equ     1               ; Watchdog or Security Key Violation (IFG1.0)

ME1             equ     004h            ; Module Enable

; MSP43012xx devices only, only for MSP43012xx devices.

IE2             equ     001h
UTXIE0          equ     2               ; USART0 Transmit Int-Enable Bit (IE2.2)
URXIE0          equ     1               ; USART0 Receive Int-Enable Bit  (IE2.1)

IFG2            equ     003h
UTXIFG0         equ     2               ; USART0 and SPI Transmit Flag   (IFG2.1)
URXIFG0         equ     1               ; USART0 and SPI Receive Flag    (IFG2.0)

ME2             equ     005h
UTXE0           equ     2               ; USART0 Transmit Enable Bit     (ME2.1)
URXE0           equ     1               ; USART0 Receive Enable Bit      (ME2.0)
USPIE0          equ     1               ; SPI Transmit+Receive Enable    (ME2.0)

;----------------------------------------------------------------------------
; Digital I/O, Byte Access

P0IN            equ     010h            ; Read Register (Pin State)
P0OUT           equ     011h            ; Write Register (Latches)
P0DIR           equ     012h            ; Direction Register
P0IFG           equ     013h            ; Interrupt Flags
P0IES           equ     014h            ; Interrupt Edge Selection
P0IE            equ     015h            ; Interrupt Enables

P3IN            equ     018h            ; Input Register
P3OUT           equ     019h            ; Output Register
P3DIR           equ     01Ah            ; Direction Register
P3SEL           equ     01Bh            ; Function Select

P4IN            equ     01Ch            ; Input Register
P4OUT           equ     01Dh            ; Output Register
P4DIR           equ     01Eh            ; Direction Register
P4SEL           equ     01Fh            ; Function Select

P1IN            equ     020h            ; Input Register
P1OUT           equ     021h            ; Output Register
P1DIR           equ     022h            ; Direction Register
P1IFG           equ     023h            ; Interrupt Flags
P1IES           equ     024h            ; Interrupt Edge Select
P1IE            equ     025h            ; Interrupt Enable
P1SEL           equ     026h            ; Function Select

P2IN            equ     028h            ; Input Register
P2OUT           equ     029h            ; Output Register
P2DIR           equ     02Ah            ; Direction Register
P2IFG           equ     02Bh            ; Interrupt Flags
P2IES           equ     02Ch            ; Interrupt Edge Select
P2IE            equ     02Dh            ; Interrupt Enable
P2SEL           equ     02Eh            ; Function Select

P5IN            equ     030h            ; Input Register
P5OUT           equ     031h            ; Output Register
P5DIR           equ     032h            ; Direction Register
P5SEL           equ     033h            ; Function Select

P6IN            equ     034h            ; Input Register
P6OUT           equ     035h            ; Output Register
P6DIR           equ     036h            ; Direction Register
P6SEL           equ     037h            ; Function Select

;----------------------------------------------------------------------------
; LCD-Interface

LCDCTL          equ     030h            ; Control
LCD_Start       equ     031h            ; Start Address
LCD_Stop        equ     03fh            ; End Address
__TMP           set     1               ; Individual Definitions
                rept    9
LCD{"\{__TMP}"} equ     030h+__TMP
__TMP           set     __TMP+1
                endm
                rept    6
LCD1{"\{__TMP-10}"} equ 030h+__TMP
__TMP           set     __TMP+1
                endm
                
;----------------------------------------------------------------------------
; Timer

BTCTL           equ     040h            ; Timer 1 Basic Control Register

TCCTL           equ     042h
TCPLD           equ     043h            ; Preaload Value
TCDAT           equ     044h            ; Count Value

BTCNT1          equ     046h            ; Count Register
BTCNT2          equ     047h

TPCTL           equ     04Bh            ; Timer/Port Control Register
TPCNT1          equ     04Ch            ; Count Register
TPCNT2          equ     04Dh
TPD             equ     04Eh            ; Data Register
TPE             equ     04Fh            ; Enable Register

;----------------------------------------------------------------------------
; Clock Generator

SCFI0           equ     050h            ; Integrator
SCFI1           equ     051h
SCFQCTL         equ     052h            ; Crystal Frequency Multiplicator
CBCTL           equ     053h            ; Buffer Control

;----------------------------------------------------------------------------
; EPROM Control Registers, Byte Access

EPCTL           equ     054h            ; EPROM Control

;----------------------------------------------------------------------------
; Basic Clock Registers, Byte Access

DCOCTL          equ     056h
DCO2            equ     128             ; DCO Freq Select, see RSELx    (DCOCTL.7)
DCO1            equ     64              ;                               (DCOCTL.6)
DCO0            equ     32              ;                               (DCOCTL.5)
MOD4            equ     16              ; Modulator Selection           (DCOCTL.4)
MOD3            equ     8               ;                               (DCOCTL.3)
MOD2            equ     4               ;                               (DCOCTL.2)
MOD1            equ     2               ;                               (DCOCTL.1)
MOD0            equ     1               ;                               (DCOCTL.0)

BCSCTL1         equ     057h
XT2OFF          equ     128             ; XT2 Off. Turn Off XT2 Oscil    (BCSCTL1.7)
XTS             equ     64              ; LFXT1 Mode. 0=LowFreq,1=HiFreq (BCSCTL1.6)
DIVA1           equ     32              ; Divider for ACLK.              (BCSCTL1.5)
DIVA0           equ     16              ; 00=/1, 01=/2, 10=/4, 11=/8     (BCSCTL1.4)
XT5V            equ     8               ; Unused. Always Reset to Zero   (BCSCTL1.3)
RSEL2           equ     4               ; Resistor Select. Internal R    (BCSCTL1.2)
RSEL1           equ     2               ; Lowest R=0                     (BCSCTL1.1)
RSEL0           equ     1               ;                                (BCSCTL1.0)
RSEL_7          equ     7               ;                                (BCSCTL1.0-2)
RSEL_6          equ     6               ;                                (BCSCTL1.0-2)
RSEL_5          equ     5               ;                                (BCSCTL1.0-2)
RSEL_4          equ     4               ;                                (BCSCTL1.0-2)
RSEL_3          equ     3               ;                                (BCSCTL1.0-2)
RSEL_2          equ     2               ;                                (BCSCTL1.0-2)
RSEL_1          equ     1               ;                                (BCSCTL1.0-2)
RSEL_0          equ     0               ;                                (BCSCTL1.0-2)

BCSCTL2         equ     058h
SELM_3          equ     128+64          ; Select MCLK. 11=LFXT1CLK       (BCSCTL2.6.7)
SELM_2          equ     128             ; MCLK 10=XT2CLK or LFXT1CLK     (BCSCTL2.6.7)
SELM_1          equ     64              ; Select MCLK. 01=DCOCLK         (BCSCTL2.6.7)
SELM_0          equ     0               ; Select MCLK. 00=DCOCLK         (BCSCTL2.6.7)
SELM1           equ     128             ; Select MCLK. 00=01=DCOCLK      (BCSCTL2.7)
SELM0           equ     64              ; 10=XT2CLK or LFXT1CLK=11       (BCSCTL2.6)
DIVM1           equ     32              ; Divider for MCLK,              (BCSCTL2.5)
DIVM0           equ     16              ; 00=/1, 01=/2, 10=/4, 11=/8     (BCSCTL2.4)
SELS            equ     8               ; Select SMCLK 0=DCOCLK,1=XT2CLK (BCSCTL2.3)
DIVS1           equ     4               ; Divider for SMCLK,             (BCSCTL2.2)
DIVS0           equ     2               ; 00=/1, 01=/2, 10=/4, 11=/8     (BCSCTL2.1)
DCOR            equ     1               ; DCO Resistor. 0=Intern,1=1xtn  (BCSCTL2.0)

;----------------------------------------------------------------------------
; Comparator_A Registers, Byte Access

CACTL1          equ     059h            ; Comparator A Control Register 1
CACTL2          equ     05Ah            ; Comparator A Control Register 2
CAPD            equ     05Bh            ; Comparator A Port Disable

;----------------------------------------------------------------------------
; PWM

PWMCTL          equ     058h            ; Count Value
PWMDTB          equ     059h            ; Pulse Width (Buffer)
PWMDTR          equ     05Ah            ; Pulse Width
PWMCNT          equ     05Bh            ; Control

;----------------------------------------------------------------------------
; USART 0

U0CTL           equ     070h
U0TCTL          equ     071h
U0RCTL          equ     072h
U0MCTL          equ     073h
U0BR0           equ     074h
U0BR1           equ     075h
U0RXBUF         equ     076h
U0TXBUF         equ     077h

;----------------------------------------------------------------------------
; USART 1

U1CTL           equ     078h
U1TCTL          equ     079h
U1RCTL          equ     07Ah
U1MCTL          equ     07Bh
U1BR0           equ     07Ch
U1BR1           equ     07Dh
U1RXBUF         equ     07Eh
U1TXBUF         equ     07Fh

;----------------------------------------------------------------------------
; USART Register Bits

FE              equ     128             ; Framing Error (low stop bit)   (UxRCTL.7)
PE              equ     64              ; Parity Error (PE=0 if PENA=0)  (UxRCTL.6)
OE              equ     32              ; Overrun Error (Buffer Overrun) (UxRCTL.5)
BRK             equ     16              ; Break Detect Flag              (UxRCTL.4)
URXEIE          equ     8               ; Rec Err Chars Sets URXIFG)     (UxRCTL.3)
URXWIE          equ     4               ; Rec Wakeup Int Enable (URXIFG) (UxRCTL.2)
RXWAKE          equ     2               ; Rec Wakeup Flag                (UxRCTL.1)
RXERR           equ     1               ; Rec Error Flag (FE,PE,OE,BRK)  (UxRCTL.0)
                                          
CKPL            equ     64              ; Clock Polarity 0=UCLKI=UCLK    (UxTCTL.6)
SSEL1           equ     32              ; Source 00=UCLKI, 01=ACLK       (UxTCTL.5)
SSEL0           equ     16              ; Source 10=SMCLKI, 11=SMCLK     (UxTCTL.4)
URXSE           equ     8               ; Receive Start-Edge, 1=Enabled  (UxTCTL.3)
TXWAKE          equ     4               ; Transmitter Wake, 0=Data,1=Adr (UxTCTL.2)
TXEPT           equ     1               ; Transmitter Empty Flag         (UxTCTL.0)
                                          
PENA            equ     128             ; Parity Enable, 1=Enabled       (UxCTL.7)
PEV             equ     64              ; Parity Select, 1=Even,0=Odd    (UxCTL.6)
SPB             equ     32              ; Stop Bit, 0=1Stop,1=2Stop      (UxCTL.5)
CHAR            equ     16              ; Char Length, 0=7Bit,1=8Bit     (UxCTL.4)
LISTEN          equ     8               ; Listen Enable, 1=Loopback->RX  (UxCTL.3)
SYNC            equ     4               ; Synch Mode, 0=USART,1=SPI      (UxCTL.2)
MM              equ     2               ; Multiprocessor, 1=Use_Protocol (UxCTL.1)
SWRST           equ     1               ; Software Reset, 1=Held_Reset   (UxCTL.0)

;----------------------------------------------------------------------------
; ADC12 Low Bytes

ADC12MCTL0      equ     080h
ADC12MCTL1      equ     081h
ADC12MCTL2      equ     082h
ADC12MCTL3      equ     083h
ADC12MCTL4      equ     084h
ADC12MCTL5      equ     085h
ADC12MCTL6      equ     086h
ADC12MCTL7      equ     087h
ADC12MCTL8      equ     088h
ADC12MCTL9      equ     089h
ADC12MCTL10     equ     08Ah
ADC12MCTL11     equ     08Bh
ADC12MCTL12     equ     08Ch
ADC12MCTL13     equ     08Dh
ADC12MCTL14     equ     08Eh
ADC12MCTL15     equ     08Fh

;----------------------------------------------------------------------------
; LCD Registers

LCDC            equ     090h
__TMP           set     1               ; Individual Definitions
                rept    19
LCDmemory{"\{__TMP}"} equ     LCDC+__TMP
__TMP           set     __TMP+1
                endm

;----------------------------------------------------------------------------
; A/D-Wandler, Word Access

AIN             equ     0110h           ; Input Register
AEN             equ     0112h           ; Input Enables
ACTL            equ     0114h           ; Control
ADAT            equ     0118h           ; Data

;----------------------------------------------------------------------------
; Timer_B Interrupt Vector, Word Access

TBIV            equ     011Eh

;----------------------------------------------------------------------------
; Watchdog/Timer, Word Access

WDTCTL          equ     0120h
WDTHOLD         equ     128             ; Watchdog Timer Hold. 1=Stopped (WDTCTL.6)
WDTNMIES        equ     64              ; NMI Edge Select 0=Rise,1=Fall  (WDTCTL.6)
WDTNMI          equ     32              ; NMI Pin Select, 0=!Reset,1=NMI (WDTCTL.5)
WDTTMSEL        equ     16              ; Mode Select 0=Watchdog,1=Timer (WDTCTL.4)
WDTCNTCL        equ     8               ; Counter Clear, 1=Clear_Counter (WDTCTL.3)
WDTSSEL         equ     4               ; Source Select, 0=SMCLK,1=ACLK  (WDTCTL.2)
WDTIS1          equ     2               ; Watchdog Timer Interval Select (WDTCTL.1)
WDTIS0          equ     1               ; 00=32768,01=8192,10=512,11=64  (WDTCTL.0)

;----------------------------------------------------------------------------
; Timer_A Interrupt Vector, Word Access

TAIV            equ     012Eh

;----------------------------------------------------------------------------
; Flash Control, Word Access

FCTL1           equ     0128h
FCTL2           equ     012Ah
FCTL3           equ     012Ch

;----------------------------------------------------------------------------
; Hardware Multiplier, Word Access

MPY             equ     0130h           ; Multiply Unsigned
MPYS            equ     0132h           ; Multiply Signed
MAC             equ     0134h           ; MPY+ACC
MACS            equ     0136h           ; MPYS+ACC
OP2             equ     0138h           ; Second Operand
ResLo           equ     013Ah           ; Result Low Word
ResHi           equ     013Ch           ; Result High Word
SumExt          equ     013Eh           ; Sum Extend

;----------------------------------------------------------------------------
; ADC12 High Bytes, Word Access

ADC12MEM0       equ     0140h
ADC12MEM1       equ     0142h
ADC12MEM2       equ     0144h
ADC12MEM3       equ     0146h
ADC12MEM4       equ     0148h
ADC12MEM5       equ     014Ah
ADC12MEM6       equ     014Ch
ADC12MEM7       equ     014Eh
ADC12MEM8       equ     0150h
ADC12MEM9       equ     0152h
ADC12MEM10      equ     0154h
ADC12MEM11      equ     0156h
ADC12MEM12      equ     0158h
ADC12MEM13      equ     015Ah
ADC12MEM14      equ     015Ch
ADC12MEM15      equ     015Eh

;----------------------------------------------------------------------------
; Timer_A Registers, Word Access

TACTL           equ     0160h
CCTL0           equ     0162h
CCTL1           equ     0164h
CCTL2           equ     0166h
CCTL3           equ     0168h
CCTL4           equ     016Ah
TAR             equ     0170h
CCR0            equ     0172h
CCR1            equ     0174h
CCR2            equ     0176h
CCR3            equ     0178h
CCR4            equ     017Ah

;----------------------------------------------------------------------------
; Timer_B Registers, Word Access

TBCTL           equ     0180h
TBCCTL0         equ     0182h
TBCCTL1         equ     0184h
TBCCTL2         equ     0186h
TBCCTL3         equ     0188h
TBCCTL4         equ     018Ah
TBCCTL5         equ     018Ch
TBCCTL6         equ     018Eh
TBR             equ     0190h
TBCCR0          equ     0192h
TBCCR1          equ     0194h
TBCCR2          equ     0196h
TBCCR3          equ     0198h
TBCCR4          equ     019Ah
TBCCR5          equ     019Ch
TBCCR6          equ     019Eh

;----------------------------------------------------------------------------
; ADC12 Registers, Byte and Word Access

ADC12CTL0       equ     01A0h
ADC12CTL1       equ     01A2h
ADC12FG         equ     01A4h
ADC12IE         equ     01A6h

;----------------------------------------------------------------------------

                restore                 ; wieder erlauben

                endif                   ; regmspinc