📄 spmc65p2404a.inc
字号:
;; ********************************************************************************
;; *** Copyright 2000-2008 Sunplus Technology Co., Ltd. All right reserved. ***
;; *** Header Name : SPMC65P2102A.inc ***
;; *** Programmer : Darrell Yang ***
;; *** Data : 2005/04/22 ***
;; *** Revision : V1.7.0 ***
;; ********************************************************************************
;=======================================================================
;SPMC65P2404A Input/Output Ports and Data Direction Registers
;=======================================================================
P_IOA_Data: EQU $00 ; Port A data b0~b7(A)
P_IOB_Data: EQU $01 ; Port B data b0~b5(A)
P_IOC_Data: EQU $02 ; Port C data b0~b3(A)
P_IOD_Data: EQU $03 ; Port D data b0~b2(A)
P_IOA_Dir: EQU $04 ; Port A direction control b0~b7(W), 0=In, 1=Out
P_IOB_Dir: EQU $05 ; Port B direction control b0~b7(W)
P_IOC_Dir: EQU $06 ; Port C direction control b0~b7(W)
P_IOD_Dir: EQU $07 ; Port D direction control b0~b7(W)
P_IOA_Attrib: EQU $08 ; Port A attribute register b0~b7(W)
P_IOB_Attrib: EQU $09 ; Port B attribute register b0~b7(W)
P_IOC_Attrib: EQU $0A ; Port C attribute register b0~b7(W)
P_IOD_Attrib: EQU $0B ; Port D attribute register b0~b7(W)
;
;-----------------------------------------------------------------------------------------------------
P_INT_Flag0: EQU $0C ; Interrupt Flag 0.(A)
C_INT_ADIF: EQU %10000000 ; A/D INT flag bit.(A)
C_INT_WDIF: EQU %01000000 ; WDT INT flag bit.(A)
C_INT_IRQ3IF: EQU %00001000 ; IRQ3 INT flag bit.(A)
C_INT_IRQ2IF: EQU %00000100 ; IRQ2 INT flag bit.(A)
C_INT_IRQ1IF: EQU %00000010 ; IRQ1 INT flag bit.(A)
C_INT_IRQ0IF: EQU %00000001 ; IRQ0 INT flag bit.(A)
C_INT_CAP3IF: EQU %00000010 ; CAP3 INT flag bit.(A)
C_INT_CAP2IF: EQU %00000001 ; CAP2 INT flag bit.(A)
CB_INT_ADIF: EQU 7 ; A/D INT flag bit for bit mode.(A)
CB_INT_WDIF: EQU 6 ; WDT INT flag bit for bit mode.(A)
CB_INT_IRQ3IF: EQU 3 ; IRQ3 INT flag bit for bit mode.(A)
CB_INT_IRQ2IF: EQU 2 ; IRQ2 INT flag bit for bit mode.(A)
CB_INT_IRQ1IF: EQU 1 ; IRQ1 INT flag bit for bit mode.(A)
CB_INT_IRQ0IF: EQU 0 ; IRQ0 INT flag bit for bit mode.(A)
CB_INT_CAP3IF: EQU 1 ; CAP3 INT flag bit for bit mode.(A)
CB_INT_CAP2IF: EQU 0 ; CAP2 INT flag bit for bit mode.(A)
;
P_INT_Ctrl0: EQU $0D ; Interrupt control 0.(A)
C_INT_ADIE: EQU %10000000 ; A/D INT enable bit.(A)
C_INT_WDIE: EQU %01000000 ; WDT INT enable bit.(A)
C_INT_IRQ3IE: EQU %00001000 ; IRQ3 INT enable bit.(A)
C_INT_IRQ2IE: EQU %00000100 ; IRQ2 INT enable bit.(A)
C_INT_IRQ1IE: EQU %00000010 ; IRQ1 INT enable bit.(A)
C_INT_IRQ0IE: EQU %00000001 ; IRQ0 INT enable bit.(A)
C_INT_CAP3IE: EQU %00000010 ; CAP3 INT enable bit.(A)
C_INT_CAP2IE: EQU %00000001 ; CAP2 INT enable bit.(A)
CB_INT_ADIE: EQU 7 ; A/D INT enable bit for bit mode.(A)
CB_INT_WDIE: EQU 6 ; WDT INT enable bit for bit mode.(A)
CB_INT_IRQ3IE: EQU 3 ; IRQ3 INT enable bit for bit mode.(A)
CB_INT_IRQ2IE: EQU 2 ; IRQ2 INT enable bit for bit mode.(A)
CB_INT_IRQ1IE: EQU 1 ; IRQ1 INT enable bit for bit mode.(A)
CB_INT_IRQ0IE: EQU 0 ; IRQ0 INT enable bit for bit mode.(A)
CB_INT_CAP3IE: EQU 1 ; CAP3 INT enable bit for bit mode.(A)
CB_INT_CAP2IE: EQU 0 ; CAP2 INT enable bit for bit mode.(A)
;
P_INT_Flag1: EQU $0E ; Interrupt flag 1.
C_INT_CAP1IF: EQU %10000000 ; CAP1 INT flag bit.(A)
C_INT_CAP0IF: EQU %01000000 ; CAP0 INT flag bit.(A)
C_INT_T3OIF: EQU %00001000 ; Timer3 overflow INT flag bit.(A)
C_INT_T2OIF: EQU %00000100 ; Timer2 overflow INT flag bit.(A)
C_INT_T1OIF: EQU %00000010 ; Timer1 overflow INT flag bit.(A)
C_INT_T0OIF: EQU %00000001 ; Timer0 overflow INT flag bit.(A)
CB_INT_CAP1IF: EQU 7 ; CAP1 INT flag bit for bit mode.(A)
CB_INT_CAP0IF: EQU 6 ; CAP0 INT flag bit for bit mode.(A)
CB_INT_T3OIF: EQU 3 ; Timer3 overflow INT flag bit for bit mode.(A)
CB_INT_T2OIF: EQU 2 ; Timer2 overflow INT flag bit for bit mode.(A)
CB_INT_T1OIF: EQU 1 ; Timer1 overflow INT flag bit for bit mode.(A)
CB_INT_T0OIF: EQU 0 ; Timer0 overflow INT flag bit for bit mode.(A)
;
P_INT_Ctrl1: EQU $0F ; Interrupt control 1.
C_INT_CAP1IE: EQU %10000000 ; CAP1 INT enable bit.(A)
C_INT_CAP0IE: EQU %01000000 ; CAP0 INT enable bit.(A)
C_INT_T3OIE: EQU %00001000 ; Timer3 overflow INT enable bit.(A)
C_INT_T2OIE: EQU %00000100 ; Timer2 overflow INT enable bit.(A)
C_INT_T1OIE: EQU %00000010 ; Timer1 overflow INT enable bit.(A)
C_INT_T0OIE: EQU %00000001 ; Timer0 overflow INT enable bit.(A)
CB_INT_CAP1IE: EQU 7 ; CAP1 INT enable bit for bit mode.(A)
CB_INT_CAP0IE: EQU 6 ; CAP0 INT enable bit for bit mode.(A)
CB_INT_T3OIE: EQU 3 ; Timer3 overflow INT enable bit for bit mode.(A)
CB_INT_T2OIE: EQU 2 ; Timer2 overflow INT enable bit for bit mode.(A)
CB_INT_T1OIE: EQU 1 ; Timer1 overflow INT enable bit for bit mode.(A)
CB_INT_T0OIE: EQU 0 ; Timer0 overflow INT enable bit for bit mode.(A)
;
P_INT_Flag2: EQU $26 ; Interrupt flag 2.
C_INT_ITVALIF: EQU %00100000 ; Timer Base interrupt flag.
C_INT_SPIIF: EQU %00000100 ; SPI interrupt flag.
CB_INT_ITVALIF: EQU 5 ; Timer Base interrupt flag for bit mode.
CB_INT_SPIIF: EQU 2 ; SPI interrupt flag for bit mode.
;
P_INT_Ctrl2: EQU $27 ; Interrupt control 2.
C_INT_ITVALIE: EQU %00100000 ; Timer Base interrupt enable bit.
CB_INT_ITVALIE: EQU 5 ; Timer Base interrupt enable bit for bit mode.
;
P_WDT_Clr: EQU $10 ; Watchdog clear register.(W), $55= clear
C_WDT_Clr: EQU $55 ; Write '55' to clear this register.
;
;-----------------------------------------------------------------------------------------------------
P_TMR0_1_Ctrl0: EQU $11 ; Timer0/1 control 0.
C_T112B_PWM: EQU %01110000 ; Timer1 Function as 12 Bit PWM.
C_T116B_CAP: EQU %01100000 ; Timer1 Function as 16 Bit Capture(Width).
C_T116B_COMP: EQU %01010000 ; Timer1 Function as 16 Bit Compare.
C_T116B_Timer: EQU %01000000 ; Timer1 Function as 16 Bit Timer.
C_T18B_CAP: EQU %00110000 ; Timer1 Function as 8 Bit Capture(Width,Cycle).
C_T18B_COMP: EQU %00100000 ; Timer1 Function as 8 Bit Compare.
C_T18B_Timer: EQU %00010000 ; Timer1 Function as 8 Bit Timer.
C_T08B_CAP: EQU %00000011 ; Timer0 Function as 8 Bit Capture(Width).
C_T08B_COMP: EQU %00000010 ; Timer0 Function as 8 Bit Compare.
C_T08B_Timer: EQU %00000001 ; Timer0 Function as 8 Bit Timer.
;
P_TMR0_1_Ctrl1: EQU $12 ; Timer0/1 control 1.
C_T1EXT_EN: EQU %01110000 ; External Event
C_T1FCS_Div_512: EQU %01100000 ; Timer1 Clock= FCS/512.
C_T1FCS_Div_128: EQU %01010000 ; Timer1 Clock= FCS/128.
C_T1FCS_Div_32: EQU %01000000 ; Timer1 Clock= FCS/32.
C_T1FCS_Div_8: EQU %00110000 ; Timer1 Clock= FCS/8.
C_T1FCS_Div_4: EQU %00100000 ; Timer1 Clock= FCS/4.
C_T1FCS_Div_2: EQU %00010000 ; Timer1 Clock= FCS/2.
C_T1FCS_Div_1: EQU %00000000 ; Timer1 Clock= FCS/1.
C_T0EXT_EN: EQU %00000111 ; External Event
C_T0FCS_Div_512: EQU %00000110 ; Timer0 Clock= FCS/512.
C_T0FCS_Div_128: EQU %00000101 ; Timer0 Clock= FCS/128.
C_T0FCS_Div_32: EQU %00000100 ; Timer0 Clock= FCS/32.
C_T0FCS_Div_8: EQU %00000011 ; Timer0 Clock= FCS/8.
C_T0FCS_Div_4: EQU %00000010 ; Timer0 Clock= FCS/4.
C_T0FCS_Div_2: EQU %00000001 ; Timer0 Clock= FCS/2.
C_T0FCS_Div_1: EQU %00000000 ; Timer0 Clock= FCS/1.
;
P_TMR0_Count: EQU $13 ; Timer0 8-bit counter register.(R)
P_TMR0_Preload: EQU $13 ; Timer0 8-bit preload register.(W)
P_TMR0_Comp: EQU $13 ; Timer0 8-bit compare low byte value.
P_TMR0_Cap: EQU $13 ; Timer0 8-bit capture low byte width value.
;
P_TMR1_Count: EQU $15 ; Timer1 8/16-bit Counter register.(R)
P_TMR1_Preload: EQU $15 ; Timer1 8/16-bit preload register.(W)
P_TMR1_Comp: EQU $15 ; Timer1 8/16-bit compare low byte value.
P_TMR1_Cap: EQU $15 ; Timer1 8/16-bit capture low byte width value.
P_TMR1_PWMPeriod: EQU $15 ; Timer1 12-bit PWM peroid low byte register.
;
P_TMR1_CountHi: EQU $16 ; Timer1 16-bit Counter register.(R)
P_TMR1_PreloadHi: EQU $16 ; Timer1 16-bit preload register.(W)
P_TMR1_CompHi: EQU $16 ; Timer1 16-bit compare high byte value.
P_TMR1_CapHi: EQU $16 ; Timer1 16-bit capture high byte width value.
P_TMR1_CapCycle8: EQU $16 ; Timer1 8-bit capture cycle value.(R)
P_TMR1_DutyPeriod: EQU $16 ; Timer1 12-bit PWM high byte register.
;
P_TMR1_PWMDuty: EQU $17 ; Timer1 12-bit PWM duty low byte register.
;
P_TMR2_3_Ctrl0: EQU $18 ; Timer2/3 control 0.
C_T312B_PWM: EQU %01110000 ; Timer3 Function as 12 Bit PWM.
C_T316B_CAP: EQU %01100000 ; Timer3 Function as 16 Bit Capture(Width).
C_T316B_COMP: EQU %01010000 ; Timer3 Function as 16 Bit Compare.
C_T316B_Timer: EQU %01000000 ; Timer3 Function as 16 Bit Timer.
C_T38B_CAP: EQU %00110000 ; Timer3 Function as 8 Bit Capture(Width,Cycle).
C_T38B_COMP: EQU %00100000 ; Timer3 Function as 8 Bit Compare.
C_T38B_Timer: EQU %00010000 ; Timer3 Function as 8 Bit Timer.
C_T28B_CAP: EQU %00000011 ; Timer2 Function as 8 Bit Capture(Width).
C_T28B_COMP: EQU %00000010 ; Timer2 Function as 8 Bit Compare.
C_T28B_Timer: EQU %00000001 ; Timer2 Function as 8 Bit Timer.
;
P_TMR2_3_Ctrl1: EQU $19 ; Timer3/2 control 1.
C_T3EXT_EN: EQU %01110000 ; External Event
C_T3FCS_Div_512: EQU %01100000 ; Timer3 Clock= FCS/512.
C_T3FCS_Div_128: EQU %01010000 ; Timer3 Clock= FCS/128.
C_T3FCS_Div_32: EQU %01000000 ; Timer3 Clock= FCS/32.
C_T3FCS_Div_8: EQU %00110000 ; Timer3 Clock= FCS/8.
C_T3FCS_Div_4: EQU %00100000 ; Timer3 Clock= FCS/4.
C_T3FCS_Div_2: EQU %00010000 ; Timer3 Clock= FCS/2.
C_T3FCS_Div_1: EQU %00000000 ; Timer3 Clock= FCS/1.
C_T2EXT_EN: EQU %00000111 ; External Event.
C_T2FCS_Div_512: EQU %00000110 ; Timer2 Clock= FCS/512.
C_T2FCS_Div_128: EQU %00000101 ; Timer2 Clock= FCS/128.
C_T2FCS_Div_32: EQU %00000100 ; Timer2 Clock= FCS/32.
C_T2FCS_Div_8: EQU %00000011 ; Timer2 Clock= FCS/8.
C_T2FCS_Div_4: EQU %00000010 ; Timer2 Clock= FCS/4.
C_T2FCS_Div_2: EQU %00000001 ; Timer2 Clock= FCS/2.
C_T2FCS_Div_1: EQU %00000000 ; Timer2 Clock= FCS/1.
;
P_TMR2_Count: EQU $1A ; Timer2 8-bit counter register.(R)
P_TMR2_Preload: EQU $1A ; Timer2 8-bit preload register.(W)
P_TMR2_Cap: EQU $1A ; Timer2 8-bit capture low byte width value.
;
P_TMR3_Count: EQU $1C ; Timer3 8/16-bit Counter register.(R)
P_TMR3_Preload: EQU $1C ; Timer3 8/16-bit preload register.(W)
P_TMR3_Comp: EQU $1C ; Timer3 8/16-bit compare low byte value.
P_TMR3_Cap: EQU $1C ; Timer3 8-bit capture low byte width value.
P_TMR3_PWMPeriod: EQU $1C ; Timer3 12-bit PWM peroid low byte register.
;
P_TMR3_CountHi: EQU $1D ; Timer3 16-bit Counter register.(R)
P_TMR3_PreloadHi: EQU $1D ; Timer3 16-bit preload register.(W)
P_TMR3_CompHi: EQU $1D ; Timer3 16-bit compare high byte value.
P_TMR3_CapHi: EQU $1D ; Timer3 16-bit capture high byte width value.
P_TMR3_CapCycle8: EQU $1D ; Timer3 8-bit capture cycle value.(R)
P_TMR3_DutyPeriod: EQU $1D ; Timer3 12-bit PWM high byte register.
;
P_TMR3_PWMDuty: EQU $1E ; Timer3 12-bit PWM duty low byte register.
;
;-----------------------------------------------------------------------------------------------------
P_AD_Ctrl0: EQU $28 ; A/D converter control 0.
C_AD_EN: EQU %10000000 ; ADC enable control.(A)
C_AD_VRT: EQU %01000000 ; ADC bottom voltage source select bit.(A)
C_AD_CS_2: EQU %00000000 ; 000=Fcpu/2.
C_AD_CS_4: EQU %00000010 ; 001=Fcpu/4.
C_AD_CS_8: EQU %00000100 ; 010=Fcpu/8.
C_AD_CS_16: EQU %00000110 ; 011=Fcpu/16.
C_AD_CS_32: EQU %00001000 ; 100=Fcpu/32.
C_AD_CS_64: EQU %00001010 ; 101=Fcpu/64.
C_AD_CS_128: EQU %00001100 ; 110=Fcpu/128.
C_AD_CS_256: EQU %00001110 ; 111=Fcpu/256.
C_AD_RDY: EQU %00000001 ; ADC status bit.(R)
C_AD_Start: EQU %00000000 ; ADC conversion start bit.(W)
CB_AD_EN: EQU 7 ; ADC enable control for bit mode.(A)
CB_AD_VRT: EQU 6 ; ADC bottom voltage source select bit for bit mode.(A)
CB_AD_RDY: EQU 0 ; ADC status bit for bit mode.(R)
CB_AD_Start: EQU 0 ; ADC conversion start bit for bit mode.(W)
;
P_AD_Ctrl1: EQU $29 ; A/D converter control 1.
C_AD_Pin0: EQU %00000001 ; Analog input Port Configuration: channel 0.
C_AD_Pin1: EQU %00000010 ; Analog input Port Configuration: channel 1.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -