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

📄 pbp_interput2.lst

📁 使用PIC Basic Pro语言开发PIC单片机应用程序时使用Timer中断的应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
                          M       if (PREV_BANK == 2)
                          M         bsf     STATUS, RP0
                          M       endif
                          M PREV_BANK = 3
                          M     endif
                          M     if (low (001h) == 0)
                          M         clrf    PIE1
                          M     else
0051   3001               M         movlw   low (001h)
0052   008C               M         movwf   PIE1
                          M     endif
                      00117 
                      00118 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS     00018       on interrupt goto ChangeDisplay
                      00119         ONINT?LL        _ChangeDisplay, L00001
  0000                    M     local label
0053   178B               M         bsf     INTCON, GIE
                          M         L?GOTO  label
                          M     if ($ == (_25label))
                          M         CLRWDT?
                          M     endif
                          M 
                          M         RST?RP
                          M     if ((PREV_BANK & 1) != 0)
0054   1283               M         bcf     STATUS, RP0
                          M     endif
                          M     if ((PREV_BANK & 2) != 0)
                          M         bcf     STATUS, RP1
                          M     endif
  00000000                M PREV_BANK = 0
                          M 
                          M     if ((_25label) < 1)
                          M       if (CODE_SIZE >= 4)
                          M         if (((_25label) & 800h) == 0)
                          M         bcf     PCLATH, 3
                          M         else
                          M         bsf     PCLATH, 3
                          M         endif
                          M       endif
                          M       if (CODE_SIZE == 8)
                          M         if (((_25label) & 1000h) == 0)
                          M         bcf     PCLATH, 4
                          M         else
                          M         bsf     PCLATH, 4
                          M         endif
                          M       endif
                          M     else
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 19


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M       if ((_25label) > $)
                          M         if (CODE_SIZE >= 4)
                          M           if (((_25label) & 800h) == 0)
0055   118A               M         bcf     PCLATH, 3
                          M           else
                          M         bsf     PCLATH, 3
                          M           endif
                          M         endif
                          M         if (CODE_SIZE == 8)
                          M           if (((_25label) & 1000h) == 0)
0056   120A               M         bcf     PCLATH, 4
                          M           else
                          M         bsf     PCLATH, 4
                          M           endif
                          M         endif
                          M       else
                          M         if (CODE_SIZE >= 4)
                          M           if (((_25label) & 1800h) == 0)
                          M         clrf    PCLATH
                          M           else
                          M             if (((_25label) & 800h) == 0)
                          M         bcf     PCLATH, 3
                          M             else
                          M         bsf     PCLATH, 3
                          M             endif
                          M             if (CODE_SIZE == 8)
                          M               if (((_25label) & 1000h) == 0)
                          M         bcf     PCLATH, 4
                          M               else
                          M         bsf     PCLATH, 4
                          M               endif
                          M             endif
                          M           endif
                          M         endif
                          M       endif
                          M     endif
                          M 
0057   285D               M         goto    _25label
0058   1B8B               M L00001  btfsc   INTCON, GIE
0059   0008               M         return
                          M         L?GOTO  _ChangeDisplay
                          M     if ($ == (_ChangeDisplay))
                          M         CLRWDT?
                          M     endif
                          M 
                          M         RST?RP
                          M     if ((PREV_BANK & 1) != 0)
                          M         bcf     STATUS, RP0
                          M     endif
                          M     if ((PREV_BANK & 2) != 0)
                          M         bcf     STATUS, RP1
                          M     endif
  00000000                M PREV_BANK = 0
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 20


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M 
                          M     if ((_ChangeDisplay) < 1)
                          M       if (CODE_SIZE >= 4)
                          M         if (((_ChangeDisplay) & 800h) == 0)
                          M         bcf     PCLATH, 3
                          M         else
                          M         bsf     PCLATH, 3
                          M         endif
                          M       endif
                          M       if (CODE_SIZE == 8)
                          M         if (((_ChangeDisplay) & 1000h) == 0)
                          M         bcf     PCLATH, 4
                          M         else
                          M         bsf     PCLATH, 4
                          M         endif
                          M       endif
                          M     else
                          M       if ((_ChangeDisplay) > $)
                          M         if (CODE_SIZE >= 4)
                          M           if (((_ChangeDisplay) & 800h) == 0)
005A   118A               M         bcf     PCLATH, 3
                          M           else
                          M         bsf     PCLATH, 3
                          M           endif
                          M         endif
                          M         if (CODE_SIZE == 8)
                          M           if (((_ChangeDisplay) & 1000h) == 0)
005B   120A               M         bcf     PCLATH, 4
                          M           else
                          M         bsf     PCLATH, 4
                          M           endif
                          M         endif
                          M       else
                          M         if (CODE_SIZE >= 4)
                          M           if (((_ChangeDisplay) & 1800h) == 0)
                          M         clrf    PCLATH
                          M           else
                          M             if (((_ChangeDisplay) & 800h) == 0)
                          M         bcf     PCLATH, 3
                          M             else
                          M         bsf     PCLATH, 3
                          M             endif
                          M             if (CODE_SIZE == 8)
                          M               if (((_ChangeDisplay) & 1000h) == 0)
                          M         bcf     PCLATH, 4
                          M               else
                          M         bsf     PCLATH, 4
                          M               endif
                          M             endif
                          M           endif
                          M         endif
                          M       endif
                          M     endif
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 21


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M 
005C   2866               M         goto    _ChangeDisplay
005D                      M label
                      00120 
                      00121 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS     00020   loop: 
                      00122 
                      00123         LABEL?L _loop   
                          M         RST?RP
                          M     if ((PREV_BANK & 1) != 0)
                          M         bcf     STATUS, RP0
                          M     endif
                          M     if ((PREV_BANK & 2) != 0)
                          M         bcf     STATUS, RP1
                          M     endif
  00000000                M PREV_BANK = 0
                          M     ifdef PM_USED
                          M         LALL
                          M _loop
                          M         XALL
                          M     else
005D                      M _loop
                          M     endif
                      00124 
                      00125 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS     00021       pause 1
                      00126         ICALL?L L00001
                          M         L?CALL  L00001
                          M         RST?RP
                          M     if ((PREV_BANK & 1) != 0)
                          M         bcf     STATUS, RP0
                          M     endif
                          M     if ((PREV_BANK & 2) != 0)
                          M         bcf     STATUS, RP1
                          M     endif
  00000000                M PREV_BANK = 0
                          M 
                          M     if ((L00001) < 1)
                          M       if (CODE_SIZE >= 4)
                          M         if (((L00001) & 800h) == 0)
                          M         bcf     PCLATH, 3
                          M         else
                          M         bsf     PCLATH, 3
                          M         endif
                          M       endif
                          M       if (CODE_SIZE == 8)
                          M         if (((L00001) & 1000h) == 0)
                          M         bcf     PCLATH, 4
                          M         else
                          M         bsf     PCLATH, 4
                          M         endif
                          M       endif
                          M     else
                          M       if ((L00001) > $)
                          M         if (CODE_SIZE >= 4)
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 22


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M           if (((L00001) & 800h) == 0)
                          M         bcf     PCLATH, 3
                          M           else
                          M         bsf     PCLATH, 3
                          M           endif
                          M         endif
                          M         if (CODE_SIZE == 8)
                          M           if (((L00001) & 1000h) == 0)
                          M         bcf     PCLATH, 4
                          M           else
                          M         bsf     PCLATH, 4
                          M           endif
                          M         endif
                          M       else
                          M         if (CODE_SIZE >= 4)
                          M           if (((L00001) & 1800h) == 0)
005D   018A               M         clrf    PCLATH
                          M           else
                          M             if (((L00001) & 800h) == 0)
                          M         bcf     PCLATH, 3
                          M             else
                          M         bsf     PCLATH, 3
                          M             endif
                          M 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -