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

📄 cmd3.lst

📁 DALI系统主控制器的软件代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
                      00051 
                      00052 
                      00053         txdali  DALI_H, DALI_L                  ; Transmit data on DALI bus
                          M         movff   DALI_H, DALI_H
000A   08??               M         movf    DALI_H, W
000B   00??               M         movwf   DALI_H
                          M         movff   DALI_L, DALI_L
000C   08??               M         movf    DALI_L, W
000D   00??               M         movwf   DALI_L
000E   2???               M         call    SendData
                      00054 
000F   01??           00055         clrf    MILLISECONDS                    ; Wait at least 10ms
                      00056 Lp1     cffbis  MILLISECONDS, DOUBLE_SEND_DELAY, Lp1 
0010   08??               M         movf    DOUBLE_SEND_DELAY, W
0011   02??               M         subwf   MILLISECONDS, W
0012   1C03               M         btfss   STATUS, C
0013   2???               M         goto    Lp1
                      00057         
                      00058         txdali  DALI_H, DALI_L                  ; Transmit again
                          M         movff   DALI_H, DALI_H
0014   08??               M         movf    DALI_H, W
0015   00??               M         movwf   DALI_H
                          M         movff   DALI_L, DALI_L
0016   08??               M         movf    DALI_L, W
0017   00??               M         movwf   DALI_L
0018   2???               M         call    SendData
                      00059         
0019   2???           00060         goto    Main
                      00061 
  0000                00062         GLOBAL  DoubleSend
MPASM  5.20                          CMD3.ASM   11-3-2008  15:53:43         PAGE  9


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00063 ; *****************************************************************************
                      00064 
                      00065 
                      00066 ; *****************************************************************************
001A                  00067 SendReceive
                      00068 
001A   1900           00069         btfsc   BRIDGE_STATUS, 2                ; Prevent transmission if overload
001B   2???           00070         goto    Main
                      00071 
                      00072 
001C   1080           00073         bcf     BRIDGE_STATUS, 1                ; Clear error flag
                      00074 
                      00075         txdali  DALI_H, DALI_L                  ; Transmit data on DALI bus
                          M         movff   DALI_H, DALI_H
001D   08??               M         movf    DALI_H, W
001E   00??               M         movwf   DALI_H
                          M         movff   DALI_L, DALI_L
001F   08??               M         movf    DALI_L, W
0020   00??               M         movwf   DALI_L
0021   2???               M         call    SendData
                      00076         
                      00077         rxdali                                  ; Receive data from DALI bus
0022   2???               M         call    RecvData
                      00078                         
0023   00??           00079         movwf   WREG1                           ; Check for receive error
0024   08??           00080         movf    WREG1, F
                      00081         brz     Jp1     
0025   1903               M         skifnz
0026   2???               M         goto    Jp1
                      00082 
0027   1480           00083         bsf     BRIDGE_STATUS, 1                ; Set receive error flag
                      00084 
0028   01??           00085         clrf    WREG1
                      00086         tx      WREG1                           ; Transmit 'no recv code'
                          M         movff   WREG1, TXREG
0029   08??               M         movf    WREG1, W
002A   0099               M         movwf   TXREG
002B   2???           00087         goto    Main
                      00088 
                      00089 Jp1     movlf   0xFF, WREG1
002C   30FF               M         movlw   0xFF
002D   00??               M         movwf   WREG1
                      00090         tx      WREG1                           ; Transmit 'recv code'  
                          M         movff   WREG1, TXREG
002E   08??               M         movf    WREG1, W
002F   0099               M         movwf   TXREG
                      00091 
                      00092         delay   0x3CAF                          ; Wait for 100ms
                          M         movlf   high 0x3CAF, TMR1H
0030   303C               M         movlw   high 0x3CAF
0031   008F               M         movwf   TMR1H
                          M         movlf   low 0x3CAF, TMR1L
0032   30AF               M         movlw   low 0x3CAF
MPASM  5.20                          CMD3.ASM   11-3-2008  15:53:43         PAGE 10


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0033   008E               M         movwf   TMR1L
0034   2???               M         call    DelayCyclesT1
                      00093         delay   0x3CAF  
                          M         movlf   high 0x3CAF, TMR1H
0035   303C               M         movlw   high 0x3CAF
0036   008F               M         movwf   TMR1H
                          M         movlf   low 0x3CAF, TMR1L
0037   30AF               M         movlw   low 0x3CAF
0038   008E               M         movwf   TMR1L
0039   2???               M         call    DelayCyclesT1
                      00094 
                      00095         tx      DALI_L                          ; Send via RS232
                          M         movff   DALI_L, TXREG
003A   08??               M         movf    DALI_L, W
003B   0099               M         movwf   TXREG
003C   2???           00096         goto    Main
                      00097 
  0000                00098         GLOBAL  SendReceive
                      00099 ; *****************************************************************************
                      00100 
                      00101 
                      00102 ; *****************************************************************************
003D                  00103 SendSequence
                      00104 
003D   1900           00105         btfsc   BRIDGE_STATUS, 2                ; Prevent transmission if overload
003E   2???           00106         goto    Main
                      00107 
                      00108         txdali  DALI_H_BAK1, DALI_L_BAK1        ; Transmit data on DALI bus
                          M         movff   DALI_H_BAK1, DALI_H
003F   08??               M         movf    DALI_H_BAK1, W
0040   00??               M         movwf   DALI_H
                          M         movff   DALI_L_BAK1, DALI_L
0041   08??               M         movf    DALI_L_BAK1, W
0042   00??               M         movwf   DALI_L
0043   2???               M         call    SendData
                      00109 
0044   08??           00110         movf    MILLISECONDS, W                 ; Wait 10ms
0045   07??           00111         addwf   SEQUENCE_DELAY, W
0046   00??           00112         movwf   WREG1
                      00113 Lp2     cffbin  WREG1, MILLISECONDS, Lp2
0047   08??               M         movf    MILLISECONDS, W
0048   02??               M         subwf   WREG1, W
0049   1D03               M         btfss   STATUS, Z
004A   2???               M         goto    Lp2
                      00114         
                      00115         txdali  DALI_H_BAK2, DALI_H_BAK2        ; Transmit next word in sequence
                          M         movff   DALI_H_BAK2, DALI_H
004B   08??               M         movf    DALI_H_BAK2, W
004C   00??               M         movwf   DALI_H
                          M         movff   DALI_H_BAK2, DALI_L
004D   08??               M         movf    DALI_H_BAK2, W
004E   00??               M         movwf   DALI_L
004F   2???               M         call    SendData
MPASM  5.20                          CMD3.ASM   11-3-2008  15:53:43         PAGE 11


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00116 
0050   08??           00117         movf    MILLISECONDS, W                 ; Wait 10ms
0051   07??           00118         addwf   SEQUENCE_DELAY, W
0052   00??           00119         movwf   WREG1
                      00120 Lp3     cffbin  WREG1, MILLISECONDS, Lp3
0053   08??               M         movf    MILLISECONDS, W
0054   02??               M         subwf   WREG1, W
0055   1D03               M         btfss   STATUS, Z
0056   2???               M         goto    Lp3
                      00121         
                      00122         txdali  DALI_H_BAK3, DALI_H_BAK3        ; Transmit last word in sequence
                          M         movff   DALI_H_BAK3, DALI_H
0057   08??               M         movf    DALI_H_BAK3, W
0058   00??               M         movwf   DALI_H
                          M         movff   DALI_H_BAK3, DALI_L
0059   08??               M         movf    DALI_H_BAK3, W
005A   00??               M         movwf   DALI_L
005B   2???               M         call    SendData
                      00123 
005C   2???           00124         goto    Main
                      00125 
  0000                00126         GLOBAL  SendSequence
                      00127 ; *****************************************************************************
                      00128 
                      00129         END
MPASM  5.20                          CMD3.ASM   11-3-2008  15:53:43         PAGE 12


SYMBOL TABLE
  LABEL                             VALUE 

ADEN                              00000003
BRGH                              00000002
BRIDGE_STATUS                     00000000
C                                 00000000
C1INV                             00000004
C1OUT                             00000006
C2INV                             00000005
C2OUT                             00000007
CCP1CON                           00000017
CCP1IE                            00000002
CCP1IF                            00000002
CCP1M0                            00000000
CCP1M1                            00000001
CCP1M2                            00000002
CCP1M3                            00000003
CCP1X                             00000005
CCP1Y                             00000004
CCPR1H                            00000016
CCPR1L                            00000015
CIS                               00000003
CM0                               00000000
CM1                               00000001
CM2                               00000002
CMCON                             0000001F
CMIE                              00000006
CMIF                              00000006
CREN                              00000004
CSRC                              00000007
DALI_H                            00000000
DALI_H_BAK1                       00000000
DALI_H_BAK2                       00000000
DALI_H_BAK3                       00000000
DALI_L                            00000000
DALI_L_BAK1                       00000000
DALI_L_BAK2                       00000000
DALI_L_BAK3                       00000000

⌨️ 快捷键说明

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