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

📄 cmd4.lst

📁 DALI系统主控制器的软件代码
💻 LST
📖 第 1 页 / 共 3 页
字号:
                      00223         subwf   FILE1, DIR
                      00224         endm    
                      00225 ; *****************************************************************************
                      00226 
                      00227 ; *** Branch if Carry *********************************************************
                      00228 brc     macro   WHERE
                      00229         btfsc   STATUS, C
                      00230         goto    WHERE
                      00231         endm
                      00232 ; *****************************************************************************
                      00233 
                      00234 ; *** Branch if No Carry ******************************************************
                      00235 brnc    macro   WHERE
                      00236         btfss   STATUS, C
                      00237         goto    WHERE
                      00238         endm
                      00239 ; *****************************************************************************
                      00240 
                      00241 ; *** OR file w/ file *********************************************************
                      00242 iorff   macro   FILE1, FILE2, DIR
                      00243         movf    FILE2, W
                      00244         iorwf   FILE1, DIR
                      00245         endm
                      00246 ; *****************************************************************************
                      00247 
                      00248 
                      00004 #include        user_mac.inc    ; Bring in application specific instructions
                      00001 #define dvron   bsf     PORTB, 3
                      00002 #define dvroff  bcf     PORTB, 3
                      00003 
                      00004 
                      00005 ; *****************************************************************************
                      00006 txdali  macro   MYREGH, MYREGL
                      00007         movff   MYREGH, DALI_H
                      00008         movff   MYREGL, DALI_L
                      00009         call    SendData
                      00010         endm
MPASM  5.20                          CMD4.ASM   11-3-2008  15:53:44         PAGE  6


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00011 ; *****************************************************************************
                      00012 
                      00013 
                      00014 ; *****************************************************************************
                      00015 rxdali  macro
                      00016         call    RecvData
                      00017         endm
                      00018 ; *****************************************************************************
                      00019 
                      00020 
                      00021 ; *****************************************************************************
                      00022 tx      macro   MYREG
                      00023         movff   MYREG, TXREG
                      00024         endm
                      00025 ; *****************************************************************************
                      00026 
                      00027 
                      00028 ; *****************************************************************************
                      00029 delay   macro   MYLIT
                      00030         movlf   high MYLIT, TMR1H
                      00031         movlf   low MYLIT, TMR1L
                      00032         call    DelayCyclesT1
                      00033         endm
                      00034 ; *****************************************************************************
                      00035 
                      00036 
                      00037 ; *****************************************************************************
                      00038 delayf  macro   MYFILE_H, MYFILE_L
                      00039         movff   MYFILE_H, TMR1H
                      00040         movff   MYFILE_L, TMR1L
                      00041         call    DelayCyclesT1
                      00042         endm
                      00043 ; *****************************************************************************
                      00044 
                      00045 
                      00046 ; *** Set DALI Bus High *******************************************************
                      00047 outhi   macro
                      00048         bcf     PORTB, 4                ; Turn off clamp
                      00049         goto    $ + 1
                      00050         bsf     PORTB, 5                ; Turn on output
                      00051 ;       goto    $ + 1
                      00052 ;       goto    $ + 1
                      00053         endm
                      00054 ; *****************************************************************************
                      00055 
                      00056 
                      00057 ; *** Set DALI Bus Low ********************************************************
                      00058 outlo   macro
                      00059         bcf     PORTB, 5                ; Turn off output driver
                      00060         goto    $ + 1                   ; Wait a little for gate discharge
                      00061         bsf     PORTB, 4                ; Turn on clamp
                      00062 ;       goto    $ + 1
                      00063         endm
MPASM  5.20                          CMD4.ASM   11-3-2008  15:53:44         PAGE  7


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00064 ; *****************************************************************************
                      00065 
                      00066 
                      00067 ; *** Emergency Shutdown ******************************************************
                      00068 esdwn   macro   WHERE
                      00069         bcf     PORTB, 3                ; Turn off output driver
                      00070         goto    WHERE
                      00071         endm
                      00072 ; *****************************************************************************
                      00073 
                      00074 
                      00075 ; *****************************************************************************
                      00076 wrtee   macro   MYREG
                      00077         banksel EEADR
                      00078         movwf   EEDATA                          ; Init the first values 
                      00079         movlw   TX_EDGE_DELAY_H
                      00080         sublw   MYREG
                      00081         movwf   EEADR 
                      00082         call    WriteEEData
                      00083         endm
                      00084 ; *****************************************************************************
                      00085 
                      00086 
                      00005 ; *****************************************************************************
                      00006 
                      00007 
                      00008 ; *****************************************************************************
  0000                00009         EXTERN  SendData
  0000                00010         EXTERN  RecvData
  0000                00011         EXTERN  DelayCyclesT1
                      00012 
  0000                00013         EXTERN  Main
  0000                00014         EXTERN  WREG1, DALI_H, DALI_L
  0000                00015         EXTERN  MILLISECONDS
  0000                00016         EXTERN  BRIDGE_STATUS
                      00017 
  0000                00018         EXTERN  WREG2, WREG3, WREG4, WREG5, WREG6
  0000                00019         EXTERN  SEARCH_H, SEARCH_M, SEARCH_L
                      00020 ; *****************************************************************************
                      00021 
                      00022 
                      00023 ; *****************************************************************************
                      00024 SETUP_DALI      CODE
                      00025 ; *****************************************************************************
0000                  00026 AutoFind
0000   1900           00027         btfsc   BRIDGE_STATUS, 2                ; Prevent transmission if overload
0001   2???           00028         goto    Main
                      00029 
                      00030         movlf   0x80, SEARCH_H
0002   3080               M         movlw   0x80
0003   00??               M         movwf   SEARCH_H
0004   01??           00031         clrf    SEARCH_M
0005   01??           00032         clrf    SEARCH_L
MPASM  5.20                          CMD4.ASM   11-3-2008  15:53:44         PAGE  8


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00033 
0006   01??           00034         clrf    WREG5
0007   01??           00035         clrf    WREG4
0008   01??           00036         clrf    WREG3
                      00037 
                      00038 Lp1     movlf   b'10110001', DALI_H             ; Transmit search address
0009   30B1               M         movlw   b'10110001'
000A   00??               M         movwf   DALI_H
                      00039         iorff   WREG5, SEARCH_H, W
000B   08??               M         movf    SEARCH_H, W
000C   04??               M         iorwf   WREG5, W
000D   00??           00040         movwf   DALI_L
                      00041 ;       txdali  DALI_H, DALI_L
                      00042 ;       delay   0xD8EF  
                      00043                         
                      00044         movlf   b'10110011', DALI_H
000E   30B3               M         movlw   b'10110011'
000F   00??               M         movwf   DALI_H
                      00045         iorff   WREG4, SEARCH_M, W
0010   08??               M         movf    SEARCH_M, W
0011   04??               M         iorwf   WREG4, W
0012   00??           00046         movwf   DALI_L
                      00047 ;       txdali  DALI_H, DALI_L
                      00048 ;       delay   0xD8EF
                      00049 
                      00050         movlf   b'10110111', DALI_H
0013   30B7               M         movlw   b'10110111'
0014   00??               M         movwf   DALI_H
                      00051         iorff   WREG3, SEARCH_L, W
0015   08??               M         movf    SEARCH_L, W
0016   04??               M         iorwf   WREG3, W
0017   00??           00052         movwf   DALI_L
                      00053 ;       txdali  DALI_H, DALI_L
                      00054 ;       delay   0xD8EF
                      00055 
                      00056         movlf   b'10101001', DALI_H             ; Compare search with random
0018   30A9               M         movlw   b'10101001'
0019   00??               M         movwf   DALI_H
001A   01??           00057         clrf    DALI_L
                      00058 ;       txdali  DALI_H, DALI_L
                      00059         
                      00060 ;       rxdali                                  ; Receive data from DALI bus
                      00061                         
001B   08??           00062         movf    DALI_L, W
                      00063         brnz    Jp3                             ; Jump if Search => Rand
001C   1D03               M         skifz
001D   2???               M         goto    Jp3
                      00064 
001E   1003           00065         bcf     STATUS, C                       ; if Search < Rand
001F   0D??           00066         rlf     SEARCH_L, F
0020   0D??           00067         rlf     SEARCH_M, F
0021   0D??           00068         rlf     SEARCH_H, F
                      00069 
MPASM  5.20                          CMD4.ASM   11-3-2008  15:53:44         PAGE  9


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0022   2???           00070         goto    Lp1
                      00071 
0023   1003           00072 Jp3     bcf     STATUS, C                       ; If Search => Rand
0024   0C??           00073         rrf     SEARCH_H, F
0025   0C??           00074         rrf     SEARCH_M, F
0026   0C??           00075         rrf     SEARCH_L, F
                      00076         
                      00077         iorff   WREG5, SEARCH_H, F
0027   08??               M         movf    SEARCH_H, W
0028   04??               M         iorwf   WREG5, F
                      00078         iorff   WREG4, SEARCH_M, F
0029   08??               M         movf    SEARCH_M, W
002A   04??               M         iorwf   WREG4, F
                      00079         iorff   WREG3, SEARCH_L, F
002B   08??               M         movf    SEARCH_L, W
002C   04??               M         iorwf   WREG3, F
                      00080         
002D   01??           00081         clrf    SEARCH_H
002E   01??           00082         clrf    SEARCH_M
                      00083         movlf   0x01, SEARCH_L
002F   3001               M         movlw   0x01
0030   00??               M         movwf   SEARCH_L
                      00084 
0031   2???           00085         goto    Lp1
                      00086         
                      00087 Jp4     movff   WREG5, SEARCH_H
0032   08??               M         movf    WREG5, W
0033   00??               M         movwf   SEARCH_H
                      00088         movff   WREG4, SEARCH_M
0034   08??               M         movf    WREG4, W
0035   00??               M         movwf   SEARCH_M
                      00089         movff   WREG3, SEARCH_L
0036   08??               M         movf    WREG3, W
0037   00??               M         movwf   SEARCH_L
                      00090 
0038   0008           00091         return
                      00092 ; *****************************************************************************
                      00093 

⌨️ 快捷键说明

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