?? spce061a.inc
字號:
// ========================================================================= //
// File Name : SPCE061A.inc //
// Description : SPCE061A register definitions //
// Processor : SPCE061A //
// Revision : v1.00, 2005-10-19 //
// ========================================================================= //
//***************************************************************************//
// Register definitions //
//***************************************************************************//
// IO port control registers
.DEFINE P_IOA_Data 0x7000
.DEFINE P_IOA_Buffer 0x7001
.DEFINE P_IOA_Dir 0x7002
.DEFINE P_IOA_Attrib 0x7003
.DEFINE P_IOA_Latch 0x7004
.DEFINE P_IOB_Data 0x7005
.DEFINE P_IOB_Buffer 0x7006
.DEFINE P_IOB_Dir 0x7007
.DEFINE P_IOB_Attrib 0x7008
// Timer control registers
.DEFINE P_TimerA_Data 0x700A
.DEFINE P_TimerA_Ctrl 0x700B
.DEFINE P_TimerB_Data 0x700C
.DEFINE P_TimerB_Ctrl 0x700D
// Timebase control registers
.DEFINE P_TimeBase_Setup 0x700E
.DEFINE P_Timebase_Setup 0x700E // Same as P_TimeBase_Setup
.DEFINE P_TimeBase_Clear 0x700F
.DEFINE P_Timebase_Clear 0x700F // Same as P_TimeBase_Clear
// Interrupt control registers
.DEFINE P_INT_Ctrl 0x7010
.DEFINE P_INT_Clear 0x7011
.DEFINE P_INT_Mask 0x702D
.DEFINE P_INT_Ctrl_New 0x702D // Same as P_INT_Mask
// Analog functions control registers
.DEFINE P_ADC 0x7014
.DEFINE P_ADC_Ctrl 0x7015
.DEFINE P_ADC_MUX_Ctrl 0x702B
.DEFINE P_ADC_MUX_Data 0x702C
.DEFINE P_ADC_LINEIN_Data 0x702C // Same as P_ADC_MUX_Data
.DEFINE P_ADC_LineIn_Data 0x702C // Same as P_ADC_MUX_Data
.DEFINE P_DAC_Ctrl 0x702A
.DEFINE P_DAC1 0x7017
.DEFINE P_DAC2 0x7016
// Serial functions control registers
.DEFINE P_SIO_Data 0x701A
.DEFINE P_SIO_Addr_Low 0x701B
.DEFINE P_SIO_Addr_Mid 0x701C
.DEFINE P_SIO_Addr_High 0x701D
.DEFINE P_SIO_Ctrl 0x701E
.DEFINE P_SIO_Start 0x701F
.DEFINE P_SIO_Stop 0x7020
.DEFINE P_UART_Command1 0x7021
.DEFINE P_UART_Command2 0x7022
.DEFINE P_UART_Data 0x7023
.DEFINE P_UART_BaudScalarLow 0x7024
.DEFINE P_UART_BaudScalarHigh 0x7025
// Other control registers
.DEFINE P_Feedback 0x7009
.DEFINE P_SystemClock 0x7013
.DEFINE P_Watchdog_Clear 0x7012
.DEFINE P_LVD_Ctrl 0x7019
.DEFINE P_Flash_Ctrl 0x7555
//***************************************************************************//
// Constant definitions //
//***************************************************************************//
// Constants for interrupt
.DEFINE C_FIQ_PWM 0x8000 // P_INT_Ctrl
.DEFINE C_FIQ_TMA 0x2000 // P_INT_Ctrl
.DEFINE C_FIQ_TMB 0x0800 // P_INT_Ctrl
.DEFINE C_IRQ0_PWM 0x4000 // P_INT_Ctrl
.DEFINE C_IRQ1_TMA 0x1000 // P_INT_Ctrl
.DEFINE C_IRQ2_TMB 0x0400 // P_INT_Ctrl
.DEFINE C_IRQ3_KEY 0x0080 // P_INT_Ctrl
.DEFINE C_IRQ3_EXT1 0x0100 // P_INT_Ctrl
.DEFINE C_IRQ3_EXT2 0x0200 // P_INT_Ctrl
.DEFINE C_IRQ4_1KHz 0x0010 // P_INT_Ctrl
.DEFINE C_IRQ4_2KHz 0x0020 // P_INT_Ctrl
.DEFINE C_IRQ4_4KHz 0x0040 // P_INT_Ctrl
.DEFINE C_IRQ5_2Hz 0x0004 // P_INT_Ctrl
.DEFINE C_IRQ5_4Hz 0x0008 // P_INT_Ctrl
.DEFINE C_IRQ6_TMB1 0x0002 // P_INT_Ctrl
.DEFINE C_IRQ6_TMB2 0x0001 // P_INT_Ctrl
// Constants for TimerA & TimerB
.DEFINE C_TMA1_FOSC_2 0x0000 // P_TimerA_Ctrl
.DEFINE C_TMA1_FOSC_256 0x0001 // P_TimerA_Ctrl
.DEFINE C_TMA1_32KHz 0x0002 // P_TimerA_Ctrl
.DEFINE C_TMA1_8KHz 0x0003 // P_TimerA_Ctrl
.DEFINE C_TMA1_4KHz 0x0004 // P_TimerA_Ctrl
.DEFINE C_TMA1_1 0x0005 // P_TimerA_Ctrl
.DEFINE C_TMA1_0 0x0006 // P_TimerA_Ctrl
.DEFINE C_TMA1_EXT1 0x0007 // P_TimerA_Ctrl
.DEFINE C_TMA2_2KHz 0x0000 // P_TimerA_Ctrl
.DEFINE C_TMA2_1KHz 0x0008 // P_TimerA_Ctrl
.DEFINE C_TMA2_256Hz 0x0010 // P_TimerA_Ctrl
.DEFINE C_TMA2_TMB1 0x0018 // P_TimerA_Ctrl
.DEFINE C_TMA2_4Hz 0x0020 // P_TimerA_Ctrl
.DEFINE C_TMA2_2Hz 0x0028 // P_TimerA_Ctrl
.DEFINE C_TMA2_1 0x0030 // P_TimerA_Ctrl
.DEFINE C_TMA2_EXT2 0x0038 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_OFF 0x0000 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D1 0x0040 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D2 0x0080 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D3 0x00C0 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D4 0x0100 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D5 0x0140 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D6 0x0180 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D7 0x01C0 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D8 0x0200 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D9 0x0240 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D10 0x0280 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D11 0x02C0 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D12 0x0300 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D13 0x0340 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_D14 0x0380 // P_TimerA_Ctrl
.DEFINE C_TMA_PWM_TA 0x03C0 // P_TimerA_Ctrl
.DEFINE C_TMB_FOSC_2 0x0000 // P_TimerB_Ctrl
.DEFINE C_TMB_FOSC_256 0x0001 // P_TimerB_Ctrl
.DEFINE C_TMB_32KHz 0x0002 // P_TimerB_Ctrl
.DEFINE C_TMB_8KHz 0x0003 // P_TimerB_Ctrl
.DEFINE C_TMB_4KHz 0x0004 // P_TimerB_Ctrl
.DEFINE C_TMB_1 0x0005 // P_TimerB_Ctrl
.DEFINE C_TMB_0 0x0006 // P_TimerB_Ctrl
.DEFINE C_TMB_EXT1 0x0007 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_OFF 0x0000 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D1 0x0040 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D2 0x0080 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D3 0x00C0 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D4 0x0100 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D5 0x0140 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D6 0x0180 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D7 0x01C0 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D8 0x0200 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D9 0x0240 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D10 0x0280 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D11 0x02C0 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D12 0x0300 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D13 0x0340 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_D14 0x0380 // P_TimerB_Ctrl
.DEFINE C_TMB_PWM_TB 0x03C0 // P_TimerB_Ctrl
// Constants for TimeBase
.DEFINE C_TMB1_8Hz 0x0000 // P_Timebase_Setup
.DEFINE C_TMB1_16Hz 0x0001 // P_Timebase_Setup
.DEFINE C_TMB1_32Hz 0x0002 // P_Timebase_Setup
.DEFINE C_TMB1_64Hz 0x0003 // P_Timebase_Setup
.DEFINE C_TMB2_128Hz 0x0000 // P_Timebase_Setup
.DEFINE C_TMB2_256Hz 0x0004 // P_Timebase_Setup
.DEFINE C_TMB2_512Hz 0x0008 // P_Timebase_Setup
.DEFINE C_TMB2_1024Hz 0x000c // P_Timebase_Setup
// Constants for system clock
.DEFINE C_Fosc_49M 0x0080 // P_SystemClock
.DEFINE C_Fosc_40M 0x0060 // P_SystemClock
.DEFINE C_Fosc_32M 0x0040 // P_SystemClock
.DEFINE C_Fosc_24M 0x0000 // P_SystemClock
.DEFINE C_Fosc_20M 0x0020 // P_SystemClock
.DEFINE C_Fosc 0x0000 // P_SystemClock
.DEFINE C_Fosc_Div_2 0x0001 // P_SystemClock
.DEFINE C_Fosc_Div_4 0x0002 // P_SystemClock
.DEFINE C_Fosc_Div_8 0x0003 // P_SystemClock
.DEFINE C_Fosc_Div_16 0x0004 // P_SystemClock
.DEFINE C_Fosc_Div_32 0x0005 // P_SystemClock
.DEFINE C_Fosc_Div_64 0x0006 // P_SystemClock
.DEFINE C_Sleep 0x0007 // P_SystemClock
.DEFINE C_StrongMode 0x0008 // P_SystemClock
.DEFINE C_AutoMode 0x0000 // P_SystemClock
.DEFINE C_32K_Work 0x0010 // P_SystemClock
.DEFINE C_32K_Off 0x0000 // P_SystemClock
// Constants for ADC & DAC
.DEFINE C_ADC_EN 0x0001 // P_ADC_Ctrl
.DEFINE C_ADC_DIS 0x0000 // P_ADC_Ctrl
.DEFINE C_MIC_RDY 0x8000 // P_ADC_Ctrl
.DEFINE C_MIC_EN 0x0000 // P_ADC_Ctrl
.DEFINE C_MIC_DIS 0x0002 // P_ADC_Ctrl
.DEFINE C_MIC_AGC_EN 0x0004 // P_ADC_Ctrl
.DEFINE C_MIC_AGC_DIS 0x0000 // P_ADC_Ctrl
.DEFINE C_VEXTREF_EN 0x0080 // P_ADC_Ctrl
.DEFINE C_VEXTREF_DIS 0x0000 // P_ADC_Ctrl
.DEFINE C_2V_EN 0x0100 // P_ADC_Ctrl
.DEFINE C_2V_DIS 0x0000 // P_ADC_Ctrl
.DEFINE C_DAC_3mA 0x0040 // P_ADC_Ctrl
.DEFINE C_DAC_2mA 0x0000 // P_ADC_Ctrl
.DEFINE C_ADC_MUX_MIC 0x0000 // P_ADC_MUX_Ctrl
.DEFINE C_ADC_MUX_IOA0 0x0001 // P_ADC_MUX_Ctrl
.DEFINE C_ADC_MUX_IOA1 0x0002 // P_ADC_MUX_Ctrl
.DEFINE C_ADC_MUX_IOA2 0x0003 // P_ADC_MUX_Ctrl
.DEFINE C_ADC_MUX_IOA3 0x0004 // P_ADC_MUX_Ctrl
.DEFINE C_ADC_MUX_IOA4 0x0005 // P_ADC_MUX_Ctrl
.DEFINE C_ADC_MUX_IOA5 0x0006 // P_ADC_MUX_Ctrl
.DEFINE C_ADC_MUX_IOA6 0x0007 // P_ADC_MUX_Ctrl
.DEFINE C_LINEIN_FAIL 0x4000 // P_ADC_MUX_Ctrl
.DEFINE C_LINEIN_RDY 0x8000 // P_ADC_MUX_Ctrl
.DEFINE C_DAC1_DIRECT 0x0000 // P_DAC_Ctrl
.DEFINE C_DAC1_LATCH_A 0x0080 // P_DAC_Ctrl
.DEFINE C_DAC1_LATCH_B 0x0100 // P_DAC_Ctrl
.DEFINE C_DAC1_LATCH_AB 0x0180 // P_DAC_Ctrl
.DEFINE C_DAC2_DIRECT 0x0000 // P_DAC_Ctrl
.DEFINE C_DAC2_LATCH_A 0x0020 // P_DAC_Ctrl
.DEFINE C_DAC2_LATCH_B 0x0040 // P_DAC_Ctrl
.DEFINE C_DAC2_LATCH_AB 0x0060 // P_DAC_Ctrl
.DEFINE C_MIC_DIRECT 0x0000 // P_DAC_Ctrl
.DEFINE C_MIC_LATCH_A 0x0008 // P_DAC_Ctrl
.DEFINE C_MIC_LATCH_B 0x0010 // P_DAC_Ctrl
.DEFINE C_MIC_LATCH_AB 0x0018 // P_DAC_Ctrl
.DEFINE C_DAC_DIS 0x0002 // P_DAC_Ctrl
// Constants for SIO
.DEFINE C_SIO_CONFIG 0x0080 // P_SIO_Ctrl
.DEFINE C_SIO_READ 0x0000 // P_SIO_Ctrl
.DEFINE C_SIO_WRITE 0x0040 // P_SIO_Ctrl
.DEFINE C_SIO_CLOCK_32 0x0018 // P_SIO_Ctrl
.DEFINE C_SIO_CLOCK_16 0x0000 // P_SIO_Ctrl
.DEFINE C_SIO_CLOCK_8 0x0010 // P_SIO_Ctrl
.DEFINE C_SIO_ADDR_24 0x0003 // P_SIO_Ctrl
.DEFINE C_SIO_ADDR_16 0x0000 // P_SIO_Ctrl
.DEFINE C_SIO_ADDR_8 0x0002 // P_SIO_Ctrl
.DEFINE C_SIO_ADDR_NO 0x0001 // P_SIO_Ctrl
.DEFINE C_SIO_BUSY 0x0080 // P_SIO_Start
// Constants for UART
.DEFINE C_UART_RX_INT 0x0080 // P_UART_Command1
.DEFINE C_UART_TX_INT 0x0040 // P_UART_Command1
.DEFINE C_UART_RESET 0x0020 // P_UART_Command1
.DEFINE C_UART_PARITY_EVEN 0x0008 // P_UART_Command1
.DEFINE C_UART_PARITY_ODD 0x0000 // P_UART_Command1
.DEFINE C_UART_PARITY_EN 0x0004 // P_UART_Command1
.DEFINE C_UART_PARITY_DIS 0x0000 // P_UART_Command1
.DEFINE C_UART_RX_RDY 0x0080 // P_UART_Command2
.DEFINE C_UART_TX_RDY 0x0040 // P_UART_Command2
.DEFINE C_UART_RX_EN 0x0080 // P_UART_Command2
.DEFINE C_UART_TX_EN 0x0040 // P_UART_Command2
.DEFINE C_UART_PE 0x0008 // P_UART_Command2
.DEFINE C_UART_OE 0x0010 // P_UART_Command2
.DEFINE C_UART_FE 0x0020 // P_UART_Command2
// Constants for Feedback
.DEFINE C_FEEDBACK1_EN 0x0004 // P_Feedback
.DEFINE C_FEEDBACK2_EN 0x0008 // P_Feedback
.DEFINE C_IRTX_EN 0x0001 // P_Feedback
// Constants for LVD
.DEFINE C_LVD33V 0x0002 // P_LVD_Ctrl
.DEFINE C_LVD29V 0x0001 // P_LVD_Ctrl
// Other Constants
.DEFINE C_WDTCLR 0x0001 // P_Watchdog_Clear
///////////////////////////////////////////////////////////////////
// Old definitions for LVD @'hardware.inc'
.DEFINE C_LVD24V 0x0000 // P_LVD_Ctrl
.DEFINE C_LVD28V 0x0001 // P_LVD_Ctrl
.DEFINE C_LVD32V 0x0002 // P_LVD_Ctrl
.DEFINE C_LVD36V 0x0003 // P_LVD_Ctrl
// Old definitions for TimerA & TimerB @'hardware.inc'
.DEFINE C_Fosc_2 0x0000 // P_TimerA_Ctrl
.DEFINE C_Fosc_256 0x0001 // P_TimerA_Ctrl
.DEFINE C_32768Hz 0x0002 // P_TimerA_Ctrl
.DEFINE C_8192Hz 0x0003 // P_TimerA_Ctrl
.DEFINE C_4096Hz 0x0004 // P_TimerA_Ctrl
.DEFINE C_A1 0x0005 // P_TimerA_Ctrl
.DEFINE C_A0 0x0006 // P_TimerA_Ctrl
.DEFINE C_Ext1 0x0007 // P_TimerA_Ctrl
.DEFINE C_2048Hz 0x0000 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_1024Hz 0x0008 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_256Hz 0x0010 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_TMB1Hz 0x0018 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_4Hz 0x0020 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_2Hz 0x0028 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_B1 0x0030 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_Ext2 0x0038 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_Off 0x0000 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D1 0x0040 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D2 0x0080 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D3 0x00C0 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D4 0x0100 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D5 0x0140 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D6 0x0180 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D7 0x01C0 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D8 0x0200 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D9 0x0240 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D10 0x0280 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D11 0x02C0 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D12 0x0300 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D13 0x0340 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_D14 0x0380 // P_TimerA_Ctrl, P_TimerB_Ctrl
.DEFINE C_TA_Div_2 0x03C0 // P_TimerA_Ctrl
.DEFINE C_TB_Div_2 0x03C0 // P_TimerB_Ctrl
//========================================================================================
// End of SPCE061A.inc
//========================================================================================
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -