📄 splxx.inc
字号:
D_TimerCh1: EQU Timer0IntEnable
Timer1IntAsNMI: EQU %00000000
Timer1IntAsIRQ: EQU %10000000
P_1AH_InterruptClear: EQU $1A
;-------------------------------------------------------------------------------
; WDOGC: WatchDog counter reset (W)
; This Watchdog clear port must be write druing 1 or 1/2 sec (TimeBaseL)
; otherwise system will be reset (if CLK32 off, then off)
;-------------------------------------------------------------------------------
P_0FH_WDOGC: EQU 0FH
P_13H_Timer1L: EQU 13H
P_14H_Timer1H: EQU 14H
P_15H_Timer1Load: EQU 15H
P_10H_Timer0L: EQU 10H
P_11H_Timer0H: EQU 11H
P_12H_Timer0Load: EQU 12H
P_1BH_PWMCh0_Ctrl: EQU $1B
PWMCh0Enable EQU %10000000
Ch0SpeechMode EQU %00000000
Ch0ToneMode EQU %01000000
Ch0ToPWMDirt EQU %00000000
Ch0ToPWMTimer0OverFlow EQU %00001000
Ch0ToPWMTimer1OverFlow EQU %00010000
Ch0ToPWMTimersOverFlow EQU %00011000
;-------------------------------------------------------------------------------
P_1CH_PWMCh1_Ctrl: EQU $1C
PWMCh1Enable EQU %10000000
Ch1SpeechMode EQU %00000000
Ch1ToneMode EQU %01000000
Ch1ToPWMDirt EQU %00000000
Ch1ToPWMTimer0OverFlow EQU %00001000
Ch1ToPWMTimer1OverFlow EQU %00010000
Ch1ToPWMTimersOverFlow EQU %00011000
;-------------------------------------------------------------------------------
; LCDCtrl: LCD option control (W)
; b0 , b1 : reserved
; b2,b3 :
; 0 0 : Normal
; 0 1 : All on
; 1 0 : ALL off
; 1 1 : Display Off ( it is used under power down mode )
; b4 : FScan : Normal < 0 > / LCD Fast frame scan < 1 >
; b5 : <1/2>Bias(0) / <1/3>Bias(1)
; b6,b7 : Duty control
; 0 0 : 1/5 Duty ???
; 0 1 : 1/4 Duty
; 1 0 : 1/3 Duty
; 1 1 : 1/2 Duty
;-------------------------------------------------------------------------------
P_18H_LCDCtrl: EQU 18H
LcdNormal: EQU %00000000
LcdAllOn: EQU %00001000
LcdAllOff: EQU %00000100
DisplayOff EQU %00001100
LcdNormalScan: EQU %00000000
LcdFastScan: EQU %00010000
Lcd1_2Bias: EQU %00000000
Lcd1_3Bias: EQU %00100000
Lcd1_5Duty: EQU %00000000
Lcd1_4Duty: EQU %01000000
Lcd1_3Duty: EQU %10000000
Lcd1_2Duty: EQU %11000000
;-------------------------------------------------------------------------------
P_01H_PWMCh0_Out: EQU $01
P_02H_PWMCh1_Out: EQU $02
P_0EH_CPUCLKCtrl: EQU $0E
FRosc1_2 EQU %00000000
FRosc1_4 EQU %00000001
FRosc1_8 EQU %00000010
FRosc1_16 EQU %00000011
P_16H_CompVolt: EQU $16
P_17H_LowBat: EQU $17
;-------------------------------------------------------------------------------
; P_19H_455K_Xtal: Control 455Khz ceramic oscillator
; b7 : Enable(1)/Disable(0) ???
;-------------------------------------------------------------------------------
P_19H_455K_Xtal: EQU 19H
T455KHzEnable: EQU %10000000
T455KHzDisable: EQU %00000000
;-------------------------------------------------------------------------------
D_LCD_AddrBegin EQU 20H
D_LCD_AddrEnd EQU 3DH
;------------------------------------------------------------------------------
; LCD Buffers are between 20H and 33H .
;------------------------------------------------------------------------------
P_20H_LCD20: EQU $20
.ENDIF
.IFDEF SPL15Bx
.PAGE0
;-------------------------------------------------------------------------------
; I/O configuration for hardware system
;-------------------------------------------------------------------------------
P_00H_PortCD_Ctrl: EQU $0
PortCDInput: EQU 0
PortCD0Input: EQU 0
PortCD1Input: EQU 0
PortCD2Input: EQU 0
PortCD3Input: EQU 0
PortCDOutput: EQU %00001111
PortCD0Output: EQU %00000001
PortCD1Output: EQU %00000010
PortCD2Output: EQU %00000100
PortCD3Output: EQU %00001000
PortCDPureInput:EQU %01000000
PortCDPullDown: EQU %00000000
PortCDBufferOut:EQU %00000000
PortCDOpenDrain:EQU %01000000
;-------------------------------------------------------------------------------
P_04H_PortCD: EQU $4
;-------------------------------------------------------------------------------
; PortABPC (W) : b0 ---> AB Port low nibble I/O control
; Input : 1 : Pure Input
; 0 : Pull High/Low ----> data = 1 pull high , data = 0 pull low
; Output : 1 : open drain P
; 0 : normal
;
; b1 ---> AB Port high nibble I/O control
; Input : 1 : Pure Input
; 0 : Pull High/Low ----> data = 1 pull high , data = 0 pull low
; Output : 1 : open drain N
; 0 : normal
;-------------------------------------------------------------------------------
P_1EH_PortAB_Ctrl: EQU $1E
P_03H_PortAB: EQU $3
P_34H_PortAB_ConfigCtrl:EQU $34
P_05H_PortEF: EQU $5
P_06H_PortEF_Ctrl: EQU $06
P_35H_PortEFConfigCtrl: EQU $35
P_07H_ROMBankSel: EQU $7
DummyAreaLowAddr EQU 00H
DummyAreaHighAddr EQU 80H
DummyAreaBankAddr EQU 03H
DummySkipLowAddr EQU 00H
DummySkipHighAddr EQU 80H
DummySkipBankAddr EQU 03H
BankMask: EQU %00000111
;-------------------------------------------------------------------------------
; WakeUpCtrl: Sleeping Wake up control (R/W)
; (write 1 for option enable, Write 0 for option disable and also
; Clear the correspondence Hardware flag)
; (Read 1 when the wakeup event is take place)
; b0 : Wake Up when EF Port 8 key changed
; b1 : Wake Up when TimeBaseL 2Hz / 1Hz depend on P_0AH_TimeBaseCtrl(0A)
; b2 : Wake Up when timer 0 overflow
; b3 : Wake Up when TimeBaseH coming
; (TimeBaseH 4Hz, 8Hz, 16Hz, 32Hz depend on P_0AH_TimeBaseCtrl(0AH))
; b4..b7: reserved
;-------------------------------------------------------------------------------
P_08H_WakeUpCtrl: EQU $8
WakeUpPortEF: EQU %00000001
WakeUpTimeBaseL: EQU %00000010
WakeUp2Hz: EQU %00000010
WakeUpTimer0: EQU %00000100
WakeUpTimeBaseH: EQU %00001000
WakeUpMask: EQU %00000111
;-------------------------------------------------------------------------------
; Sleep : Write "0FH" to this port to start Sleeping (W)
;-------------------------------------------------------------------------------
P_09H_Sleep: EQU $9
;-------------------------------------------------------------------------------
; TimeBaseCtrl: Write to setup timebase
; b1,b0:
; 0 0 -> Setup TimeBaseH as 4Hz
; 0 1 -> Setup TimeBaseH as 8Hz
; 1 0 -> Setup TimeBaseH as 16Hz
; 1 1 -> Setup TimeBaseH as 32Hz
; b7: TimeBaseL as 2Hz(0)/1Hz(1)
;
; b7..b0: Read back as TimeBase counter value base on 64Hz
;
;-------------------------------------------------------------------------------
P_0AH_TimerXHz: EQU $A
TimeBaseH4Hz: EQU %00000000
TimeBaseH8Hz: EQU %00000001
TimeBaseH16Hz: EQU %00000010
TimeBaseH32Hz: EQU %00000011
TimeBaseL2Hz: EQU %00000000
TimeBaseL1Hz: EQU %10000000
;-------------------------------------------------------------------------------
; TimerCtrl: Counter/Timer0 clock source and Mode selection (W)
; b7 : Timer1,Timer0 Enable(1)/Disable(0)
; b6 : Timer1 Counts CLK32(1)/SystemClockR-Osc(0)
; b5 : Timer0 in Timer mode Counts Overflow of Timer1(1)/SystemClockR-Osc(0)
; b4 : Timer0 Counter mode(1)/ Timer mode(0)
; b3,b2: Timer0 Counter mode input #1 source select
; 0 0: PortCD.1
; 0 1: VDD
; 1 0: TimeBaseH
; 1 1: CLK128Hz
; b1,b0: Timer0 Counter mode input #2 source select
; 0 0: PortCD.0 (Ext. clock )
; 0 1: 455KHz ( X'tal )
; 1 0: SystemClockR-Osc
; 1 1: CLK32 ( X'tal )
;
; Note: SystemClockCPU = SystemClockR-Osc/2
; CLK32,CLK128,TimeBaseH,TimeBaseL are generated by crystal 32768Hz
;
;-------------------------------------------------------------------------------
P_0BH_TimerModeCtrl: EQU 0BH
TimerEnable: EQU %10000000
TimerDisable: EQU %00000000
Tm1CountCLK32: EQU %01000000
Tm1CountROsc: EQU %00000000
Tm0CountTm1: EQU %00100000
Tm0CountROsc: EQU %00000000
Tm0CounterMode: EQU %00010000
Tm0TimerMode: EQU %00000000
Tm0Src1AsCDB1: EQU %00000000
Tm0Src1AsVDD: EQU %00000100
Tm0Src1AsTimeBaseH: EQU %00001000
Tm0Src1AsCLK128: EQU %00001100
Tm0Src2AsCDB0: EQU %00000000
Tm0Src2As455K: EQU %00000001
Tm0Src2AsROsc: EQU %00000010
Tm0Src2AsCLK32: EQU %00000011
;-------------------------------------------------------------------------------
; C32K : Crystal Oscillator Control (W)
; b5 : Normal mode(0)/Test mode(1)
; b7 : Enable(0)/Disable(1)
;-------------------------------------------------------------------------------
P_0CH_32OSC_Ctrl: EQU 0CH
OSC32KTest: EQU %00100000
OSC32KWeak: EQU %01000000
OSC32KStrong: EQU %00000000
OSC32KDisable: EQU %10000000
OSC32KEnable: EQU %00000000
;-------------------------------------------------------------------------------
; Ints : interrupt control register (R/W), write 0 to this register will make
; the correspondence interrupt disable, and also clear interrupt harware
; flag.
; (R) for flags of correspondence interrupt is generated.
; b0 : External interrupt source (PortCD.b1 <falling edge>)
; b1 : CLK2K (32768 / 16)
; b2 : CLK128 (32768 / 256)
; b3 : TimeBaseL -> 2Hz/1Hz depend on P_0AH_TimeBaseCtrl
; b4 : TimeBaseH -> 4Hz/8Hz/16Hz/32Hz depend on P_0AH_TimeBaseCtrl
; d5 : Timer1 interrupt enable (can define as IRQ or NMI by bit7)
; d6 : Timer0 interrupt enable (only IRQ can be configurated)
; d7 : 0 -> Timer1 interrupt as NMI
; 1 -> Timer1 interrupt as IRQ
;-------------------------------------------------------------------------------
P_0DH_Ints: EQU $0d
ExtIntEnable: EQU %00000001
CLK2KIntEnable: EQU %00000010
D_CLK2K: EQU %00000010
CLK128IntEnable: EQU %00000100
D_CLK128: EQU %00000100
TimeBaseLIntEnable: EQU %00001000
T2HzIntEnable EQU TimeBaseLIntEnable
TimeBaseHIntEnable: EQU %00010000
TimerXEnable: EQU %00010000
Timer1IntEnable: EQU %00100000
Timer0IntEnable: EQU %01000000
D_TimerCh0: EQU Timer1IntEnable
D_TimerCh1: EQU Timer0IntEnable
Timer1IntAsNMI: EQU %00000000
Timer1IntAsIRQ: EQU %10000000
P_1AH_InterruptClear: EQU $1A
;-------------------------------------------------------------------------------
; WDOGC: WatchDog counter reset (W)
; This Watchdog clear port must be write druing 1 or 1/2 sec (TimeBaseL)
; otherwise system will be reset (if CLK32 off, then off)
;-------------------------------------------------------------------------------
P_0FH_WDOGC: EQU 0FH
P_13H_Timer1L: EQU 13H
P_14H_Timer1H: EQU 14H
P_15H_Timer1Load: EQU 15H
P_10H_Timer0L: EQU 10H
P_11H_Timer0H: EQU 11H
P_12H_Timer0Load: EQU 12H
P_1BH_PWMCh0_Ctrl: EQU $1B
PWMCh0Enable EQU %10000000
Ch0SpeechMode EQU %00000000
Ch0ToneMode EQU %01000000
Ch0ToPWMDirt EQU %00000000
Ch0ToPWMTimer0OverFlow EQU %00001000
Ch0ToPWMTimer1OverFlow EQU %00010000
Ch0ToPWMTimersOverFlow EQU %00011000
;-------------------------------------------------------------------------------
P_1CH_PWMCh1_Ctrl: EQU $1C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -