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

📄 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 (000h) == 0)
0045   018B               M         clrf    INTCON
                          M     else
                          M         movlw   low (000h)
                          M         movwf   INTCON
                          M     endif
                      00096 
                      00097 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS     00008       PIR1 = $00        ' clear interupt flags
                      00098         MOVE?CB 000h, PIR1
                          M         CHK?RP  PIR1
                          M     if (((PIR1)  & 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)
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 10


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M         bcf     STATUS, RP0
                          M         bcf     STATUS, RP1
                          M       endif
  00000000                M PREV_BANK = 0
                          M     endif
                          M 
                          M     if (((PIR1)  & 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 (((PIR1)  & 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 (((PIR1)  & 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 (000h) == 0)
0046   018C               M         clrf    PIR1
                          M     else
                          M         movlw   low (000h)
                          M         movwf   PIR1
                          M     endif
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 11


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00099 
                      00100 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS     00010       PortC.0 = 1
                      00101         MOVE?CT 001h, _PORTC_0
                          M         CHK?RP  PORTC
                          M     if (((PORTC) & 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 
                          M     if (((PORTC) & 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 (((PORTC) & 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 (((PORTC) & 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
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 12


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M       endif
                          M       if (PREV_BANK == 2)
                          M         bsf     STATUS, RP0
                          M       endif
                          M PREV_BANK = 3
                          M     endif
                          M     if (((001h) & 1) == 1)
0047   1407               M         bsf     PORTC,  000h
                          M     else
                          M         bcf     PORTC,  000h
                          M     endif
                      00102 
                      00103 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS     00012       TMR1H = $3C     ' load timer1 with $3CAF
                      00104         MOVE?CB 03Ch, TMR1H
                          M         CHK?RP  TMR1H
                          M     if (((TMR1H) & 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 
                          M     if (((TMR1H) & 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 (((TMR1H) & 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
MPASM 03.80 Released                        PBP_INTERPUT2.ASM   6-15-2008  11:45:37         PAGE 13


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                          M       endif
                          M PREV_BANK = 2
                          M     endif
                          M 
                          M     if (((TMR1H) & 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 (03Ch) == 0)
                          M         clrf    TMR1H
                          M     else
0048   303C               M         movlw   low (03Ch)
0049   008F               M         movwf   TMR1H
                          M     endif
                      00105 
                      00106 ; D:\MCD\PRACTISE\PBP_INTERPUT2.BAS     00013       TMR1L = $AF
                      00107         MOVE?CB 0AFh, TMR1L
                          M         CHK?RP  TMR1L
                          M     if (((TMR1L) & 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 
                          M     if (((TMR1L) & 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

⌨️ 快捷键说明

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