Subversion Repositories pentevo

Rev

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

                ifndef  reghc12inc      ; avoid multiple inclusion
reghc12inc      equ     1

                save                    ; no listing over this file
                listing off

;*****************************************************************************
;   REGHC12.INC
;   Register Definitions for HC812A4 & HC912B32
;   Source: MC68HC812A4, MC68HC912B32 Technical Summary (Motorola 1996)
;   27.01.1997
;   Oliver Thamm (othamm@aol.com)
;*****************************************************************************

                if      (MOMCPUNAME<>"68HC12")
                 fatal  "wrong target selected: only 68HC12 allowed"
                endif

                if      MOMPASS=1
                 message "68HC812A4/68HC912B32 Register Definitions"
                 message "(C) 1996,1997 Oliver Thamm"
                endif

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

REGBASE equ     $0000           ; Below: [A=HC812A4|B=HC912B32]

PORTA   equ     REGBASE+$0000   ; [A|B] Port A Register
PORTB   equ     REGBASE+$0001   ; [A|B] Port B Register
DDRA    equ     REGBASE+$0002   ; [A|B] Port A Data Direction Register
DDRB    equ     REGBASE+$0003   ; [A|B] Port B Data Direction Register
PORTC   equ     REGBASE+$0004   ; [A|-] Port C Register
PORTD   equ     REGBASE+$0005   ; [A|-] Port D Register
DDRC    equ     REGBASE+$0006   ; [A|-] Port C Data Direction Register
DDRD    equ     REGBASE+$0007   ; [A|-] Port D Data Direction Register
PORTE   equ     REGBASE+$0008   ; [A|B] Port E Register
DDRE    equ     REGBASE+$0009   ; [A|B] Port E Data Direction Register
PEAR    equ     REGBASE+$000a   ; [A|B] Port E Assignment Register
MODE    equ     REGBASE+$000b   ; [A|B] Mode Register
PUCR    equ     REGBASE+$000c   ; [A|B] Pull Up Control Register
RDRIV   equ     REGBASE+$000d   ; [A|B] Reduced Drive of I/O Lines

INITRM  equ     REGBASE+$0010   ; [A|B] Initialization of Internal RAM Position Register 
INITRG  equ     REGBASE+$0011   ; [A|B] Initialization of Internal Register Position Register
INITEE  equ     REGBASE+$0012   ; [A|B] Initialization of Internal EEPROM Position Register
MISC    equ     REGBASE+$0013   ; [A|B] Miscellaneous Mapping Register
RTICTL  equ     REGBASE+$0014   ; [A|B] Real-Time Interrupt Control Register
RTIFLG  equ     REGBASE+$0015   ; [A|B] Real-Time Interrupt Flag Register
COPCTL  equ     REGBASE+$0016   ; [A|B] COP Control Register
COPRST  equ     REGBASE+$0017   ; [A|B] Arm/Reset COP Timer Register
ITST0   equ     REGBASE+$0018   ; [A|B] Reserved
ITST1   equ     REGBASE+$0019   ; [A|B] Reserved
ITST2   equ     REGBASE+$001a   ; [A|B] Reserved
ITST3   equ     REGBASE+$001b   ; [A|B] Reserved

INTCR   equ     REGBASE+$001e   ; [A|B] Interrupt Control Register
HPRIO   equ     REGBASE+$001f   ; [A|B] Highest Priority I Interrupt
KWIED   equ     REGBASE+$0020   ; [A|-] Key Wakeup Port D Interrupt Enable Register
BRKCT0  equ     REGBASE+$0020   ; [-|B] Breakpoint Control Register 0
KWIFD   equ     REGBASE+$0021   ; [A|-] Key Wakeup Port D Flag Register
BRKCT1  equ     REGBASE+$0021   ; [-|B] Breakpoint Control Register 1
BRKAH   equ     REGBASE+$0022   ; [-|B] Breakpoint Address Register (High Byte)
BRKAL   equ     REGBASE+$0023   ; [-|B] Breakpoint Address Register (Low Byte)
PORTH   equ     REGBASE+$0024   ; [A|-] Port H Register
BRKDH   equ     REGBASE+$0024   ; [-|B] Breakpoint Data Register (High Byte)
DDRH    equ     REGBASE+$0025   ; [A|-] Port H Data Direction Register
BRKDL   equ     REGBASE+$0025   ; [-|B] Breakpoint Data Register (Low Byte)
KWIEH   equ     REGBASE+$0026   ; [A|-] Key Wakeup Port H Interrupt Enable Register
KWIFH   equ     REGBASE+$0027   ; [A|-] Key Wakeup Port H Flag Register
PORTJ   equ     REGBASE+$0028   ; [A|-] Port J Register
DDRJ    equ     REGBASE+$0029   ; [A|-] Port J Data Direction Register
KWIEJ   equ     REGBASE+$002a   ; [A|-] Key Wakeup Port J Interrupt Enable Register
KWIFJ   equ     REGBASE+$002b   ; [A|-] Key Wakeup Port J Flag Register
KPOLJ   equ     REGBASE+$002c   ; [A|-] Key Wakeup Port J Polarity Register
PUPSJ   equ     REGBASE+$002d   ; [A|-] Key Wakeup Port J Pull-Up/Pulldown Select Register
PULEJ   equ     REGBASE+$002e   ; [A|-] Key Wakeup Port J Pull-Up/Pulldown Enable Register

PORTF   equ     REGBASE+$0030   ; [A|-] Port F Register
PORTG   equ     REGBASE+$0031   ; [A|-] Port G Register
DDRF    equ     REGBASE+$0032   ; [A|-] Port F Data Direction Register
DDRG    equ     REGBASE+$0033   ; [A|-] Port G Data Direction Register
DPAGE   equ     REGBASE+$0034   ; [A|-] Data Page Register
PPAGE   equ     REGBASE+$0035   ; [A|-] Program Page Register
EPAGE   equ     REGBASE+$0036   ; [A|-] Extra Page Register
WINDEF  equ     REGBASE+$0037   ; [A|-] Window Definition Register
MXAR    equ     REGBASE+$0038   ; [A|-] Memory Expansion Assignment Register

CSCTL0  equ     REGBASE+$003c   ; [A|-] Chip Select Control Register 0
CSCTL1  equ     REGBASE+$003d   ; [A|-] Chip Select Control Register 1
CSSTR0  equ     REGBASE+$003e   ; [A|-] Chip Select Stretch Register 0
CSSTR1  equ     REGBASE+$003f   ; [A|-] Chip Select Stretch Register 1
LDV     equ     REGBASE+$0040   ; [A|-] Loop Divider Registers (Word)
PWCLK   equ     REGBASE+$0040   ; [-|B] PWM Clocks and Concatenate
PWPOL   equ     REGBASE+$0041   ; [-|B] PWM Clock Select and Polarity
RDV     equ     REGBASE+$0042   ; [A|-] Reference Divider Register (Word)
PWEN    equ     REGBASE+$0042   ; [-|B] PWM Enable
PWPRES  equ     REGBASE+$0043   ; [-|B] PWM Prescale Counter
PWSCAL0 equ     REGBASE+$0044   ; [-|B] PWM Scale Register 0
PWSCNT0 equ     REGBASE+$0045   ; [-|B] PWM Scale Counter 0 Value
PWSCAL1 equ     REGBASE+$0046   ; [-|B] PWM Scale Register 1
CLKCTL  equ     REGBASE+$0047   ; [A|-] Clock Control Register
PWSCNT1 equ     REGBASE+$0047   ; [-|B] PWM Scale Counter 1 Value
PWCNT0  equ     REGBASE+$0048   ; [-|B] PWM Channel 0 Counter
PWCNT1  equ     REGBASE+$0049   ; [-|B] PWM Channel 1 Counter
PWCNT2  equ     REGBASE+$004a   ; [-|B] PWM Channel 2 Counter
PWCNT3  equ     REGBASE+$004b   ; [-|B] PWM Channel 3 Counter
PWPER0  equ     REGBASE+$004c   ; [-|B] PWM Channel 0 Period Register
PWPER1  equ     REGBASE+$004d   ; [-|B] PWM Channel 1 Period Register
PWPER2  equ     REGBASE+$004e   ; [-|B] PWM Channel 2 Period Register
PWPER3  equ     REGBASE+$004f   ; [-|B] PWM Channel 3 Period Register
PWDTY0  equ     REGBASE+$0050   ; [-|B] PWM Channel 0 Duty Register
PWDTY1  equ     REGBASE+$0051   ; [-|B] PWM Channel 1 Duty Register
PWDTY2  equ     REGBASE+$0052   ; [-|B] PWM Channel 2 Duty Register
PWDTY3  equ     REGBASE+$0053   ; [-|B] PWM Channel 3 Duty Register
PWCTL   equ     REGBASE+$0054   ; [-|B] PWM Control Register
PWTST   equ     REGBASE+$0055   ; [-|B] PWM Special Mode Register
PORTP   equ     REGBASE+$0056   ; [-|B] Port P Data Register
DDRP    equ     REGBASE+$0057   ; [-|B] Port P Data Direction Register

ATDCTL0 equ     REGBASE+$0060   ; [A|B] Reserved
ATDCTL1 equ     REGBASE+$0061   ; [A|B] Reserved
ATDCTL2 equ     REGBASE+$0062   ; [A|B] ATD Control Register 2
ATDCTL3 equ     REGBASE+$0063   ; [A|B] ATD Control Register 3
ATDCTL4 equ     REGBASE+$0064   ; [A|B] ATD Control Register 4
ATDCTL5 equ     REGBASE+$0065   ; [A|B] ATD Control Register 5
ATDSTAT equ     REGBASE+$0066   ; [A|B] ATD Status Register (Word)
ATDTEST equ     REGBASE+$0068   ; [A|B] ATD Test Register (Word)

PORTAD  equ     REGBASE+$006f   ; [A|B] Port AD Data Input Register

ADR0H   equ     REGBASE+$0070   ; [A|B] A/D Converter Result Register 0

ADR1H   equ     REGBASE+$0072   ; [A|B] A/D Converter Result Register 1

ADR2H   equ     REGBASE+$0074   ; [A|B] A/D Converter Result Register 2

ADR3H   equ     REGBASE+$0076   ; [A|B] A/D Converter Result Register 3

ADR4H   equ     REGBASE+$0078   ; [A|B] A/D Converter Result Register 4

ADR5H   equ     REGBASE+$007a   ; [A|B] A/D Converter Result Register 5

ADR6H   equ     REGBASE+$007c   ; [A|B] A/D Converter Result Register 6

ADR7H   equ     REGBASE+$007e   ; [A|B] A/D Converter Result Register 7

TIOS    equ     REGBASE+$0080   ; [A|B] Timer Input Capture/Output Compare Select
CFORC   equ     REGBASE+$0081   ; [A|B] Timer Compare Force Register
OC7M    equ     REGBASE+$0082   ; [A|B] Output Compare 7 Mask Register
OC7D    equ     REGBASE+$0083   ; [A|B] Output Compare 7 Data Register
TCNT    equ     REGBASE+$0084   ; [A|B] Timer Count Register (Word)
TSCR    equ     REGBASE+$0086   ; [A|B] Timer System Control Register
TQCR    equ     REGBASE+$0087   ; [A|B] Reserved
TCTL1   equ     REGBASE+$0088   ; [A|B] Timer Control Register 1
TCTL2   equ     REGBASE+$0089   ; [A|B] Timer Control Register 2
TCTL3   equ     REGBASE+$008a   ; [A|B] Timer Control Register 3
TCTL4   equ     REGBASE+$008b   ; [A|B] Timer Control Register 4
TMSK1   equ     REGBASE+$008c   ; [A|B] Timer Interrupt Mask 1
TMSK2   equ     REGBASE+$008d   ; [A|B] Timer Interrupt Mask 2
TFLG1   equ     REGBASE+$008e   ; [A|B] Timer Interrupt Flag 1
TFLG2   equ     REGBASE+$008f   ; [A|B] Timer Interrupt Flag 2
TC0     equ     REGBASE+$0090   ; [A|B] Timer Input Capture/Output Compare Register 0 (Word)
TC1     equ     REGBASE+$0092   ; [A|B] Timer Input Capture/Output Compare Register 1 (Word)
TC2     equ     REGBASE+$0094   ; [A|B] Timer Input Capture/Output Compare Register 2 (Word)
TC3     equ     REGBASE+$0096   ; [A|B] Timer Input Capture/Output Compare Register 3 (Word)
TC4     equ     REGBASE+$0098   ; [A|B] Timer Input Capture/Output Compare Register 4 (Word)
TC5     equ     REGBASE+$009a   ; [A|B] Timer Input Capture/Output Compare Register 5 (Word)
TC6     equ     REGBASE+$009c   ; [A|B] Timer Input Capture/Output Compare Register 6 (Word)
TC7     equ     REGBASE+$009e   ; [A|B] Timer Input Capture/Output Compare Register 7 (Word)
PACTL   equ     REGBASE+$00a0   ; [A|B] Pulse Accumulator Control Register
PAFLG   equ     REGBASE+$00a1   ; [A|B] Pulse Accumulator Flag Register
PACNT   equ     REGBASE+$00a2   ; [A|B] 16-bit Pulse Accumulator Count Register (Word)

TIMTST  equ     REGBASE+$00ad   ; [A|B] Timer Test Register
PORTT   equ     REGBASE+$00ae   ; [A|B] Port T Register
DDRT    equ     REGBASE+$00af   ; [A|B] Port T Data Direction Register

SC0BDH  equ     REGBASE+$00c0   ; [A|B] SCI 0 Baud Rate Control Register High
SC0BDL  equ     REGBASE+$00c1   ; [A|B] SCI 0 Baud Rate Control Register Low
SC0CR1  equ     REGBASE+$00c2   ; [A|B] SCI 0 Control Register 1
SC0CR2  equ     REGBASE+$00c3   ; [A|B] SCI 0 Control Register 2
SC0SR1  equ     REGBASE+$00c4   ; [A|B] SCI 0 Status Register 1
SC0SR2  equ     REGBASE+$00c5   ; [A|B] SCI 0 Status Register 2
SC0DRH  equ     REGBASE+$00c6   ; [A|B] SCI 0 Data Register High
SC0DRL  equ     REGBASE+$00c7   ; [A|B] SCI 0 Data Register Low
SC1BDH  equ     REGBASE+$00c8   ; [A|-] SCI 1 Baud Rate Control Register High
SC1BDL  equ     REGBASE+$00c9   ; [A|-] SCI 1 Baud Rate Control Register Low
SC1CR1  equ     REGBASE+$00ca   ; [A|-] SCI 1 Control Register 1
SC1CR2  equ     REGBASE+$00cb   ; [A|-] SCI 1 Control Register 2
SC1SR1  equ     REGBASE+$00cc   ; [A|-] SCI 1 Status Register 1
SC1SR2  equ     REGBASE+$00cd   ; [A|-] SCI 1 Status Register 2
SC1DRH  equ     REGBASE+$00ce   ; [A|-] SCI 1 Data Register High
SC1DRL  equ     REGBASE+$00cf   ; [A|-] SCI 1 Data Register Low
SP0CR1  equ     REGBASE+$00d0   ; [A|B] SPI Control Register 1
SP0CR2  equ     REGBASE+$00d1   ; [A|B] SPI Control Register 2
SP0BR   equ     REGBASE+$00d2   ; [A|B] SPI Baud Rate Register
SP0SR   equ     REGBASE+$00d3   ; [A|B] SPI Status Register

SP0DR   equ     REGBASE+$00d5   ; [A|B] SPI Data Register
PORTS   equ     REGBASE+$00d6   ; [A|B] Port S Register
DDRS    equ     REGBASE+$00d7   ; [A|B] Port S Data Direction Register

PURDS   equ     REGBASE+$00db   ; [-|B] Pullup and Reduced Drive for Port S

EEMCR   equ     REGBASE+$00f0   ; [A|B] EEPROM Module Configuration
EEPROT  equ     REGBASE+$00f1   ; [A|B] EEPROM Block Protect
EETST   equ     REGBASE+$00f2   ; [A|B] EEPROM Test
EEPROG  equ     REGBASE+$00f3   ; [A|B] EEPROM Control
FEELCK  equ     REGBASE+$00f4   ; [-|B] Flash EEPROM Lock Control Register
FEEMCR  equ     REGBASE+$00f5   ; [-|B] Flash EEPROM Module Configuration Register
FEETST  equ     REGBASE+$00f6   ; [-|B] Flash EEPROM Module Test Register
FEECTL  equ     REGBASE+$00f7   ; [-|B] Flash EEPROM Control Register
BCR1    equ     REGBASE+$00f8   ; [-|B] BDLC Control Register 1
BSVR    equ     REGBASE+$00f9   ; [-|B] BDLC State Vector Register
BCR2    equ     REGBASE+$00fa   ; [-|B] BDLC Control Register 2
BDR     equ     REGBASE+$00fb   ; [-|B] BDLC Data Register
BARD    equ     REGBASE+$00fc   ; [-|B] BDLC Analog Roundtrip Delay Register
DLCSCR  equ     REGBASE+$00fd   ; [-|B] Port DLC Control Register
PORTDLC equ     REGBASE+$00fe   ; [-|B] Port DLC Data Register
DDRDLC  equ     REGBASE+$00ff   ; [-|B] Port DLC Data Direction Register

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

                restore                 ; allow listing again

                endif                   ; reghc12inc