📄 system.lst
字号:
< .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
< //========================================================================================
.INCLUDE key.inc
< //========================================================================================
< // Progarm: The head file for pcplay.asm
< // Wrote by: Andy Hsu
< // Last modified date:
< // 2000/06/23: first version
< // 2000/07/20: modified
< //========================================================================================
<
< .EXTERNAL F_Key_Scan_Initial;
< .EXTERNAL F_Key_Scan_ServiceLoop; // 1 scan line +Vcc
< .EXTERNAL F_Key_Scan_ServiceLoop_2; // 2 scan line +Vcc / IOA
< .EXTERNAL F_Key_DebounceCnt_Down;
< .EXTERNAL F_SP_GetCh;
.DEFINE TIMER_CLKA_8K 0x0003
.DEFINE TIMER_CLKB_1 0x0030
.DEFINE RUN_TIMERA 0x1000
.DEFINE TIMER_DATA_FOR_8KHZ (0xFFFF-80)
.DEFINE P_ADC_MUX_Ctrl 0x702b
.DEFINE P_INT_Ctrl_New 0x702d
.EXTERNAL LED_No
00009560 .CODE
//============================================================================================
//函数: Clear_WatchDog()
//语法:void Clear_WatchDog(void)
//描述:清看门狗
//参数:无
//返回:无
//============================================================================================
.PUBLIC _System_Initial;
_System_Initial: .PROC
00009560 40 F0 75 95 call L_User_Init_IO; //初始化IO口
00009562 40 F0 F1 95 call F_Key_Scan_Initial; //键盘初始化
00009564 40 F0 87 95 call F_ADC_Init; //AD初始化
// call F_SP_INT_IRQ5; //ADC采样
00009566 40 F0 C4 95 call F_SP_INT_IRQ6 //LED显示
00009568 40 92 r1 = 0;
00009569 19 D3 1B 03 [LED_No] = r1 //初始化LED显示位数
0000956B 90 9A retf
.ENDP
//============================================================================================
//函数: Clear_WatchDog()
//语法:void Clear_WatchDog(void)
//描述:清看门狗
//参数:无
//返回:无
//============================================================================================
.PUBLIC _Clear_WatchDog;
_Clear_WatchDog: .PROC
0000956C 41 92 r1 = 0x01;
0000956D 19 D3 12 70 [P_Watchdog_Clear] = r1;
0000956F 90 9A retf
.ENDP
//=============================================================================
// 函数: System_ServiceLoop();
// 语法: System_ServiceLoop();
// 描述: 程序扫描键盘、按键去抖调度
// 参数: 无
// 返回: 无
//=============================================================================
.PUBLIC _System_ServiceLoop;
_System_ServiceLoop: .PROC
00009570 40 F0 FC 95 call F_Key_Scan_ServiceLoop; //扫描键盘
00009572 40 F0 62 96 call F_Key_DebounceCnt_Down; //按键去抖
00009574 90 9A RETF;
.ENDP
//============================================================================================
//函数: L_User_Init_IO
//语法:L_User_Init_IO()
//描述:初始化A口低八位为下拉电阻输入,高八位为同相高电平输出
// 初始化B口低四位为同相高电平输出,
//参数:无
//返回:无
//=============================================================================================
.PUBLIC L_User_Init_IO;
L_User_Init_IO: .PROC
00009575 09 93 10 FF r1 = 0xff10;
00009577 19 D3 03 70 [P_IOA_Attrib] = r1;
00009579 19 D3 02 70 [P_IOA_Dir] = r1;
0000957B 09 93 00 FF r1 = 0xff00;
0000957D 19 D3 00 70 [P_IOA_Data] = r1;
0000957F 4F 92 r1 = 0x000F;
00009580 19 D3 08 70 [P_IOB_Attrib] = r1;
00009582 19 D3 07 70 [P_IOB_Dir] = r1;
00009584 19 D3 05 70 [P_IOB_Data] = r1;
00009586 90 9A RETF
.ENDP;
//============================================================================================
//函数: ADC_Init()
//语法:void ADC_Init()
//描述:初始化ADC
//参数:无
//返回:无
//=============================================================================================
.PUBLIC _ADC_Init;
.PUBLIC F_ADC_Init;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -