📄 irq.lst
字号:
Sunplus u'nSP Assembler - Ver. 1.14.3.1
Listing File Has Been Relocated
//==================================================================
//文件名称:IRQ.asm
//功能描述:中断程序。实现日期时间的调整,以及秒表的实现。
//维护记录:2006.7.31 by zhenlei
//===================================================================
.INCLUDE 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -