⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user.lst

📁 基于PIC16F72的超声波清洗机源程序(汇编).
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -