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

📄 delay.lst

📁 DALI系统主控制器的软件代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
MPASM  5.20                         DELAY.ASM   11-3-2008  15:53:47         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00001 ; *************************************************************************** ;
                      00002 ; Delay generator program by Ross Fosler                                      ;
                      00003 ; v1.00 02/15/01   ... created ...                                            ;
                      00004 ;                                                                             ;
                      00005 ; This routine receives data according to the DALI specifications.            ;
                      00006 ;                                                                             ;
                      00007 ; *************************************************************************** ;
                      00008 
                      00009 
                      00010 ; *****************************************************************************
                      00011 #include        p16f628.inc     ; Standard include file
                      00001         LIST
                      00002 ; P16F628.INC  Standard Header File, Version 1.01    Microchip Technology, Inc.
                      00258         LIST
                      00012 #include        instruct.inc    ; Bring in complex instructions
                      00001 ; *****************************************************************************
                      00002 #define skifz           btfss   STATUS, Z       ; Skip if zero
                      00003 #define skifnz          btfsc   STATUS, Z       ; Skip if not zero
                      00004 ; *****************************************************************************
                      00005 
                      00006 ; *** Branch if Zero **********************************************************
                      00007 brz     macro   WHERE
                      00008         skifnz
                      00009         goto    WHERE
                      00010         endm
                      00011 ; *****************************************************************************
                      00012 
                      00013 ; *** Branch if Not Zero ******************************************************
                      00014 brnz    macro   WHERE
                      00015         skifz
                      00016         goto    WHERE
                      00017         endm
                      00018 ; *****************************************************************************
                      00019 
                      00020 ; *** Wait Until Set **********************************************************
                      00021 wus     macro   WHO, BIT
                      00022         btfss   WHO, BIT
                      00023         goto    $ - 1
                      00024         endm
                      00025 ; *****************************************************************************
                      00026 
                      00027 ; *** Wait Until Clear ********************************************************
                      00028 wuc     macro   WHO, BIT
                      00029         btfsc   WHO, BIT
                      00030         goto    $ - 1
                      00031         endm
                      00032 ; *****************************************************************************
                      00033 
                      00034 ; *** Branch if Bit is Set ****************************************************
                      00035 brset   macro   WHO, BIT, WHERE 
                      00036         btfsc   WHO, BIT
                      00037         goto    WHERE
                      00038         endm
MPASM  5.20                         DELAY.ASM   11-3-2008  15:53:47         PAGE  2


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00039 ; *****************************************************************************
                      00040 
                      00041 ; *** Branch if Bit is Clear **************************************************
                      00042 brclr   macro   WHO, BIT, WHERE
                      00043         btfss   WHO, BIT
                      00044         goto    WHERE
                      00045         endm    
                      00046 ; *****************************************************************************
                      00047 
                      00048 ; *** Branch if Negative ******************************************************
                      00049 brn     macro   WHERE
                      00050         btfss   STATUS, C
                      00051         goto    WHERE
                      00052         endm
                      00053 ; *****************************************************************************
                      00054 
                      00055 ; *** If FILE1 > FILE2 then Branch ********************************************
                      00056 cffbig  macro   FILE1, FILE2, WHERE
                      00057         movf    FILE1, W
                      00058         subwf   FILE2, W
                      00059         btfss   STATUS, C
                      00060         goto    WHERE
                      00061         endm
                      00062 ; *****************************************************************************
                      00063 
                      00064 ; *** If FILE1 < FILE2 then Branch ********************************************
                      00065 cffbis  macro   FILE1, FILE2, WHERE
                      00066         movf    FILE2, W
                      00067         subwf   FILE1, W
                      00068         btfss   STATUS, C
                      00069         goto    WHERE
                      00070         endm
                      00071 ; *****************************************************************************
                      00072 
                      00073 ; *** If FILE1 = FILE2 then Branch ********************************************
                      00074 cffbie  macro   FILE1, FILE2, WHERE
                      00075         movf    FILE2, W
                      00076         subwf   FILE1, W
                      00077         btfsc   STATUS, Z
                      00078         goto    WHERE
                      00079         endm
                      00080 ; *****************************************************************************
                      00081 
                      00082 ; *** If FILE1 != FILE2 then Branch *******************************************
                      00083 cffbin  macro   FILE1, FILE2, WHERE
                      00084         movf    FILE2, W
                      00085         subwf   FILE1, W
                      00086         btfss   STATUS, Z
                      00087         goto    WHERE
                      00088         endm
                      00089 ; *****************************************************************************
                      00090 
                      00091 ; *** If FILE1 > LIT1 then Branch *********************************************
MPASM  5.20                         DELAY.ASM   11-3-2008  15:53:47         PAGE  3


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00092 cflbig  macro   FILE1, LIT1, WHERE
                      00093         movf    FILE1, W
                      00094         sublw   LIT1
                      00095         btfss   STATUS, C
                      00096         goto    WHERE
                      00097         endm
                      00098 ; *****************************************************************************
                      00099 
                      00100 ; *** If FILE1 < LIT1 then Branch *********************************************
                      00101 cflbis  macro   FILE1, LIT1, WHERE
                      00102         movlw   LIT1
                      00103         subwf   FILE1, W
                      00104         btfss   STATUS, C
                      00105         goto    WHERE
                      00106         endm
                      00107 ; *****************************************************************************
                      00108 
                      00109 ; *** If FILE1 = LIT1 then Branch *********************************************
                      00110 cflbie  macro   FILE1, LIT1, WHERE
                      00111         movf    FILE1, W
                      00112         sublw   LIT1
                      00113         btfsc   STATUS, Z
                      00114         goto    WHERE
                      00115         endm
                      00116 ; *****************************************************************************
                      00117 
                      00118 ; *** If FILE1 != LIT1 then Branch ********************************************
                      00119 cflbin  macro   FILE1, LIT1, WHERE
                      00120         movf    FILE1, W
                      00121         sublw   LIT1
                      00122         btfss   STATUS, Z
                      00123         goto    WHERE
                      00124         endm
                      00125 ; *****************************************************************************
                      00126 
                      00127 ; *** If FILE1 > FILE2 then Branch ********************************************
                      00128 cffcig  macro   FILE1, FILE2, WHERE
                      00129         movf    FILE1, W
                      00130         subwf   FILE2, W
                      00131         btfss   STATUS, C
                      00132         call    WHERE
                      00133         endm
                      00134 ; *****************************************************************************
                      00135 
                      00136 ; *** If FILE1 < FILE2 then Branch ********************************************
                      00137 cffcis  macro   FILE1, FILE2, WHERE
                      00138         movf    FILE2, W
                      00139         subwf   FILE1, W
                      00140         btfss   STATUS, C
                      00141         call    WHERE
                      00142         endm
                      00143 ; *****************************************************************************
                      00144 
MPASM  5.20                         DELAY.ASM   11-3-2008  15:53:47         PAGE  4


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00145 ; *** If FILE1 = FILE2 then Branch ********************************************
                      00146 cffcie  macro   FILE1, FILE2, WHERE
                      00147         movf    FILE2, W
                      00148         subwf   FILE1, W
                      00149         btfsc   STATUS, Z
                      00150         call    WHERE
                      00151         endm
                      00152 ; *****************************************************************************
                      00153 
                      00154 ; *** If FILE1 != FILE2 then Branch *******************************************
                      00155 cffcin  macro   FILE1, FILE2, WHERE
                      00156         movf    FILE2, W
                      00157         subwf   FILE1, W
                      00158         btfss   STATUS, Z
                      00159         call    WHERE
                      00160         endm
                      00161 ; *****************************************************************************
                      00162 
                      00163 ; *** If FILE1 > LIT1 then Branch *********************************************
                      00164 cflcig  macro   FILE1, LIT1, WHERE
                      00165         movf    FILE1, W
                      00166         sublw   LIT1
                      00167         btfss   STATUS, C
                      00168         call    WHERE
                      00169         endm
                      00170 ; *****************************************************************************
                      00171 
                      00172 ; *** If FILE1 < LIT1 then Branch *********************************************
                      00173 cflcis  macro   FILE1, LIT1, WHERE
                      00174         movlw   LIT1
                      00175         subwf   FILE1, W
                      00176         btfss   STATUS, C
                      00177         call    WHERE
                      00178         endm
                      00179 ; *****************************************************************************
                      00180 
                      00181 ; *** If FILE1 = LIT1 then Branch *********************************************
                      00182 cflcie  macro   FILE1, LIT1, WHERE
                      00183         movf    FILE1, W
                      00184         sublw   LIT1
                      00185         btfsc   STATUS, Z
                      00186         call    WHERE
                      00187         endm
                      00188 ; *****************************************************************************
                      00189 
                      00190 ; *** If FILE1 != LIT1 then Branch ********************************************
                      00191 cflcin  macro   FILE1, LIT1, WHERE
                      00192         movf    FILE1, W
                      00193         sublw   LIT1
                      00194         btfss   STATUS, Z
                      00195         call    WHERE
                      00196         endm
                      00197 ; *****************************************************************************
MPASM  5.20                         DELAY.ASM   11-3-2008  15:53:47         PAGE  5


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00198 
                      00199 ; *****************************************************************************
                      00200 movff   macro   HERE, THERE
                      00201         movf    HERE, W
                      00202         movwf   THERE
                      00203         endm
                      00204 ; *****************************************************************************
                      00205 
                      00206 ; *****************************************************************************
                      00207 movlf   macro   DAT, THERE
                      00208         movlw   DAT
                      00209         movwf   THERE
                      00210         endm
                      00211 ; *****************************************************************************
                      00212 
                      00213 ; *** Add Literal to File *****************************************************
                      00214 addlf   macro   LIT1, FILE1, DIR
                      00215         movlw   LIT1
                      00216         addwf   FILE1, DIR
                      00217         endm    
                      00218 ; *****************************************************************************
                      00219 
                      00220 ; *** Subtract Literal from File **********************************************
                      00221 sublf   macro   LIT1, FILE1, DIR
                      00222         movlw   LIT1
                      00223         subwf   FILE1, DIR
                      00224         endm    
                      00225 ; *****************************************************************************

⌨️ 快捷键说明

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