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

📄 pbp_interput2.lst

📁 使用PIC Basic Pro语言开发PIC单片机应用程序时使用Timer中断的应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
                          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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -