Blame | Last modification | View Log | Download | RSS feed | ?url?
ifndef __pmc884inc ; avoid multiple inclusion
__pmc884inc equ 1
save
listing off ; no listing over this file
;****************************************************************************
;* *
;* AS 1.42 - File PMC884.INC *
;* *
;* contains SFR and Bit Definitions for Padauk PMC884/MCS11 *
;* *
;* Sources: PMC884 Data Sheet, Ver. 0.03, Jan 12, 2018 *
;* MCS11 Data Sheet, Ver. 0.20, Apr 20, 2018 *
;* *
;****************************************************************************
;----------------------------------------------------------------------------
; Interrupt Control
inten sfr 0x04 ; Interrupt Enable
timer2_inten bit inten.6 ; Timer2 Interrupt Enable
pwmg_inten bit inten.5 ; PWMG Interrupt Enable
comp_inten bit inten.4 ; Hall Comparator Interrupt Enable
adc_inten bit inten.3 ; ADC Interrupt Enable
timer16_inten bit inten.2 ; Timer16 Interrupt Enable
pb0_inten bit inten.1 ; PB0/PB7 Interrupt Enable
pa0_inten bit inten.0 ; PA0/PA5 Interrupt Enable
intrq sfr 0x05 ; Interrupt Request Register
timer2_intrq bit intrq.6 ; Timer2 Interrupt Request
pwmg_intrq bit intrq.5 ; PWMG Interrupt Request
comp_intrq bit intrq.4 ; Comparator Interrupt Request
adc_intrq bit intrq.3 ; ADC Interrupt Request
timer16_intrq bit intrq.2 ; Timer16 Interrupt Request
pb0_intrq bit intrq.1 ; PB0/PB7 Interrupt Request
pa0_intrq bit intrq.0 ; PA0/PA5 Interrupt Request
integs sfr 0x0c ; Interrupt Edge Register
timer16_egs bit integs.4 ; Timer16 Edge Selection
pb0_egs _bfield integs,2,2 ; PB0/PB7 Edge Selection
pa0_egs _bfield integs,0,2 ; PA0/PA5 Edge Selection
;----------------------------------------------------------------------------
; CPU Core
__numcpus equ 8
clkmd sfr 0x03
clkselect _bfield clkmd,5,3 ; Clock Select
ihrc_enable bit clkmd.4 ; IHRC Enable
clktype bit clkmd.3 ; Clock Type Select
ilrc_enable bit clkmd.2 ; ILRC Enable
wd_enable bit clkmd.1 ; Watch Dog Enable
pa5_prst bit clkmd.0 ; Pin PA5/RESET# Function
eoscr sfr 0x0a ; External Oscillator Setting Register
enxtal bit eoscr.7 ; Enable external crystal
xtalsel _bfield eoscr,5,2 ; External Crystal Oscillator Selection
pwrdn bit eoscr.0 ; Power Down Band Gap and LVR Hardware
ihrcr sfr 0x0b ; IHRC Oscillator Control Register
misc sfr 0x3b ; MISC Register
en32k_lcur bit misc.6 ; Enable 32 kHz low current after osc.
en_fwkup bit misc.5 ; Enable Fast Wakeup
lvr_rec bit misc.3 ; LVR Recover Time
dis_lvr bit misc.2 ; Disable LVR Function
wdperiod _bfield misc,0,2 ; Watchdog Timeout
rop sfr 0x3e ; Register Option Register
pwmg_res bit rop.3 ; PWMG Resolution Selection
tm16_clkprediv bit rop.2 ; Timer16 Clock Pre-Divider
extint1_opt bit rop.1 ; External Interrupt 1 Pin Selection
extint0_opt bit rop.0 ; External Interrupt 0 Pin Selection
rstst sfr 0x25 ; Reset Status Register
wdg_rst bit rstst.7 ; Watchdog Reset Flag
inv_opc_rst bit rstst.6 ; Invalid Opcode Reset Flag
pa5_rst bit rstst.3 ; PA5 External Reset Flag
vdd_bel_4v bit rstst.2 ; Vdd below 4V
vdd_bel_3v bit rstst.1 ; Vdd below 3V
vdd_bel_2v bit rstst.0 ; Vdd below 2V
;----------------------------------------------------------------------------
; Multiplier
mulop sfr 0x08 ; Multiplier Operand Register
mulrh sfr 0x09 ; Multiplier Result High Byte Register (ro)
;----------------------------------------------------------------------------
; GPIO
padier sfr 0x0d ; Port A Digital Input Enable Register
pbdier sfr 0x0e ; Port B Digital Input Enable Register
pa sfr 0x10 ; Port A Data Register
pb sfr 0x14 ; Port B Data Register
pac sfr 0x11 ; Port A Control Register
pbc sfr 0x15 ; Port B Control Register
paph sfr 0x12 ; Port A Pull High Register
pbph sfr 0x16 ; Port B Pull High Register
;----------------------------------------------------------------------------
; Timer
t16m sfr 0x06 ; Timer 16 Mode Register
tm16_clksrc _bfield t16m,5,3 ; Timer Clock Source Selection
tm16_clkdiv _bfield t16m,3,2 ; Internal Clock Divider
tm16_isrc _bfield t16m,0,3 ; Interrupt Source
tm2c sfr 0x3c ; Timer2 Control Register
tm2_clksel _bfield tm2c,4,4 ; Clock Selection
tm2ct sfr 0x3d ; Timer 2 Counter Register
tm2s sfr 0x37 ; Timer 2 Scaler Register
tm2_prescal _bfield tm2s,5,2 ; Clock Prescaler
tm2_clkscal _bfield tm2s,0,5 ; Clock Scaler
tm2b sfr 0x09 ; Timer 2 Bound Register
;----------------------------------------------------------------------------
; ADC
adcc sfr 0x20 ; ADC Control Register
adc_en bit adcc.7 ; Enable ADC
adc_pr_ctl bit adcc.6 ; ADC Process Control Bit
adc_chsel _bfield adcc,2,4 ; ADC Channel Select
adcm sfr 0x21 ; ADC Mode Register
adc_res _bfield adcm,5,3 ; Resolution Select
adc_clksel _bfield adcm,1,4 ; Clock Source Select
adcrh sfr 0x22 ; ADC Result High Register
adcrl sfr 0x23 ; ADC Result Low Register
;----------------------------------------------------------------------------
; Hall Comparator
hcc sfr 0x2a ; Comparator Control
hcc_en bit hcc.7 ; Enable
hcc_res1 bit hcc.6 ; Result 1
hcc_res2 bit hcc.5 ; Result 2
hcc_out bit hcc.4 ; HC_Out
hcc_isrc _bfield hcc,0,3 ; Output to PA5 and Interrupt Source Selection
hc1a sfr 0x2b ; Hall Comparator 1 Adjust Register
hcc_psel bit hc1a.7 ; Positive Pin Selection
hcc_msel _bfield hc1a,5,2 ; Negative Pin Selection
hcc1_adj _bfield hc1a,0,5 ; Comparator 1 Adjust Bits
hc2a sfr 0x2c ; Hall Comparator 2 Adjust Register
hcc2_adj _bfield hc2a,0,5 ; Comparator 2 Adjust Bits
;----------------------------------------------------------------------------
; Comparator
gpcc sfr 0x3e ; Comparator Control
gpcc_en bit gpcc.7 ; Enable
gpcc_res bit gpcc.6 ; Result
gpcc_samp bit gpcc.5 ; Output sampled by TM2_CLK?
gpcc_pol bit gpcc.4 ; Output Polarity Selection
gpcc_minp _bfield gpcc,1,3 ; Minus Input Selection
gpcc_pinp bit gpcc.0 ; Plus Input Selection
gpcs sfr 0x22 ; Comparator Selection Register
gps_oe bit gpcs.7 ; Output Enable
gps_wkup bit gpcs.6 ; Wake-Up Enable
gps_hrng bit gpcs.5 ; High Range Select
gps_lrng bit gpcs.4 ; Low Range Select
gps_lvl _bfield gpcs,0,4 ; Voltage Level
;----------------------------------------------------------------------------
; PWM
pwmc sfr 0x30 ; PWM Generator Control Register
pwm_en bit pwmc.7 ; Enable
pwm_out bit pwmc.6 ; Output Value
pwm_pol bit pwmc.5 ; Output Polarity
pwm_res bit pwmc.4 ; Counter Reset
pwm_osel _bfield pwmc,1,3 ; Output Pin Selection
pwm_clksrc bit pwmc.0 ; Clock Source
pwms sfr 0x31 ; PWM Scalar Register
pwm_imode bit pwms,7 ; Interrupt Mode
pwm_prescal _bfield pwms,5,2 ; Prescaler
pwm_clkdiv _bfield pwms,0,5 ; Clock Divider
pwmgcubh sfr 0x1a ; PWM Counter Upper Bound High Register
pwmgcubl sfr 0x1b ; PWM Counter Upper Bound Low Register
pwmgdth sfr 0x32 ; PWM Duty Value High Register
pwmgdtl sfr 0x33 ; PWM Duty Value Low Register
pwmptr0 sfr 0x27 ; PWM Protect Register 0 (write once)
pwm0_lowdest _bfield pwmptr0,5,3 ; PWM Low Side Output Destination
pwm0_prpol bit pwmptr0,4 ; PWM Protect Polarity
pwm0_hisel _bfield pwmptr0,0,4 ; PWM Hi-Side Selected Pin
pwmptr1 sfr 0x28 ; PWM Protect Register 1 (write once)
pwm1_lowdest _bfield pwmptr1,5,3 ; PWM Low Side Output Destination
pwm1_prpol bit pwmptr1,4 ; PWM Protect Polarity
pwm1_hisel _bfield pwmptr1,0,4 ; PWM Hi-Side Selected Pin
;----------------------------------------------------------------------------
; Pulse Capture
plscc sfr 0x34 ; Pulse Capture Control Register
plscc_start bit plscc.7 ; Start Pulse Capture
plscc_ovr bit plscc.6 ; Pulse Capture Overflow
plscc_fr_eg bit plscc.5 ; Front Edge Selection
plscc_bk_eg bit plscc.4 ; Back Edge Selection
plscc_src _bfield plscc,0,3 ; Source Selection
plscs sfr 0x35 ; Pulse Capture Scaler Register
pls_clksrc _bfield plscs,2,2 ; Clock Source
pls_clkdiv _bfield plscs,0,2 ; Calpture Clock Divider
plsrh sfr 0x36 ; Pulse Capture Result High
plsrl sfr 0x37 ; Pulse Capture Result Low
restore
endif ; __pmc884inc