📄 system.lst
字号:
//函数: 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:
0000958C 11 93 2D 70 r1 = [P_INT_Ctrl_New];
0000958E 44 A2 r1 = r1 |0x0004;
0000958F 19 D3 10 70 [P_INT_Ctrl] = r1;
00009591 49 F1 irq on; //开中断
00009592 90 9A retf
.ENDP;
//============================================================================================
//函数: turn_off_IRQ5()
//语法:void SP_INT_IRQ5(void)
//描述:初始化中断为2HZ定时中断源
//参数:无
//返回:无
//=============================================================================================
.PUBLIC _turn_off_IRQ5; //初始化中断为2HZ定时中断源
_turn_off_IRQ5: .PROC
00009593 11 93 2D 70 r1 = [P_INT_Ctrl_New];
00009595 09 B3 FB FF r1 &= 0xfffb;
00009597 19 D3 2D 70 [P_INT_Ctrl_New] = r1;
00009599 90 9A retf;
.ENDP
//============================================================================================
//函数: UART_Init()
//语法:void UART_Init(void)
//描述:通过串行通讯传输采样温度值
//参数:无
//返回:无
//=============================================================================================
.PUBLIC _UART_Init;
.PUBLIC F_UART_Init
_UART_Init: .PROC
F_UART_Init:
0000959A 11 93 08 70 r1 = [P_IOB_Attrib] //设置IOB7为输入IOB10为输出
0000959C 09 A3 80 04 r1 = r1 | 0x0480;
0000959E 19 D3 08 70 [P_IOB_Attrib] = R1;
000095A0 11 93 07 70 r1 = [P_IOB_Dir]
000095A2 09 A3 00 04 r1 = r1 | 0x0400;
000095A4 19 D3 07 70 [P_IOB_Dir] = R1;
000095A6 11 93 05 70 r1 = [P_IOB_Data]
000095A8 09 B3 B7 FF r1 = r1 & 0xffb7;
000095AA 19 D3 05 70 [P_IOB_Data] = R1;
000095AC 09 93 6B 00 R1 = 0x006b; //设置波特率为115.2Kbps
000095AE 19 D3 24 70 [P_UART_BaudScalarLow] = R1;
000095B0 40 92 R1 = 0x0000;
000095B1 19 D3 25 70 [P_UART_BaudScalarHigh] = R1;
000095B3 40 92 R1 = 0x0000;
000095B4 0C 99 C0 00 R4 = 0x00C0; //使能输入和输出
000095B6 19 D3 21 70 [P_UART_Command1] = R1;
000095B8 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:
000095BA 40 92 r1 = 0x0000;
000095BB 19 D3 0E 70 [P_TimeBase_Setup]=r1 //128hz
000095BD 11 93 2D 70 r1 = [P_INT_Ctrl_New];
000095BF 41 A2 r1 = r1 |0x0001; //开中断IRQ6
000095C0 19 D3 2D 70 [P_INT_Ctrl_New]= r1
000095C2 49 F1 irq on;
000095C3 90 9A RETF;
.ENDP
//============================================================================================
//函数: SP_INT_TIMEA()
//语法:void SP_INT_TIMEA(void)
//描述:初始化中断为1s定时中断源
//参数:无
//返回:无
//============================================================================================
.PUBLIC _SP_INT_TIMEA;
_SP_INT_TIMEA: .PROC
//r1 = 0x0000; //CPU选频
//[P_SystemClock] = r1;
000095C4 09 93 AF FF r1 = TIMER_DATA_FOR_8KHZ
000095C6 19 D3 0A 70 [P_TimerA_Data] = r1;
000095C8 73 92 r1 = TIMER_CLKA_8K + TIMER_CLKB_1
000095C9 19 D3 0B 70 [P_TimerA_Ctrl]=r1;
000095CB 11 93 2D 70 r1 = [P_INT_Ctrl_New];
000095CD 09 A3 00 10 r1 |= 0x1000 //IRQ1_TMA
000095CF 19 D3 2D 70 [P_INT_Ctrl_New] = r1; //开TimeA 中断
000095D1 49 F1 IRQ ON;
000095D2 90 9A RETF
.ENDP
//============================================================================================
//函数: turn_off_timerA
//语法:turn_off_timerA
//描述:关闭定时器B
//参数:无
//返回:无
//============================================================================================
.PUBLIC _turn_off_timerB
_turn_off_timerB: .PROC
000095D3 11 93 2D 70 r1 = [P_INT_Ctrl_New];
000095D5 09 B3 FF FB r1 &= 0xfbff;
000095D7 19 D3 2D 70 [P_INT_Ctrl_New] = r1;
000095D9 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:
000095DA 11 93 01 70 r1 = [P_IOA_Buffer]
000095DC 50 A2 r1 |= 0x0010;
000095DD 19 D3 01 70 [P_IOA_Buffer] = r1;
000095DF 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:
000095E0 11 93 01 70 r1 = [P_IOA_Buffer]
000095E2 09 B3 EF FF r1 &= 0xffef;
000095E4 19 D3 01 70 [P_IOA_Buffer] = r1;
000095E6 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;
000095E7 09 93 AF FF r1 = TIMER_DATA_FOR_8KHZ
000095E9 19 D3 0C 70 [P_TimerB_Data] = r1;
000095EB 43 92 r1 = TIMER_CLKA_8K
000095EC 19 D3 0D 70 [P_TimerB_Ctrl]=r1;
000095EE 11 93 2D 70 r1 = [P_INT_Ctrl_New];
000095F0 09 A3 00 04 r1 |= 0x0400 //IRQ1_TMA
000095F2 19 D3 2D 70 [P_INT_Ctrl_New] = r1; //开TimeA 中断
000095F4 49 F1 IRQ ON;
000095F5 90 9A RETF
.ENDP
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -