fiq.lst
来自「悬挂绘图系统(2005年全国电子设计大赛题目)基于凌阳单片机」· LST 代码 · 共 360 行 · 第 1/2 页
LST
360 行
<
< .DEFINE C_2048Hz 0x0000; //
< .DEFINE C_1024Hz 0x0008; //
< .DEFINE C_256Hz 0x0010; //
< .DEFINE C_TMB1Hz 0x0018; //
< .DEFINE C_4Hz 0x0020; //
< .DEFINE C_2Hz 0x0028; //
< .DEFINE C_B1 0x0030; //
< .DEFINE C_Ext2 0x0038; //
<
< .DEFINE C_Off 0x0000; //
< .DEFINE C_D1 0x0040; //
< .DEFINE C_D2 0x0080; //
< .DEFINE C_D3 0x00C0; //
< .DEFINE C_D4 0x0100; //
< .DEFINE C_D5 0x0140; //
< .DEFINE C_D6 0x0180; //
< .DEFINE C_D7 0x01C0; //
< .DEFINE C_D8 0x0200; //
< .DEFINE C_D9 0x0240; //
< .DEFINE C_D10 0x0280; //
< .DEFINE C_D11 0x02C0; //
< .DEFINE C_D12 0x0300; //
< .DEFINE C_D13 0x0340; //
< .DEFINE C_D14 0x0380; //
< .DEFINE C_TA_Div_2 0x03C0; // Timer A
< .DEFINE C_TB_Div_2 0x03C0; // Timer B
<
< //... Definition for P_SystemClock ............
< .DEFINE C_Fosc 0x0000; // b3..b0
< .DEFINE C_Fosc_Div_2 0x0001; //
< .DEFINE C_Fosc_Div_4 0x0002; //
< .DEFINE C_Fosc_Div_8 0x0003; // (default)
< .DEFINE C_Fosc_Div_16 0x0004; //
< .DEFINE C_Fosc_Div_32 0x0005; //
< .DEFINE C_Fosc_Div_64 0x0006; //
< .DEFINE C_Sleep 0x0007; //
<
< .DEFINE C_32K_Work 0x0000; // b4
< .DEFINE C_32K_Off 0x0000; //
< .DEFINE C_StrongMode 0x0000; // b5
< .DEFINE C_AutoMode 0x0000; //
<
< //... Define for P_AD_Ctrl ....................
< .DEFINE C_AD 0x0001; //
< .DEFINE C_DA 0x0000; //
< .DEFINE C_MIC 0x0000; //
< .DEFINE C_LINE 0x0002; //
<
< //... Define for P_DA_Ctrl ....................
< .DEFINE C_PushPull 0x0000; // b0, (default)
< .DEFINE C_DoubleEnd 0x0001; // b0
< .DEFINE C_DAC_Mode 0x0000; // b1, (default)
< .DEFINE C_PWM_Mode 0x0002; // b1
<
< .DEFINE C_D1_Direct 0x0000; // DAC1 latch
< .DEFINE C_D1_LatchA 0x0008; //
< .DEFINE C_D1_LatchB 0x0010; //
< .DEFINE C_D1_LatchAB 0x0018; //
<
< .DEFINE C_D2_Direct 0x0000; // DAC2 latch
< .DEFINE C_D2_LatchA 0x0020; //
< .DEFINE C_D2_LatchB 0x0040; //
< .DEFINE C_D2_LatchAB 0x00C0; //
<
< //... Define for P_LVD_Ctrl ...................
< .DEFINE C_LVD24V 0x0000; // LVD = 2.4V
< .DEFINE C_LVD28V 0x0001; // LVD = 2.8V
< .DEFINE C_LVD32V 0x0002; // LVD = 3.2V
< .DEFINE C_LVD36V 0x0003; // LVD = 3.6V
<
<
< .EXTERNAL F_SP_Read_INT_Status; // for further use
< .EXTERNAL F_SP_Write_INT_Status; // for further use
< .EXTERNAL F_SP_Set_INT_Vector; // for further use
< .EXTERNAL F_SP_Clear_INT_Vector; // for further use
<
< .EXTERNAL F_SP_Send_Out; //
< .EXTERNAL F_SP_Send_DAC1; //
< .EXTERNAL F_SP_Send_DAC2; //
< .EXTERNAL F_SP_Send_Two_DAC; //
< .EXTERNAL F_SP_Init_HW; //
<
< .EXTERNAL R_InterruptStatus;
<
<
< .EXTERNAL F_SP_RampUpDAC1;
< .EXTERNAL F_SP_RampDnDAC1;
< .EXTERNAL F_SP_RampUpDAC2;
< .EXTERNAL F_SP_RampDnDAC2;
<
< .EXTERNAL F_SP_InitQueue;
< .EXTERNAL F_SP_ReadQueue;
< .EXTERNAL F_SP_WriteQueue;
< .EXTERNAL F_SP_TestQueue;
<
<
<
< .EXTERNAL F_SP_Get_ADC
<
< .EXTERNAL F_SP_Set_P_TimerA_Ctrl
< .EXTERNAL F_SP_Set_P_TimerA_Data
< .EXTERNAL F_SP_Set_P_TimerB_Ctrl
< .EXTERNAL F_SP_Set_P_TimerB_Data
< .EXTERNAL F_SP_Set_P_INT_Ctrl
< .EXTERNAL F_SP_Set_P_INT_Clear
< .EXTERNAL F_SP_Set_P_SystemClock
< .EXTERNAL F_SP_Set_P_DAC_Ctrl
< .EXTERNAL F_SP_Set_P_ADC_Ctrl
<
<
<
< //--------------------------------------------
< SACM_MACRO1: .MACRO
<
< .ENDM
<
< SACM_MACRO2: .MACRO
<
< .ENDM
<
<
<
<
< //.define PC_Play_Enable_A2000 1 // Enable the PC-Play function for SACM-A2000 module
< //.define PC_Play_Enable_S480 1 // Enable the PC-Play function for SACM-S480 module
< //.define PC_Play_Enable_S240 1 // Enable the PC-Play function for SACM-S240 module
< //.define PC_Play_Enable_MS01 1 // Enable the PC-Play function for SACM-MS01 module
<
<
<
< //========================================================================================
< // End of hardware.inc
< //========================================================================================
00008390 .TEXT
_FIQ:
00008390 A0 D8 push R1,R4 to [SP]
00008391 11 93 10 70 R1 = [P_INT_Ctrl]
00008393 09 B3 00 20 R1 &= 0x2000
00008395 08 5E jz ?notTimerA //当不为TIQ_TMA,则转
//返回中断
?BSR_NotBusy: //放音处理
//[_PlayFlag]为1则是播放2000
?Play2000: //2000播放子程序
00008396 40 F0 FA 9D call F_FIQ_Service_SACM_A2000;
?BSR_Busy: //返回中断
00008398 09 93 00 20 R1 = 0x2000
0000839A 19 D3 11 70 [P_INT_Clear] = R1
0000839C A0 90 pop R1,R4 from [SP];
0000839D 98 9A reti;
?notTimerA:
0000839E 09 93 00 88 R1 = 0x8800;
000083A0 19 D3 11 70 [P_INT_Clear] = R1;
000083A2 A0 90 pop R1,R4 from [SP];
000083A3 98 9A reti;
L_FIQ_TimerB:
000083A4 A8 90 POP R1,R5 FROM[SP];
000083A5 98 9A RETI;
L_FIQ_PWM:
000083A6 19 D3 11 70 [P_INT_Clear] = R1;
000083A8 A8 90 POP R1,R5 FROM[SP];
000083A9 98 9A RETI;
L_FIQ_TimerA:
000083AA 19 D3 11 70 [P_INT_Clear] = R1;
000083AC A8 90 POP R1,R5 FROM[SP];
000083AD 98 9A RETI;
_BREAK:
000083AE A0 D8 PUSH R1,R4 TO [SP];
000083AF A0 90 POP R1,R4 FROM[SP];
000083B0 98 9A RETI;
.END
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?