Subversion Repositories pentevo

Rev

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

                ifndef  __reg72521inc   ; avoid multiple inclusion
__reg72521inc   equ     1

                save
                listing off             ; no listing over this file

;****************************************************************************
;*                                                                          *
;*   AS 1.42 - File REG72521.INC                                            *
;*                                                                          *
;*   contains SFR and Bit Definitions for ST72521                           *
;*                                                                          *
;*   Source: ST72521 Data Sheet, Rev. 5, May 2005                           *
;*                                                                          *
;****************************************************************************

;----------------------------------------------------------------------------
; Memory Addresses

RAMSTART        label   $0080           ; start address internal RAM
                switch  substr(MOMCPUNAME,9,1)
                case    "6"
RAMEND          label   $047f           ; end     "        "      "
                case    "9"
RAMEND          label   $087f           ; end     "        "      "
                elsecase
                fatal   "cannot deduce RAM size"
                endcase
                
;----------------------------------------------------------------------------
; Interrupt Vectors

PWM_ART_vect    label   $ffe0           ; PWM ART interrupt
I2C_vect        label   $ffe2           ; I2C Peripheral interrupts
AVD_vect        label   $ffe4           ; Auxiliary Voltage detector interrupt
SCI_vect        label   $ffe6           ; SCI Interrupt Vector
TIMB_vect       label   $ffe8           ; TIMER B Interrupt Vector
TIMA_vect       label   $ffea           ; TIMER A Interrupt Vector
SPI_vect        label   $ffec           ; SPI Interrupt Vector
CAN_vect        label   $ffee           ; CAN Interrupt Vector
EI3_vect        label   $fff0           ; External Interrupt Vector B7..4
EI2_vect        label   $fff2           ; External Interrupt Vector B3..0
EI1_vect        label   $fff4           ; External Interrupt Vector F2..0
EI0_vect        label   $fff6           ; External Interrupt Vector A3..0
MCC_RTC_vect    label   $fff8           ; Main clock controller time base interrupt
TLI_vect        label   $fffa           ; External top level interrupt
TRAP_vect       label   $fffc           ; TRAP (software) Interrupt Vector
RESET_vect      label   $fffe           ; RESET Vector

;----------------------------------------------------------------------------
; GPIO

                include "gpio.inc"
                __defgpio "PA",$0000
                __defgpio "PB",$0003
                __defgpio "PC",$0006
                __defgpio "PD",$0009
                __defgpio "PE",$000c
                __defgpio "PF",$000f
                __defgpio "PG",$0012
                __defgpio "PH",$0015

;----------------------------------------------------------------------------
; Miscellaneous

;----------------------------------------------------------------------------
; I2C

                include "i2c.inc"
                __defi2c $0018

;----------------------------------------------------------------------------
; SPI

                include "spi2.inc"
                __defspi $0021

;----------------------------------------------------------------------------
; ITC

ISPR0           label   $0024           ; Interrupt Software Priority Register 0
I0_0            bit     ISPR0,0         ;  TLI
I1_0            bit     ISPR0,1
I0_1            bit     ISPR0,2         ;  MCC+SI
I1_1            bit     ISPR0,3
I0_2            bit     ISPR0,4         ;  EI0
I1_2            bit     ISPR0,5
I0_3            bit     ISPR0,6         ;  EI1
I1_3            bit     ISPR0,7
ISPR1           label   $0025           ; Interrupt Software Priority Register 1
I0_4            bit     ISPR1,0         ;  EI2
I1_4            bit     ISPR1,1
I0_5            bit     ISPR1,2         ;  EI3
I1_5            bit     ISPR1,3
I0_6            bit     ISPR1,4
I1_6            bit     ISPR1,5
I0_7            bit     ISPR1,6         ;  SPI
I1_7            bit     ISPR1,7
ISPR2           label   $0026           ; Interrupt Software Priority Register 2
I0_8            bit     ISPR2,0         ;  Timer A
I1_8            bit     ISPR2,1
I0_9            bit     ISPR2,2         ;  Timer B
I1_9            bit     ISPR2,3
I0_10           bit     ISPR2,4         ;  SCI
I1_10           bit     ISPR2,5
I0_11           bit     ISPR2,6         ;  AVD
I1_11           bit     ISPR2,7
ISPR3           label   $0027           ; Interrupt Software Priority Register 3
I0_12           bit     ISPR3,0         ;  I2C
I1_12           bit     ISPR3,1
I0_13           bit     ISPR3,2         ;  PWMART
I1_13           bit     ISPR3,3
EICR            label   $0028           ; External Interrupt Control Register
IS1             bfield  EICR,6,2        ;  ei2 and ei3 sensitivity
IPB             bit     EICR,5          ;  Interrupt polarity for port B
IS2             bfield  EICR,3,2        ;  ei0 and ei1 sensitivity
IPA             bit     EICR,2          ;  Interrupt polarity for port A
TLIS            bit     EICR,1          ;  TLI sensitivity
TLIE            bit     EICR,0          ;  TLI enable

;----------------------------------------------------------------------------
; Flash

FCSR            label   $0029           ; Flash Control/Status Register

;----------------------------------------------------------------------------
; Watchdog

WDGCR           label   $002a           ; Watchdog Control Register
WDGA            bit     WDGCR,7         ; Activation bit

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

SICSR           label   $002b           ; System Integrity Control/Status Register
AVDS            bit     SICSR,7         ;  Voltage Detection selection
AVDIE           bit     SICSR,6         ;  Voltage Detector interrupt enable
AVDF            bit     SICSR,5         ;  Voltage Detector flag
LVDRF           bit     SICSR,4         ;  LVD reset flag
WDGRF           bit     SICSR,0         ;  Watchdog reset flag

;----------------------------------------------------------------------------
; MCC

MCCSR           label   $002c           ; Main Clock Control / Status Register
MCO             bit     MCCSR,7         ;  Main clock out selection
CP              bfield  MCCSR,5,2       ;  CPU clock prescaler
SMS             bit     MCCSR,4         ;  Slow mode select
TB              bfield  MCCSR,2,2       ;  Time base control
OIE             bit     MCCSR,1         ;  Oscillator interrupt enable
OIF             bit     MCCSR,0         ;  Oscillator interrupt flag
MCCBCR          label   $002d           ; Main Clock Controller: Beep Control Register
BC              bfield  MCCBCR,0,2      ;  Beep control

;----------------------------------------------------------------------------
; Timer A/B

                include "timer.inc"             
                __deftimer "TA",$0030
                __deftimer "TB",$0040

;----------------------------------------------------------------------------
; Serial Communications Interface

                include "sci2.inc"
                __defsci2 $0050,5

;----------------------------------------------------------------------------
; CAN

CANISR          label   $005a           ; CAN Interrupt Status Register
RXIF3           bit     CANISR,7        ;  Receive Interrupt Flag for Buffer 3
RXIF2           bit     CANISR,6        ;  Receive Interrupt Flag for Buffer 2
RXIF1           bit     CANISR,5        ;  Receive Interrupt Flag for Buffer 1
TXIF            bit     CANISR,4        ;  Transmit Interrupt Flag
SCIF            bit     CANISR,3        ;  Status Change Interrupt Flag
ORIF            bit     CANISR,2        ;  Overrun Interrupt Flag
TEIF            bit     CANISR,1        ;  Transmit Error Interrupt Flag
EPND            bit     CANISR,0        ;  Error Interrupt Pending
CANICR          label   $005b           ; CAN Interrupt Control Register
ESCI            bit     CANICR,6        ;  Extended Status Change Interrupt
RXIE            bit     CANICR,5        ;  Receive Interrupt Enable
TXIE            bit     CANICR,4        ;  Transmit Interrupt Enable
SCIE            bit     CANICR,3        ;  Status Change Interrupt Enable
ORIE            bit     CANICR,2        ;  Overrun Interrupt Enable
TEIE            bit     CANICR,1        ;  Transmit Error Interrupt Enable
CANCSR          label   $005c           ; CAN Control / Status Register
BOFF            bit     CANCSR,6        ;  Bus-Off State
EPSV            bit     CANCSR,5        ;  Error Passive State
SRTE            bit     CANCSR,4        ;  Simultaneous Receive/Transmit Enable
NRTX            bit     CANCSR,3        ;  No Retransmission
FSYN            bit     CANCSR,2        ;  Fast Synchronization
WKPS            bit     CANCSR,1        ;  Wake-up Pulse
RUN             bit     CANCSR,0        ;  CAN Enable
CANBRPR         label   $005d           ; CAN Baud Rate Prescaler Register
RJW             bfield  CANBRPR,6,2     ;  maximum number of time quanta by which a bit period may be shortened or lengthened to achieve resynchronization
BRP             bfield  CANBRPR,0,6     ;  CAN system clock cycle
CANBTR          label   $005e           ; CAN Bit Timing Register
BS2             bfield  CANBTR,4,3      ;  length of Bit Segment 2
BS1             bfield  CANBTR,0,4      ;  length of Bit Segment 1
CANPSR          label   $005f           ; CAN Page Selection Register
CAN_P0          label   $0060           ; Paged Registers
CAN_P1          label   $0061
CAN_P2          label   $0062
CAN_P3          label   $0063
CAN_P4          label   $0064
CAN_P5          label   $0065
CAN_P6          label   $0066
CAN_P7          label   $0067
CAN_P8          label   $0068
CAN_P9          label   $0069
CAN_P10         label   $006a
CAN_P11         label   $006b
CAN_P12         label   $006c
CAN_P13         label   $006d
CAN_P14         label   $006e
CAN_P15         label   $006f
CAN_LIDHR       label   CAN_P0          ; [Page 0] Last Identifier High Register
CAN_LIDLR       label   CAN_P1          ; [Page 0] Last Identifier Low Register
CAN_TECR        label   CAN_P14         ; [Page 0] Transmit Error Counter Register
CAN_RECR        label   CAN_P15         ; [Page 0] Receive Error Counter Register
__N             set     1
                rept    3
__NS            set     "\{__N}"
CAN_IDHR{__NS}  label   CAN_P0          ; [Page 1..3] Identifier High Register
CAN_IDLR{__NS}  label   CAN_P1          ; [Page 1..3] Identifier Low Register
CAN_DATA0{__NS} label   CAN_P2          ; [Page 1..3] Data Registers
CAN_DATA1{__NS} label   CAN_P3          ; [Page 1..3]
CAN_DATA2{__NS} label   CAN_P4          ; [Page 1..3]
CAN_DATA3{__NS} label   CAN_P5          ; [Page 1..3]
CAN_DATA4{__NS} label   CAN_P6          ; [Page 1..3]
CAN_DATA5{__NS} label   CAN_P7          ; [Page 1..3]
CAN_DATA6{__NS} label   CAN_P8          ; [Page 1..3]
CAN_DATA7{__NS} label   CAN_P9          ; [Page 1..3]
CAN_BCSR{__NS}  label   CAN_P15         ; [Page 1..3] Buffer Control/Status Register
CAN_ACC{__NS}   bit     CAN_BCSR{__NS},3;  Acceptance Code
CAN_RDY{__NS}   bit     CAN_BCSR{__NS},2;  Message Ready
CAN_BUSY{__NS}  bit     CAN_BCSR{__NS},1;  Busy Buffer
CAN_LOCK{__NS}  bit     CAN_BCSR{__NS},0;  Lock Buffer
__N             set     __N+1
                endm
CAN_FHR0        label   CAN_P0          ; [Page 4] Filter High Register 0
CAN_FLR0        label   CAN_P1          ; [Page 4] Filter Low Register 0
CAN_MHR0        label   CAN_P2          ; [Page 4] Mask High Register 0
CAN_MLR0        label   CAN_P3          ; [Page 4] Mask Low Register 0
CAN_FHR1        label   CAN_P4          ; [Page 4] Filter High Register 1
CAN_FLR1        label   CAN_P5          ; [Page 4] Filter Low Register 1
CAN_MHR1        label   CAN_P6          ; [Page 4] Mask High Register 1
CAN_MLR1        label   CAN_P7          ; [Page 4] Mask Low Register 1

;----------------------------------------------------------------------------
; Analog/Digital Converter

                include "adc10.inc"
                __defadc10 $0070

;----------------------------------------------------------------------------
; PWM ART

                include "pwm_art.inc"
                __defpwmart $0073

                restore
                endif                   ; __reg72521inc