Blame | Last modification | View Log | Download | RSS feed
ifndef reghc12inc ; avoid multiple inclusionreghc12inc equ 1save ; no listing over this filelisting 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"endifif MOMPASS=1message "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 RegisterPORTB equ REGBASE+$0001 ; [A|B] Port B RegisterDDRA equ REGBASE+$0002 ; [A|B] Port A Data Direction RegisterDDRB equ REGBASE+$0003 ; [A|B] Port B Data Direction RegisterPORTC equ REGBASE+$0004 ; [A|-] Port C RegisterPORTD equ REGBASE+$0005 ; [A|-] Port D RegisterDDRC equ REGBASE+$0006 ; [A|-] Port C Data Direction RegisterDDRD equ REGBASE+$0007 ; [A|-] Port D Data Direction RegisterPORTE equ REGBASE+$0008 ; [A|B] Port E RegisterDDRE equ REGBASE+$0009 ; [A|B] Port E Data Direction RegisterPEAR equ REGBASE+$000a ; [A|B] Port E Assignment RegisterMODE equ REGBASE+$000b ; [A|B] Mode RegisterPUCR equ REGBASE+$000c ; [A|B] Pull Up Control RegisterRDRIV equ REGBASE+$000d ; [A|B] Reduced Drive of I/O LinesINITRM equ REGBASE+$0010 ; [A|B] Initialization of Internal RAM Position RegisterINITRG equ REGBASE+$0011 ; [A|B] Initialization of Internal Register Position RegisterINITEE equ REGBASE+$0012 ; [A|B] Initialization of Internal EEPROM Position RegisterMISC equ REGBASE+$0013 ; [A|B] Miscellaneous Mapping RegisterRTICTL equ REGBASE+$0014 ; [A|B] Real-Time Interrupt Control RegisterRTIFLG equ REGBASE+$0015 ; [A|B] Real-Time Interrupt Flag RegisterCOPCTL equ REGBASE+$0016 ; [A|B] COP Control RegisterCOPRST equ REGBASE+$0017 ; [A|B] Arm/Reset COP Timer RegisterITST0 equ REGBASE+$0018 ; [A|B] ReservedITST1 equ REGBASE+$0019 ; [A|B] ReservedITST2 equ REGBASE+$001a ; [A|B] ReservedITST3 equ REGBASE+$001b ; [A|B] ReservedINTCR equ REGBASE+$001e ; [A|B] Interrupt Control RegisterHPRIO equ REGBASE+$001f ; [A|B] Highest Priority I InterruptKWIED equ REGBASE+$0020 ; [A|-] Key Wakeup Port D Interrupt Enable RegisterBRKCT0 equ REGBASE+$0020 ; [-|B] Breakpoint Control Register 0KWIFD equ REGBASE+$0021 ; [A|-] Key Wakeup Port D Flag RegisterBRKCT1 equ REGBASE+$0021 ; [-|B] Breakpoint Control Register 1BRKAH 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 RegisterBRKDH equ REGBASE+$0024 ; [-|B] Breakpoint Data Register (High Byte)DDRH equ REGBASE+$0025 ; [A|-] Port H Data Direction RegisterBRKDL equ REGBASE+$0025 ; [-|B] Breakpoint Data Register (Low Byte)KWIEH equ REGBASE+$0026 ; [A|-] Key Wakeup Port H Interrupt Enable RegisterKWIFH equ REGBASE+$0027 ; [A|-] Key Wakeup Port H Flag RegisterPORTJ equ REGBASE+$0028 ; [A|-] Port J RegisterDDRJ equ REGBASE+$0029 ; [A|-] Port J Data Direction RegisterKWIEJ equ REGBASE+$002a ; [A|-] Key Wakeup Port J Interrupt Enable RegisterKWIFJ equ REGBASE+$002b ; [A|-] Key Wakeup Port J Flag RegisterKPOLJ equ REGBASE+$002c ; [A|-] Key Wakeup Port J Polarity RegisterPUPSJ equ REGBASE+$002d ; [A|-] Key Wakeup Port J Pull-Up/Pulldown Select RegisterPULEJ equ REGBASE+$002e ; [A|-] Key Wakeup Port J Pull-Up/Pulldown Enable RegisterPORTF equ REGBASE+$0030 ; [A|-] Port F RegisterPORTG equ REGBASE+$0031 ; [A|-] Port G RegisterDDRF equ REGBASE+$0032 ; [A|-] Port F Data Direction RegisterDDRG equ REGBASE+$0033 ; [A|-] Port G Data Direction RegisterDPAGE equ REGBASE+$0034 ; [A|-] Data Page RegisterPPAGE equ REGBASE+$0035 ; [A|-] Program Page RegisterEPAGE equ REGBASE+$0036 ; [A|-] Extra Page RegisterWINDEF equ REGBASE+$0037 ; [A|-] Window Definition RegisterMXAR equ REGBASE+$0038 ; [A|-] Memory Expansion Assignment RegisterCSCTL0 equ REGBASE+$003c ; [A|-] Chip Select Control Register 0CSCTL1 equ REGBASE+$003d ; [A|-] Chip Select Control Register 1CSSTR0 equ REGBASE+$003e ; [A|-] Chip Select Stretch Register 0CSSTR1 equ REGBASE+$003f ; [A|-] Chip Select Stretch Register 1LDV equ REGBASE+$0040 ; [A|-] Loop Divider Registers (Word)PWCLK equ REGBASE+$0040 ; [-|B] PWM Clocks and ConcatenatePWPOL equ REGBASE+$0041 ; [-|B] PWM Clock Select and PolarityRDV equ REGBASE+$0042 ; [A|-] Reference Divider Register (Word)PWEN equ REGBASE+$0042 ; [-|B] PWM EnablePWPRES equ REGBASE+$0043 ; [-|B] PWM Prescale CounterPWSCAL0 equ REGBASE+$0044 ; [-|B] PWM Scale Register 0PWSCNT0 equ REGBASE+$0045 ; [-|B] PWM Scale Counter 0 ValuePWSCAL1 equ REGBASE+$0046 ; [-|B] PWM Scale Register 1CLKCTL equ REGBASE+$0047 ; [A|-] Clock Control RegisterPWSCNT1 equ REGBASE+$0047 ; [-|B] PWM Scale Counter 1 ValuePWCNT0 equ REGBASE+$0048 ; [-|B] PWM Channel 0 CounterPWCNT1 equ REGBASE+$0049 ; [-|B] PWM Channel 1 CounterPWCNT2 equ REGBASE+$004a ; [-|B] PWM Channel 2 CounterPWCNT3 equ REGBASE+$004b ; [-|B] PWM Channel 3 CounterPWPER0 equ REGBASE+$004c ; [-|B] PWM Channel 0 Period RegisterPWPER1 equ REGBASE+$004d ; [-|B] PWM Channel 1 Period RegisterPWPER2 equ REGBASE+$004e ; [-|B] PWM Channel 2 Period RegisterPWPER3 equ REGBASE+$004f ; [-|B] PWM Channel 3 Period RegisterPWDTY0 equ REGBASE+$0050 ; [-|B] PWM Channel 0 Duty RegisterPWDTY1 equ REGBASE+$0051 ; [-|B] PWM Channel 1 Duty RegisterPWDTY2 equ REGBASE+$0052 ; [-|B] PWM Channel 2 Duty RegisterPWDTY3 equ REGBASE+$0053 ; [-|B] PWM Channel 3 Duty RegisterPWCTL equ REGBASE+$0054 ; [-|B] PWM Control RegisterPWTST equ REGBASE+$0055 ; [-|B] PWM Special Mode RegisterPORTP equ REGBASE+$0056 ; [-|B] Port P Data RegisterDDRP equ REGBASE+$0057 ; [-|B] Port P Data Direction RegisterATDCTL0 equ REGBASE+$0060 ; [A|B] ReservedATDCTL1 equ REGBASE+$0061 ; [A|B] ReservedATDCTL2 equ REGBASE+$0062 ; [A|B] ATD Control Register 2ATDCTL3 equ REGBASE+$0063 ; [A|B] ATD Control Register 3ATDCTL4 equ REGBASE+$0064 ; [A|B] ATD Control Register 4ATDCTL5 equ REGBASE+$0065 ; [A|B] ATD Control Register 5ATDSTAT 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 RegisterADR0H equ REGBASE+$0070 ; [A|B] A/D Converter Result Register 0ADR1H equ REGBASE+$0072 ; [A|B] A/D Converter Result Register 1ADR2H equ REGBASE+$0074 ; [A|B] A/D Converter Result Register 2ADR3H equ REGBASE+$0076 ; [A|B] A/D Converter Result Register 3ADR4H equ REGBASE+$0078 ; [A|B] A/D Converter Result Register 4ADR5H equ REGBASE+$007a ; [A|B] A/D Converter Result Register 5ADR6H equ REGBASE+$007c ; [A|B] A/D Converter Result Register 6ADR7H equ REGBASE+$007e ; [A|B] A/D Converter Result Register 7TIOS equ REGBASE+$0080 ; [A|B] Timer Input Capture/Output Compare SelectCFORC equ REGBASE+$0081 ; [A|B] Timer Compare Force RegisterOC7M equ REGBASE+$0082 ; [A|B] Output Compare 7 Mask RegisterOC7D equ REGBASE+$0083 ; [A|B] Output Compare 7 Data RegisterTCNT equ REGBASE+$0084 ; [A|B] Timer Count Register (Word)TSCR equ REGBASE+$0086 ; [A|B] Timer System Control RegisterTQCR equ REGBASE+$0087 ; [A|B] ReservedTCTL1 equ REGBASE+$0088 ; [A|B] Timer Control Register 1TCTL2 equ REGBASE+$0089 ; [A|B] Timer Control Register 2TCTL3 equ REGBASE+$008a ; [A|B] Timer Control Register 3TCTL4 equ REGBASE+$008b ; [A|B] Timer Control Register 4TMSK1 equ REGBASE+$008c ; [A|B] Timer Interrupt Mask 1TMSK2 equ REGBASE+$008d ; [A|B] Timer Interrupt Mask 2TFLG1 equ REGBASE+$008e ; [A|B] Timer Interrupt Flag 1TFLG2 equ REGBASE+$008f ; [A|B] Timer Interrupt Flag 2TC0 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 RegisterPAFLG equ REGBASE+$00a1 ; [A|B] Pulse Accumulator Flag RegisterPACNT equ REGBASE+$00a2 ; [A|B] 16-bit Pulse Accumulator Count Register (Word)TIMTST equ REGBASE+$00ad ; [A|B] Timer Test RegisterPORTT equ REGBASE+$00ae ; [A|B] Port T RegisterDDRT equ REGBASE+$00af ; [A|B] Port T Data Direction RegisterSC0BDH equ REGBASE+$00c0 ; [A|B] SCI 0 Baud Rate Control Register HighSC0BDL equ REGBASE+$00c1 ; [A|B] SCI 0 Baud Rate Control Register LowSC0CR1 equ REGBASE+$00c2 ; [A|B] SCI 0 Control Register 1SC0CR2 equ REGBASE+$00c3 ; [A|B] SCI 0 Control Register 2SC0SR1 equ REGBASE+$00c4 ; [A|B] SCI 0 Status Register 1SC0SR2 equ REGBASE+$00c5 ; [A|B] SCI 0 Status Register 2SC0DRH equ REGBASE+$00c6 ; [A|B] SCI 0 Data Register HighSC0DRL equ REGBASE+$00c7 ; [A|B] SCI 0 Data Register LowSC1BDH equ REGBASE+$00c8 ; [A|-] SCI 1 Baud Rate Control Register HighSC1BDL equ REGBASE+$00c9 ; [A|-] SCI 1 Baud Rate Control Register LowSC1CR1 equ REGBASE+$00ca ; [A|-] SCI 1 Control Register 1SC1CR2 equ REGBASE+$00cb ; [A|-] SCI 1 Control Register 2SC1SR1 equ REGBASE+$00cc ; [A|-] SCI 1 Status Register 1SC1SR2 equ REGBASE+$00cd ; [A|-] SCI 1 Status Register 2SC1DRH equ REGBASE+$00ce ; [A|-] SCI 1 Data Register HighSC1DRL equ REGBASE+$00cf ; [A|-] SCI 1 Data Register LowSP0CR1 equ REGBASE+$00d0 ; [A|B] SPI Control Register 1SP0CR2 equ REGBASE+$00d1 ; [A|B] SPI Control Register 2SP0BR equ REGBASE+$00d2 ; [A|B] SPI Baud Rate RegisterSP0SR equ REGBASE+$00d3 ; [A|B] SPI Status RegisterSP0DR equ REGBASE+$00d5 ; [A|B] SPI Data RegisterPORTS equ REGBASE+$00d6 ; [A|B] Port S RegisterDDRS equ REGBASE+$00d7 ; [A|B] Port S Data Direction RegisterPURDS equ REGBASE+$00db ; [-|B] Pullup and Reduced Drive for Port SEEMCR equ REGBASE+$00f0 ; [A|B] EEPROM Module ConfigurationEEPROT equ REGBASE+$00f1 ; [A|B] EEPROM Block ProtectEETST equ REGBASE+$00f2 ; [A|B] EEPROM TestEEPROG equ REGBASE+$00f3 ; [A|B] EEPROM ControlFEELCK equ REGBASE+$00f4 ; [-|B] Flash EEPROM Lock Control RegisterFEEMCR equ REGBASE+$00f5 ; [-|B] Flash EEPROM Module Configuration RegisterFEETST equ REGBASE+$00f6 ; [-|B] Flash EEPROM Module Test RegisterFEECTL equ REGBASE+$00f7 ; [-|B] Flash EEPROM Control RegisterBCR1 equ REGBASE+$00f8 ; [-|B] BDLC Control Register 1BSVR equ REGBASE+$00f9 ; [-|B] BDLC State Vector RegisterBCR2 equ REGBASE+$00fa ; [-|B] BDLC Control Register 2BDR equ REGBASE+$00fb ; [-|B] BDLC Data RegisterBARD equ REGBASE+$00fc ; [-|B] BDLC Analog Roundtrip Delay RegisterDLCSCR equ REGBASE+$00fd ; [-|B] Port DLC Control RegisterPORTDLC equ REGBASE+$00fe ; [-|B] Port DLC Data RegisterDDRDLC equ REGBASE+$00ff ; [-|B] Port DLC Data Direction Register;-----------------------------------------------------------------------------restore ; allow listing againendif ; reghc12inc