📄 user.lst
字号:
009A 3A0D 00220 XORLW K_SEC
009B 1903 00221 BTFSC STATUS,Z
009C 28BC 00222 GOTO SEC_CL
00223
009D 0842 00224 MOVF K_VAL,W ;档为位键值判别
009E 3A0B 00225 XORLW K_TYP
009F 1903 00226 BTFSC STATUS,Z
00A0 28C5 00227 GOTO TYP_CL
00228
00A1 0842 00229 MOVF K_VAL,W ;启动键值判别
00A2 3A07 00230 XORLW K_ON
00A3 1903 00231 BTFSC STATUS,Z
00A4 28D8 00232 GOTO ON_CL
00A5 28DE 00233 GOTO KEY_CL_END
00234 ;*******************************************************************
00235 ;双档程序
Warning[205]: Found directive in column 1. (IF)
00236 IF DW_SYB
00237 ;各键处理
00238 MIN_CL BTFSC SYS_REG,SYS_ON ;只有没有启动输出时有效
00239 GOTO KEY_CL_END
00240 BSF SYS_REG,NEW_DAT ;新数据标志
00241
00242 INCF WORK_MIN,1 ;分递增
00243 MOVLW D'0' ;0号参数:0--15
00244 MOVWF PAR_LIT
MPASM 03.20.02 Released USER.ASM 1-26-2007 13:22:51 PAGE 14
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00245 MOVLW D'16'
00246
00247 SUBWF WORK_MIN,W
00248 BTFSS STATUS,C
00249 GOTO KEY_CL_END ;判别是否到上限
00250
00251 MOVF PAR_LIT,W ;到上限了,则清到下限
00252 MOVWF WORK_MIN
00253 MOVF WORK_SEC,W
00254 BTFSS STATUS,Z
00255 GOTO KEY_CL_END
00256 MOVLW D'10'
00257 MOVWF WORK_SEC
00258 GOTO KEY_CL_END ;最小为10S
00259
00260 ;***************************************************************************
00261 SEC_CL BTFSC SYS_REG,SYS_ON ;只有没有启动输出时有效
00262 GOTO KEY_CL_END
00263 BSF SYS_REG,NEW_DAT ;新数据标志
00264
00265
00266 MOVLW D'10'
00267 ADDWF WORK_SEC,1 ;秒*10递减
00268
00269 MOVLW D'0' ;0号参数:0--15
00270 MOVWF PAR_LIT
00271
00272 MOVLW D'60'
00273
00274 SUBWF WORK_SEC,W
00275 BTFSS STATUS,C
00276 GOTO KEY_CL_END ;判别是否到上限
00277
00278 MOVF PAR_LIT,W ;到上限了,则清到下限
00279 MOVWF WORK_SEC
00280
00281 MOVF WORK_MIN,W
00282 BTFSS STATUS,Z
00283 GOTO KEY_CL_END
00284 MOVLW D'10'
00285 MOVWF WORK_SEC
00286 GOTO KEY_CL_END
00287
00288 ;******************************************************************************
00289 TYP_CL BTFSS SYS_REG,SYS_TYP
00290 GOTO SET_TYP
00291 BCF SYS_REG,SYS_TYP
00292 GOTO KEY_CL_END
00293 SET_TYP
00294 BSF SYS_REG,SYS_TYP
00295 GOTO KEY_CL_END
00296
00297 ENDIF
MPASM 03.20.02 Released USER.ASM 1-26-2007 13:22:51 PAGE 15
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00298 ;*******************************************************************************
Warning[205]: Found directive in column 1. (IF)
00299 IF DW_SYB==0
00300 ;各键处理
00A6 1830 00301 MIN_CL BTFSC SYS_REG,SYS_ON ;只有没有启动输出时有效
00A7 28DE 00302 GOTO KEY_CL_END
00A8 14B0 00303 BSF SYS_REG,NEW_DAT ;新数据标志
00304
00A9 300A 00305 MOVLW D'10'
00AA 07CC 00306 ADDWF W_MIN_T,1 ;分十位递增
00307
00AB 00308 LIM_PB
00AB 084C 00309 MOVF W_MIN_T,W
00AC 074D 00310 ADDWF W_MIN_S,W
00AD 00C8 00311 MOVWF WORK_MIN ;合成分时间
00AE 3C1F 00312 SUBLW D'31'
00AF 1C03 00313 BTFSS STATUS,C
00B0 01C8 00314 CLRF WORK_MIN
00B1 0848 00315 MOVF WORK_MIN , W
00B2 1D03 00316 BTFSS STATUS,Z
00B3 28DE 00317 GOTO KEY_CL_END ;如果时间为0,则转成1(禁止为0)
00B4 01CC 00318 CLRF W_MIN_T
00B5 01CD 00319 CLRF W_MIN_S
00320
00B6 0849 00321 MOVF WORK_SEC ,W
00B7 1D03 00322 BTFSS STATUS ,Z
00B8 28DE 00323 GOTO KEY_CL_END
00324
00B9 300A 00325 MOVLW D'10'
00BA 00C9 00326 MOVWF WORK_SEC
00BB 28DE 00327 GOTO KEY_CL_END
00328
00329
00330 ;***************************************************************************
00BC 1830 00331 SEC_CL BTFSC SYS_REG,SYS_ON ;只有没有启动输出时有效
00BD 28DE 00332 GOTO KEY_CL_END
00BE 14B0 00333 BSF SYS_REG,NEW_DAT ;新数据标志
00BF 0ACD 00334 INCF W_MIN_S,1 ;分个位递减
00C0 084D 00335 MOVF W_MIN_S,W
00C1 3A0A 00336 XORLW 0AH
00C2 1903 00337 BTFSC STATUS,Z
00C3 01CD 00338 CLRF W_MIN_S
00C4 28AB 00339 GOTO LIM_PB
00340
00341 ;******************************************************************************
00C5 1830 00342 TYP_CL BTFSC SYS_REG,SYS_ON ;只有没有启动输出时有效
00C6 28DE 00343 GOTO KEY_CL_END
00C7 14B0 00344 BSF SYS_REG,NEW_DAT ;新数据标志
00345
00346
00C8 300A 00347 MOVLW D'10'
00C9 07C9 00348 ADDWF WORK_SEC,1 ;秒*10递减
00349
MPASM 03.20.02 Released USER.ASM 1-26-2007 13:22:51 PAGE 16
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00350
00CA 3000 00351 MOVLW D'0' ;0号参数:0--15
00CB 00E0 00352 MOVWF PAR_LIT
00CC 303C 00353 MOVLW D'60'
00354
00CD 0249 00355 SUBWF WORK_SEC,W
00CE 1C03 00356 BTFSS STATUS,C
00CF 28DE 00357 GOTO KEY_CL_END ;判别是否到上限
00358
00D0 0860 00359 MOVF PAR_LIT,W ;到上限了,则清到下限
00D1 00C9 00360 MOVWF WORK_SEC
00361
00D2 0848 00362 MOVF WORK_MIN,W
00D3 1D03 00363 BTFSS STATUS,Z
00D4 28DE 00364 GOTO KEY_CL_END
00D5 300A 00365 MOVLW D'10'
00D6 00C9 00366 MOVWF WORK_SEC
00D7 28DE 00367 GOTO KEY_CL_END
00368
Warning[205]: Found directive in column 1. (ENDIF)
00369 ENDIF
00370 ;********************************************************************************
00D8 1C30 00371 ON_CL BTFSS SYS_REG,SYS_ON
00D9 28DC 00372 GOTO SET_ON
00DA 1030 00373 BCF SYS_REG,SYS_ON
00DB 28DD 00374 GOTO KON_INIT
00DC 00375 SET_ON
00DC 1430 00376 BSF SYS_REG,SYS_ON
00DD 00377 KON_INIT
00DD 2230 00378 CALL INIT_CS
00DE 00379 KEY_CL_END
00DE 01C2 00380 CLRF K_VAL
00DF 0008 00381 RETURN
00382 ;*******************************************************************************************************
*
00383 ;输出监控
00E0 1129 00384 TASK2 BCF TIM_OV,TASKID2
00E1 1C30 00385 BTFSS SYS_REG,SYS_ON
00E2 2909 00386 GOTO TASK_END
00387
00E3 0848 00388 MOVF WORK_MIN,W
00E4 1D03 00389 BTFSS STATUS,Z
00E5 28F2 00390 GOTO SC_EN_ING
00391
00E6 0849 00392 MOVF WORK_SEC,W
00E7 1D03 00393 BTFSS STATUS,Z
00E8 28F2 00394 GOTO SC_EN_ING ;判别是否完成
00395
00E9 1030 00396 BCF SYS_REG,SYS_ON
00EA 1130 00397 BCF SYS_REG,SYS_TYP ;完成后,停止输出
00EB 1105 00398 BCF ON_OUT
00EC 1085 00399 BCF DL_LED
00ED 1005 00400 BCF DH_LED
MPASM 03.20.02 Released USER.ASM 1-26-2007 13:22:51 PAGE 17
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00EE 2230 00401 CALL INIT_CS ;初始化为上电状态
00EF 3002 00402 MOVLW TASKID2
00F0 21BA 00403 CALL DS_TASK ;挂起本任务
00F1 2909 00404 GOTO TASK_END
00405
00F2 1C30 00406 SC_EN_ING BTFSS SYS_REG,SYS_ON
00F3 1105 00407 BCF ON_OUT
00F4 1830 00408 BTFSC SYS_REG,SYS_ON ;没有完成,则根据设置输出
00F5 1505 00409 BSF ON_OUT
00410
00F6 084A 00411 MOVF TIM_SS,W
00F7 1D03 00412 BTFSS STATUS,Z
00F8 2900 00413 GOTO DW_PB_SC
00F9 3005 00414 MOVLW D'5'
00FA 00CA 00415 MOVWF TIM_SS ;闪烁间隔时间复位
00416
00FB 19B0 00417 BTFSC SYS_REG,DS_SS_SY
00FC 28FF 00418 GOTO DS_SS_WX
00FD 15B0 00419 BSF SYS_REG,DS_SS_SY
00FE 2900 00420 GOTO DW_PB_SC
00FF 11B0 00421 DS_SS_WX BCF SYS_REG,DS_SS_SY
0100 1D30 00422 DW_PB_SC BTFSS SYS_REG,SYS_TYP
0101 2906 00423 GOTO L_WD_SC
00424
0102 1085 00425 BCF DL_LED
0103 1405 00426 BSF DH_LED
0104 1585 00427 BSF DW_OUT
0105 2909 00428 GOTO TASK_END
00429
0106 1485 00430 L_WD_SC BSF DL_LED
0107 1005 00431 BCF DH_LED
0108 1185 00432 BCF DW_OUT
0109 0008 00433 TASK_END RETURN
00434 ;*******************************************************************************************************
*
00435 ;T0服务程序
010A 00436 INT_SERVER_T0
010A 1C30 00437 BTFSS SYS_REG,SYS_ON ;判别是否输出允许
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -