📄 system.lst
字号:
< .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
< //========================================================================================
.external _sum;
00008E34 .code
.public _Clear_WatchDog;
_Clear_WatchDog: .PROC
00008E34 41 92 R1=0x0001; // Clear watch dog
00008E35 19 D3 12 70 [P_Watchdog_Clear]=R1; //
00008E37 90 9A retf;
.ENDP
//=========================================//
//函数名称:RunTime2Hz()
//=========================================//
.public _RunTime2Hz; //初始化中断为2HZ定时中断源
_RunTime2Hz: .proc
00008E38 44 92 r1 = 0x0004;
00008E39 19 D3 10 70 [P_INT_Ctrl] = r1;
00008E3B 41 F1 INT IRQ; //开中断
00008E3C 90 9A retf
.endp;
//=========================================//
//函数名称:OffTime2Hz()
//========================================//
.public _OffTime2Hz;
_OffTime2Hz: .proc
00008E3D 11 93 10 70 r1 = [P_INT_Ctrl]
00008E3F 09 B3 FB FF r1 &= 0xfffb;
00008E41 19 D3 10 70 [P_INT_Ctrl] = r1;
00008E43 40 92 r1 = 0x0000
00008E44 19 D3 AF 01 [_sum] = r1;
00008E46 90 9A retf;
.endp;
//=======================================//
//DataBusTest()
//=======================================//
.public _DataBusTest;
_DataBusTest: .proc
00008E47 40 92 r1=0x0000 //初始化A口为输入端
00008E48 19 D3 02 70 [P_IOA_Dir]=r1
00008E4A 19 D3 03 70 [P_IOA_Attrib]=r1
00008E4C 19 D3 00 70 [P_IOA_Data]=r1
//初始化B口为输出端
00008E4E 09 93 FF FF r1=0xffff
00008E50 19 D3 07 70 [P_IOB_Dir]=r1
00008E52 19 D3 08 70 [P_IOB_Attrib]=r1
00008E54 40 92 r1=0x0000
00008E55 19 D3 05 70 [P_IOB_Data]=r1
00008E57 09 93 FF FF r1=0xffff
00008E59 19 D3 05 70 [P_IOB_Data]=r1
loop1:
00008E5B 00 EE nop;
00008E5C 00 EE nop;
00008E5D 00 EE nop;
00008E5E 00 EE nop;
00008E5F 00 EE nop;
00008E60 12 95 00 70 r2 = [P_IOA_Data]
00008E62 01 45 cmp r2,r1
00008E63 01 4E jne exit;
00008E64 4A EE jmp loop1;
exit:
00008E65 90 9A retf;
.endp
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -