📄 system.lst
字号:
_ADC_Init: .PROC
F_ADC_Init:
00009587 44 92 r1 = 0x0004 //选择通道LINE_IN为IOA4
00009588 19 D3 2B 70 [P_ADC_MUX_Ctrl] = r1
0000958A 11 93 15 70 r1 = [P_ADC_Ctrl]
0000958C 41 A2 r1 |= 0x0001 //允许A/D转换
0000958D 19 D3 15 70 [P_ADC_Ctrl] = r1
0000958F 11 93 2A 70 r1 = [P_DAC_Ctrl]
00009591 09 B3 E7 FF r1 &= 0xffe7;
00009593 19 D3 2A 70 [P_DAC_Ctrl] = r1
00009595 90 9A retf
.ENDP
//============================================================================================
//函数: SP_INT_IRQ5()
//语法:void SP_INT_IRQ5(void)
//描述:初始化中断为2HZ定时中断源,用来确定ADC采样时间定时.1秒钟采样一次.
//参数:无
//返回:无
//=============================================================================================
.PUBLIC _SP_INT_IRQ5; //初始化中断为2HZ定时中断源
.PUBLIC F_SP_INT_IRQ5;
_SP_INT_IRQ5: .PROC
F_SP_INT_IRQ5:
00009596 11 93 2D 70 r1 = [P_INT_Ctrl_New];
00009598 44 A2 r1 = r1 |0x0004;
00009599 19 D3 2D 70 [P_INT_Ctrl_New] = r1;
0000959B 49 F1 irq on; //开中断
0000959C 90 9A retf
.ENDP;
//============================================================================================
//函数: turn_off_IRQ5()
//语法:void SP_INT_IRQ5(void)
//描述:初始化中断为2HZ定时中断源
//参数:无
//返回:无
//=============================================================================================
.PUBLIC _turn_off_IRQ5; //初始化中断为2HZ定时中断源
_turn_off_IRQ5: .PROC
0000959D 11 93 2D 70 r1 = [P_INT_Ctrl_New];
0000959F 09 B3 FB FF r1 &= 0xfffb;
000095A1 19 D3 2D 70 [P_INT_Ctrl_New] = r1;
000095A3 90 9A retf;
.ENDP
//============================================================================================
//函数: UART_Init()
//语法:void UART_Init(void)
//描述:通过串行通讯传输采样温度值
//参数:无
//返回:无
//=============================================================================================
.PUBLIC _UART_Init;
.PUBLIC F_UART_Init
_UART_Init: .PROC
F_UART_Init:
000095A4 11 93 08 70 r1 = [P_IOB_Attrib] //设置IOB7为输入IOB10为输出
000095A6 09 A3 80 04 r1 = r1 | 0x0480;
000095A8 19 D3 08 70 [P_IOB_Attrib] = R1;
000095AA 11 93 07 70 r1 = [P_IOB_Dir]
000095AC 09 A3 00 04 r1 = r1 | 0x0400;
000095AE 19 D3 07 70 [P_IOB_Dir] = R1;
000095B0 11 93 05 70 r1 = [P_IOB_Data]
000095B2 09 B3 B7 FF r1 = r1 & 0xffb7;
000095B4 19 D3 05 70 [P_IOB_Data] = R1;
000095B6 09 93 6B 00 R1 = 0x006b; //设置波特率为115.2Kbps
000095B8 19 D3 24 70 [P_UART_BaudScalarLow] = R1;
000095BA 40 92 R1 = 0x0000;
000095BB 19 D3 25 70 [P_UART_BaudScalarHigh] = R1;
000095BD 40 92 R1 = 0x0000;
000095BE 0C 99 C0 00 R4 = 0x00C0; //使能输入和输出
000095C0 19 D3 21 70 [P_UART_Command1] = R1;
000095C2 1C D9 22 70 [P_UART_Command2] = R4;
.ENDP
//============================================================================================
//函数: SP_INT_IRQ6()
//语法:void SP_INT_IRQ6(void)
//描述:初始化中断IRQ6
//参数:无
//返回:无
//=============================================================================================
.PUBLIC _SP_INT_IRQ6; //128hz
.PUBLIC F_SP_INT_IRQ6; //128hz
_SP_INT_IRQ6: .PROC
F_SP_INT_IRQ6:
000095C4 40 92 r1 = 0x0000;
000095C5 19 D3 0E 70 [P_TimeBase_Setup]=r1 //128hz
000095C7 11 93 2D 70 r1 = [P_INT_Ctrl_New];
000095C9 41 A2 r1 = r1 |0x0001; //开中断IRQ6
000095CA 19 D3 2D 70 [P_INT_Ctrl_New]= r1
000095CC 49 F1 irq on;
000095CD 90 9A RETF;
.ENDP
//============================================================================================
//函数: turn_off_timerA
//语法:turn_off_timerA
//描述:关闭定时器B
//参数:无
//返回:无
//============================================================================================
.PUBLIC _turn_off_timerB
_turn_off_timerB: .PROC
000095CE 11 93 2D 70 r1 = [P_INT_Ctrl_New];
000095D0 09 B3 FF FB r1 &= 0xfbff;
000095D2 19 D3 2D 70 [P_INT_Ctrl_New] = r1;
000095D4 90 9A retf;
.ENDP
//============================================================================================
//函数: turn_on_relay;
//语法:void turn_on_relay;
//描述:打开继电器
//参数:无
//返回:无
//============================================================================================
.PUBLIC _turn_on_relay;
.PUBLIC F_turn_on_relay;
_turn_on_relay: .PROC
F_turn_on_relay:
000095D5 11 93 01 70 r1 = [P_IOA_Buffer]
000095D7 50 A2 r1 |= 0x0010;
000095D8 19 D3 01 70 [P_IOA_Buffer] = r1;
000095DA 90 9A retf
.ENDP
//============================================================================================
//函数: turn_off_relay;
//语法:void turn_off_relay;
//描述:关闭继电器
//参数:无
//返回:无
//============================================================================================
.PUBLIC _turn_off_relay;
.PUBLIC F_turn_off_relay;
_turn_off_relay: .PROC
F_turn_off_relay:
000095DB 11 93 01 70 r1 = [P_IOA_Buffer]
000095DD 09 B3 EF FF r1 &= 0xffef;
000095DF 19 D3 01 70 [P_IOA_Buffer] = r1;
000095E1 90 9A retf
.ENDP
//============================================================================================
//函数: SP_INT_TIMEA()
//语法:void SP_INT_TIMEA(void)
//描述:初始化中断为1s定时中断源
//参数:无
//返回:无
//============================================================================================
.PUBLIC _SP_INT_TIMEB;
_SP_INT_TIMEB: .PROC
//r1 = 0x0000; //CPU选频
//[P_SystemClock] = r1;
000095E2 09 93 AF FF r1 = TIMER_DATA_FOR_8KHZ
000095E4 19 D3 0C 70 [P_TimerB_Data] = r1;
000095E6 43 92 r1 = TIMER_CLKA_8K
000095E7 19 D3 0D 70 [P_TimerB_Ctrl]=r1;
000095E9 11 93 2D 70 r1 = [P_INT_Ctrl_New];
000095EB 09 A3 00 04 r1 |= 0x0400 //IRQ1_TMA
000095ED 19 D3 2D 70 [P_INT_Ctrl_New] = r1; //开TimeA 中断
000095EF 49 F1 IRQ ON;
000095F0 90 9A RETF
.ENDP
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -