📄 spmc65.inc
字号:
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_Data0: EQU $1A ; Timer2 8-bit counter register.(R)
P_TMR2_PreloadLo: EQU $1A ; Timer2 8-bit preload register.(W)
P_TMR2_CompLo: EQU $1A ; Timer2 compare low byte value.
P_TMR2_CapLo: EQU $1A ; Timer2 capture low byte width value.
P_TMR2_PWM0: EQU $1A ; Timer2 PWM period value.
;
P_TMR2_Data1: EQU $1B ; Timer2 16-bit counter register.(R)
P_TMR2_PreloadHi: EQU $1B ; Timer2 16-bit preload register.(W)
P_TMR2_CompHi: EQU $1B ; Timer2 compare high byte value.
P_TMR2_CapHi: EQU $1B ; Timer2 capture high byte width value.
P_TMR2_CapCycle8: EQU $1B ; Timer2 8-bit capture cycle value.(R)
P_TMR2_PWM1: EQU $1B ; Timer2 PWM duty value.
;
P_TMR3_Data0: EQU $1C ; Timer3 8-bit Counter register.(R)
P_TMR3_PreloadLo: EQU $1C ; Timer3 8-bit preload register.(W)
P_TMR3_CompLo: EQU $1C ; Timer3 compare low byte value.
P_TMR3_CapLo: EQU $1C ; Timer3 capture low byte width value.
P_TMR3_PWM0: EQU $1C ; Timer3 PWM peroid low byte register.
;
P_TMR3_Data1: 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 compare high byte value.
P_TMR3_CapHi: EQU $1D ; Timer3 capture high byte width value.
P_TMR3_CapCycle8: EQU $1D ; Timer3 8-bit capture cycle value.(R)
P_TMR3_PWM1: EQU $1D ; Timer3 PWM high byte register.
C_TMR3_PWMDuty: EQU %11110000 ; Timer3 PWM duty high byte value.
C_TMR3_PWMPeriod: EQU %00001111 ; Timer3 PWM peroid high byte value.
;
P_TMR3_PWM2: EQU $1E ; Timer3 PWM duty low byte register.
;
P_TMR4_5_Ctrl0: EQU $1F ; Timer4/5 control 0.
C_T516B_PWM: EQU %01110000 ; Timer5 Function as 16 Bit PWM.
C_T516B_CAP: EQU %01100000 ; Timer5 Function as 16 Bit Capture(Width,Cycle).
C_T516B_COMP: EQU %01010000 ; Timer5 Function as 16 Bit Compare.
C_T516B_Timer: EQU %01000000 ; Timer5 Function as 16 Bit Timer.
C_T58B_CAP: EQU %00110000 ; Timer5 Function as 8 Bit Capture(Width,Cycle).
C_T58B_COMP: EQU %00100000 ; Timer5 Function as 8 Bit Compare.
C_T58B_Timer: EQU %00010000 ; Timer5 Function as 8 Bit Timer.
C_T48B_PWM: EQU %00000111 ; Timer4 Function as 8 Bit PWM.
C_T416B_CAP: EQU %00000110 ; Timer4 Function as 16 Bit Capture(Width).
C_T416B_COMP: EQU %00000101 ; Timer4 Function as 16 Bit Compare.
C_T416B_Timer: EQU %00000100 ; Timer4 Function as 16 Bit Timer.
C_T48B_CAP: EQU %00000011 ; Timer4 Function as 8 Bit Capture(Width,Cycle).
C_T48B_COMP: EQU %00000010 ; Timer4 Function as 8 Bit Compare.
C_T48B_Timer: EQU %00000001 ; Timer4 Function as 8 Bit Timer.
;
P_TMR4_5_Ctrl1: EQU $20 ; Timer4/5 control 1.
C_T5EXT_EN: EQU %01110000 ; External Event.
C_T5FCS_Div_512: EQU %01100000 ; Timer5 Clock= FCS/512.
C_T5FCS_Div_128: EQU %01010000 ; Timer5 Clock= FCS/128.
C_T5FCS_Div_32: EQU %01000000 ; Timer5 Clock= FCS/32.
C_T5FCS_Div_8: EQU %00110000 ; Timer5 Clock= FCS/8.
C_T5FCS_Div_4: EQU %00100000 ; Timer5 Clock= FCS/4.
C_T5FCS_Div_2: EQU %00010000 ; Timer5 Clock= FCS/2.
C_T5FCS_Div_1: EQU %00000000 ; Timer5 Clock= FCS/1.
C_T4EXT_EN: EQU %00000111 ; External Event.
C_T4FCS_Div_512: EQU %00000110 ; Timer4 Clock= FCS/512.
C_T4FCS_Div_128: EQU %00000101 ; Timer4 Clock= FCS/128.
C_T4FCS_Div_32: EQU %00000100 ; Timer4 Clock= FCS/32.
C_T4FCS_Div_8: EQU %00000011 ; Timer4 Clock= FCS/8.
C_T4FCS_Div_4: EQU %00000010 ; Timer4 Clock= FCS/4.
C_T4FCS_Div_2: EQU %00000001 ; Timer4 Clock= FCS/2.
C_T4FCS_Div_1: EQU %00000000 ; Timer4 Clock= FCS/1.
;
P_TMR4_Data0: EQU $21 ; Timer4 8-bit counter register.(R)
P_TMR4_PreloadLo: EQU $21 ; Timer4 8-bit preload register.(W)
P_TMR4_CompLo: EQU $21 ; Timer4 compare low byte value.
P_TMR4_CapLo: EQU $21 ; Timer4 capture low byte width value.
P_TMR4_PWM0: EQU $21 ; Timer4 PWM period value.
;
P_TMR4_Data1: EQU $22 ; Timer4 16-bit counter register.(R)
P_TMR4_PreloadHi: EQU $22 ; Timer4 16-bit preload register.(W)
P_TMR4_CompHi: EQU $22 ; Timer4 compare high byte value.
P_TMR4_CapHi: EQU $22 ; Timer4 capture high byte width value.
P_TMR4_CapCycle8: EQU $22 ; Timer4 8-bit capture cycle value.(R)
P_TMR4_PWM1: EQU $22 ; Timer4 PWM duty value.
;
P_TMR5_Data0: EQU $23 ; Timer5 8-bit Counter register.(R)
P_TMR5_PreloadLo: EQU $23 ; Timer5 8-bit preload register.(W)
P_TMR5_CompLo: EQU $23 ; Timer5 compare low byte value.
P_TMR5_CapWidthLo: EQU $23 ; Timer5 capture low byte width value.
P_TMR5_PWMPeriodLo: EQU $23 ; Timer5 PWM peroid low byte register.
;
P_TMR5_Data1: EQU $24 ; Timer5 16-bit Counter register.(R)
P_TMR5_PreloadHi: EQU $24 ; Timer5 16-bit preload register.(W)
P_TMR5_CompHi: EQU $24 ; Timer5 compare high byte value.
P_TMR5_CapWidthHi: EQU $24 ; Timer5 capture high byte width value.
P_TMR5_CapCycle8: EQU $24 ; Timer5 8-bit capture cycle value.(R)
P_TMR5_PWMPeriodHi: EQU $24 ; Timer5 PWM period high byte register.
;
P_TMR5_CapCycleLo: EQU $25 ; Timer5 capture cycle high byte value.(R)
P_TMR5_PWMDutyLo: EQU $25 ; Timer5 PWM duty low byte register.
;
P_TMR5_CapCycleHi: EQU $5F ; Timer5 capture cycle high byte value.(R)
P_TMR5_PWMDutyHi: EQU $5F ; Timer5 PWM duty high 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)
;
P_AD_Ctrl1: EQU $29 ; A/D converter control 1.
C_AD_Pin0: EQU %00000001 ; Analog input : channel 0.
C_AD_Pin1: EQU %00000010 ; Analog input : channel 1.
C_AD_Pin2: EQU %00000100 ; Analog input : channel 2.
C_AD_Pin3: EQU %00001000 ; Analog input : channel 3.
C_AD_Pin4: EQU %00010000 ; Analog input : channel 4.
C_AD_Pin5: EQU %00100000 ; Analog input : channel 5.
C_AD_Pin6: EQU %01000000 ; Analog input : channel 6.
C_AD_Pin7: EQU %10000000 ; Analog input : channel 7.
;
P_AD_Ctrl2: EQU $2A ; A/D converter control 2.
C_AD_CE: EQU %10000000 ; ADC power control bit.(A)
C_AD_Ch0: EQU %00000000 ; 0000:channel 0.
C_AD_Ch1: EQU %00001000 ; 0001:channel 1.
C_AD_Ch2: EQU %00010000 ; 0010:channel 2.
C_AD_Ch3: EQU %00011000 ; 0011:channel 3.
C_AD_Ch4: EQU %00100000 ; 0100:channel 4.
C_AD_Ch5: EQU %00101000 ; 0101:channel 5.
C_AD_Ch6: EQU %00110000 ; 0110:channel 6.
C_AD_Ch7: EQU %00111000 ; 0111:channel 7.
C_AD_Ch8: EQU %01000000 ; 1000:channel 8.
C_AD_Pin8: EQU %00000001 ; Analog input : channel 8.
;
P_AD_DataLo: EQU $2B ; Converted A/D data[1:0] low.(R)
P_AD_DataHi: EQU $2C ; Converted A/D data[9:2] hi.(R)
;
;-----------------------------------------------------------------------------------------------------
P_BUZ_Ctrl: EQU $2D ; Buzzer & Timer base Control.
; Interval Timer Period selecttion bits.
C_TBASE_Dis: EQU %00000000 ; Time Base disable
C_TBASE_Div_128: EQU %00010000 ; Time Base Clk: Fto/2^7.
C_TBASE_Div_256: EQU %00100000 ; Time Base Clk: Fto/2^8.
C_TBASE_Div_512: EQU %00110000 ; Time Base Clk: Fto/2^9.
C_TBASE_Div_1k: EQU %01000000 ; Time Base Clk: Fto/2^10.
C_TBASE_Div_2k: EQU %01010000 ; Time Base Clk: Fto/2^11.
C_TBASE_Div_4k: EQU %01100000 ; Time Base Clk: Fto/2^12.
C_TBASE_Div_8k: EQU %01110000 ; Time Base Clk: Fto/2^13.
C_TBASE_Div_16k: EQU %10000000 ; Time Base Clk: Fto/2^14.
C_TBASE_Div_32k: EQU %10010000 ; Time Base Clk: Fto/2^15.
C_TBASE_Div_64k: EQU %10100000 ; Time Base Clk: Fto/2^16.
C_TBASE_Div_128k: EQU %10110000 ; Time Base Clk: Fto/2^17.
C_TBASE_Div_256k: EQU %11000000 ; Time Base Clk: Fto/2^18.
C_TBASE_Div_512k: EQU %11010000 ; Time Base Clk: Fto/2^19.
C_TBASE_Div_2M: EQU %11100000 ; Time Base Clk: Fto/2^21.
C_TBASE_Div_8M: EQU %11110000 ; Time Base Clk: Fto/2^23.
; Buzzer frequency selecttion bits.
C_BUZ_Dis: EQU %00000000 ; Buzzer disable
C_BUZ_Div_64: EQU %00000001 ; Buzzer:Fto/2^6.
C_BUZ_Div_128: EQU %00000010 ; Buzzer:Fto/2^7.
C_BUZ_Div_256: EQU %00000011 ; Buzzer:Fto/2^8.
C_BUZ_Div_512: EQU %00000100 ; Buzzer:Fto/2^9.
C_BUZ_Div_1k: EQU %00000101 ; Buzzer:Fto/2^10.
C_BUZ_Div_2k: EQU %00000110 ; Buzzer:Fto/2^11.
C_BUZ_Div_4k: EQU %00000111 ; Buzzer:Fto/2^12.
C_BUZ_Div_8k: EQU %00001000 ; Buzzer:Fto/2^13.
C_BUZ_Div_4: EQU %00001001 ; Buzzer:Fto/2^2.
C_BUZ_Div_8: EQU %00001010 ; Buzzer:Fto/2^3.
C_BUZ_Div_16: EQU %00001011 ; Buzzer:Fto/2^4.
C_BUZ_Div_32: EQU %00001100 ; Buzzer:Fto/2^5.
;
;-----------------------------------------------------------------------------------------------------
P_CMP_Ctrl: EQU $2E ; Comparator control register.
C_CMP1_EN: EQU %10000000 ; comparator1 function enable.
C_CMP1_RS: EQU %01000000 ; comparator1 reference source selection.
C_CMP1_LOG: EQU %00100000 ; comparator1 logic event direction selection.
C_CMP1_OUT: EQU %00010000 ; comparator1 result bit.
C_CMP0_EN: EQU %00001000 ; comparator0 function enable.
C_CMP0_RS: EQU %00000100 ; comparator0 reference source selection.
C_CMP0_LOG: EQU %00000010 ; comparator0 logic event direction selection.
C_CMP0_OUT: EQU %00000001 ; comparator0 result bit.
;
;-----------------------------------------------------------------------------------------------------
; Index Access Register
P_SYS_Ctrl: EQU $30 ; System control.
C_SCR_POR: EQU %10000000 ; Power On Reset Flag.(A)
C_SCR_ERST: EQU %01000000 ; External Reset Flag.(A)
C_SCR_LVR1: EQU %00100000 ; Low Voltage Reset Flag1.(A)
C_SCR_LVR0: EQU %00010000 ; Low Voltage Reset Flag0.(A)
C_SCR_WDTR: EQU %00001000 ; WDT Reset Flag.(A)
C_SCR_IAR: EQU %00000100 ; Illegal Address Reset Flag.(A)
C_SCR_IIR: EQU %00000001 ; Illegal instruction reset(A)
;
P_MODE_Ctrl: EQU $31 ; Operation mode control register.(W)
C_MODE_STOP: EQU $5A ; Enter STOP mode.(W)
C_MODE_HALT: EQU $A5 ; Enter HALT mode.(W)
C_MODE_Reset: EQU $66 ; Reset all of internal modules except CPU.(W)
;
P_WDT_Ctrl: EQU $32 ; Watchdog control register.
C_WDT_EN: EQU %10000000 ; Watchdog enable bit in stop mode.(A)
; Selection bits of watchdog interrupt rate.(A)
C_WDT_RTO: EQU %00000000 ; RTO from Timer0 is selected.
C_WDT_Div_256: EQU %00010000 ; WDI clock = /256.
C_WDT_Div_512: EQU %00100000 ; WDI clock = /512.
C_WDT_Div_1024: EQU %00110000 ; WDI clock = /1024.
C_WDT_Div_2048: EQU %01000000 ; WDI clock = /2048.
C_WDT_Div_4096: EQU %01010000 ; WDI clock = /4096.
C_WDT_Div_8192: EQU %01100000 ; WDI clock = /8192.
C_WDT_Div_16384: EQU %01110000 ; WDI clock = /16384.
;
P_IRQ_Opt0: EQU $33 ; IRQ Option 0 register.
C_IRQOpt0_IRQ5ES: EQU %00001000 ; Polarity control of INT5.(A)
C_IRQOpt0_IRQM5: EQU %00000100 ; INT5 trigger mode selection.(A)
C_IRQOpt0_IRQ4ES: EQU %00000010 ; Polarity control of INT4.(A)
C_IRQOpt0_IRQM4: EQU %00000001 ; INT4 trigger mode selection.(A)
C_IRQOpt0_CAP5ES: EQU %00001000 ; Polarity control of CAP5.(A)
C_IRQOpt0_CAP4ES: EQU %00000010 ; Polarity control of CAP4.(A)
;
P_IRQ_Opt1: EQU $34 ; IRQ Option 1 register.
C_IRQOpt1_IRQ3ES: EQU %10000000 ; Alternative Input on PC for IRQ2.(A)
C_IRQOpt1_IRQM3: EQU %01000000 ; Alternative Input on PB1 for IRQ1.(A)
C_IRQOpt1_IRQ2ES: EQU %00100000 ; Alternative Input on PB0 for IRQ0.(A)
C_IRQOpt1_IRQM2: EQU %00010000 ; Alternative Input on PA[5:0] for IRQ0.(A)
C_IRQOpt1_IRQ1ES: EQU %00001000 ; polarity Control of Interrupt Input on PC.(A)
C_IRQOpt1_IRQM1: EQU %00000100 ; polarity Control of Interrupt Input on PB1.(A)
C_IRQOpt1_IRQ0ES: EQU %00000010 ; polarity Control of Interrupt Input on PB0&PA[5:0].(A)
C_IRQOpt1_IRQM0: EQU %00000001 ; IRQ Trig Mode on IRQ0.(A)
C_IRQOpt1_CAP3ES: EQU %00001000 ; Polarity control of CAP3.(A)
C_IRQOpt1_CAP2ES: EQU %00000010 ; Polarity control of CAP2.(A)
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -