pbp_interput2.lst

来自「使用PIC Basic Pro语言开发PIC单片机应用程序时使用Timer中断的」· LST 代码 · 共 1,269 行 · 第 1/5 页

LST
1,269
字号
                          M       endif
                          M       if (PREV_BANK == 3)
                          M         bcf     STATUS, RP1
                          M       endif
                          M PREV_BANK = 1
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 14


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M     endif
                          M 
                          M     if (((TMR1L) & 180h) == 100h)
                          M       if (PREV_BANK == 0)
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 1)
                          M         bcf     STATUS, RP0
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 3)
                          M         bcf     STATUS, RP0
                          M       endif
                          M PREV_BANK = 2
                          M     endif
                          M 
                          M     if (((TMR1L) & 180h) == 180h)
                          M       if (PREV_BANK == 0)
                          M         bsf     STATUS, RP0
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 1)
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 2)
                          M         bsf     STATUS, RP0
                          M       endif
                          M PREV_BANK = 3
                          M     endif
                          M     if (low (0AFh) == 0)
                          M         clrf    TMR1L
                          M     else
004A   30AF               M         movlw   low (0AFh)
004B   008E               M         movwf   TMR1L
                          M     endif
                      00108 
                      00109 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS     00014       T1CON = %00000001 ' 开启TMR1, 预分频
                      00110         MOVE?CB 001h, T1CON
                          M         CHK?RP  T1CON
                          M     if (((T1CON) & 180h) == 0)
                          M       if (PREV_BANK == 1)
                          M         bcf     STATUS, RP0
                          M       endif
                          M       if (PREV_BANK == 2)
                          M         bcf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 3)
                          M         bcf     STATUS, RP0
                          M         bcf     STATUS, RP1
                          M       endif
  00000000                M PREV_BANK = 0
                          M     endif
                          M 
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 15


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M     if (((T1CON) & 180h) == 80h)
                          M       if (PREV_BANK == 0)
                          M         bsf     STATUS, RP0
                          M       endif
                          M       if (PREV_BANK == 2)
                          M         bsf     STATUS, RP0
                          M         bcf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 3)
                          M         bcf     STATUS, RP1
                          M       endif
                          M PREV_BANK = 1
                          M     endif
                          M 
                          M     if (((T1CON) & 180h) == 100h)
                          M       if (PREV_BANK == 0)
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 1)
                          M         bcf     STATUS, RP0
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 3)
                          M         bcf     STATUS, RP0
                          M       endif
                          M PREV_BANK = 2
                          M     endif
                          M 
                          M     if (((T1CON) & 180h) == 180h)
                          M       if (PREV_BANK == 0)
                          M         bsf     STATUS, RP0
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 1)
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 2)
                          M         bsf     STATUS, RP0
                          M       endif
                          M PREV_BANK = 3
                          M     endif
                          M     if (low (001h) == 0)
                          M         clrf    T1CON
                          M     else
004C   3001               M         movlw   low (001h)
004D   0090               M         movwf   T1CON
                          M     endif
                      00111 
                      00112 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS     00015           INTCON = $C0    ' 开启全局中断
                      00113         MOVE?CB 0C0h, INTCON
                          M         CHK?RP  INTCON
                          M     if (((INTCON) & 180h) == 0)
                          M       if (PREV_BANK == 1)
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 16


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M         bcf     STATUS, RP0
                          M       endif
                          M       if (PREV_BANK == 2)
                          M         bcf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 3)
                          M         bcf     STATUS, RP0
                          M         bcf     STATUS, RP1
                          M       endif
  00000000                M PREV_BANK = 0
                          M     endif
                          M 
                          M     if (((INTCON) & 180h) == 80h)
                          M       if (PREV_BANK == 0)
                          M         bsf     STATUS, RP0
                          M       endif
                          M       if (PREV_BANK == 2)
                          M         bsf     STATUS, RP0
                          M         bcf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 3)
                          M         bcf     STATUS, RP1
                          M       endif
                          M PREV_BANK = 1
                          M     endif
                          M 
                          M     if (((INTCON) & 180h) == 100h)
                          M       if (PREV_BANK == 0)
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 1)
                          M         bcf     STATUS, RP0
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 3)
                          M         bcf     STATUS, RP0
                          M       endif
                          M PREV_BANK = 2
                          M     endif
                          M 
                          M     if (((INTCON) & 180h) == 180h)
                          M       if (PREV_BANK == 0)
                          M         bsf     STATUS, RP0
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 1)
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 2)
                          M         bsf     STATUS, RP0
                          M       endif
                          M PREV_BANK = 3
                          M     endif
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 17


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M     if (low (0C0h) == 0)
                          M         clrf    INTCON
                          M     else
004E   30C0               M         movlw   low (0C0h)
004F   008B               M         movwf   INTCON
                          M     endif
                      00114 
                      00115 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS     00016       PIE1 = $01      ' 开启TMR1中断 
                      00116         MOVE?CB 001h, PIE1
                          M         CHK?RP  PIE1
                          M     if (((PIE1)  & 180h) == 0)
                          M       if (PREV_BANK == 1)
                          M         bcf     STATUS, RP0
                          M       endif
                          M       if (PREV_BANK == 2)
                          M         bcf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 3)
                          M         bcf     STATUS, RP0
                          M         bcf     STATUS, RP1
                          M       endif
                          M PREV_BANK = 0
                          M     endif
                          M 
                          M     if (((PIE1)  & 180h) == 80h)
                          M       if (PREV_BANK == 0)
0050   1683               M         bsf     STATUS, RP0
                          M       endif
                          M       if (PREV_BANK == 2)
                          M         bsf     STATUS, RP0
                          M         bcf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 3)
                          M         bcf     STATUS, RP1
                          M       endif
  00000001                M PREV_BANK = 1
                          M     endif
                          M 
                          M     if (((PIE1)  & 180h) == 100h)
                          M       if (PREV_BANK == 0)
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 1)
                          M         bcf     STATUS, RP0
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 3)
                          M         bcf     STATUS, RP0
                          M       endif
                          M PREV_BANK = 2
                          M     endif
                          M 
                          M     if (((PIE1)  & 180h) == 180h)
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 18


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M       if (PREV_BANK == 0)
                          M         bsf     STATUS, RP0
                          M         bsf     STATUS, RP1
                          M       endif
                          M       if (PREV_BANK == 1)
                          M         bsf     STATUS, RP1
                          M       endif

⌨️ 快捷键说明

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