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

📄 pbp_interput2.mac

📁 使用PIC Basic Pro语言开发PIC单片机应用程序时使用Timer中断的应用实例
💻 MAC
字号:

	NOLIST
; PicBasic Pro Compiler 2.46, (c) 1998, 2005 microEngineering Labs, Inc. All Rights Reserved.  

LABEL?L macro Label
        RST?RP
    ifdef PM_USED
        LALL
Label
        XALL
    else
Label
    endif
    endm

ADD?WCW macro Win, Cin, Wout
    if (Wout == Win)
      if (Cin == 1)
        CHK?RP  Wout
        incf    Wout, F
        btfsc   STATUS, Z
        incf    Wout + 1, F
      else  
        movlw   low (Cin)
        CHK?RP  Wout
        addwf   Wout, F
        if (((Cin) >> 8) == 0)
        btfsc   STATUS, C
        incf    Wout + 1, F
        else
        movlw   (Cin) >> 8
        btfsc   STATUS, C
        addlw   1
        addwf   Wout + 1, F
        endif
      endif
    else
        movlw   low (Cin)
        CHK?RP  Win
        addwf   Win, W
        MOVE?AB Wout
      if (((Cin) >> 8) == 0)
        MOVE?BA Win + 1
        btfsc   STATUS, C
        addlw   1
        MOVE?AB Wout + 1
      else
        movlw   (Cin) >> 8
        btfsc   STATUS, C
        addlw   1
        CHK?RP  Win
        addwf   Win + 1, W
        MOVE?AB Wout + 1
      endif
    endif
    endm

CMPNE?WCL macro Win, Cin, Label
        MOVE?WW Win, R0
        MOVE?CB (Cin) >> 8, R1 + 1
        MOVE?CA low (Cin)
        L?CALL  CMPNE
        BIT?GOTO 0, STATUS, Z, Label
    endm
CMPNE_USED = 1

DISABLE? macro
    endm

ENABLE? macro
    endm

END? macro
    local loop
loop    sleep
        L?GOTO  loop
    endm

GOTO?L macro Label
        L?GOTO  Label
    endm

ICALL?L macro Label
        L?CALL  Label
    endm

ONINT?LL macro Inthand, Intchk
    local label
        bsf     INTCON, GIE
        L?GOTO  label
Intchk  btfsc   INTCON, GIE
        return
        L?GOTO  Inthand
label
    endm
ONINT_USED = 1

PAUSE?C macro Cin
    if (high (Cin) == 0)
        MOVE?CA Cin
        L?CALL  PAUSE
    else
        MOVE?CB high (Cin), R1 + 1
        MOVE?CA low (Cin)
        L?CALL  PAUSEL
    endif
    endm
PAUSE_USED = 1

RESUME? macro
        RST?RP
        retfie
    endm

TOGGLE?T macro Regin, Bitin
        BIT?FLIP Regin, Bitin
        MOVE?CT 0, ((Regin) + 80h), Bitin
    endm


	LIST

⌨️ 快捷键说明

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