📄 cmd5.lst
字号:
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 CMD5.ASM 11-3-2008 15:53:45 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 CMD5.ASM 11-3-2008 15:53:45 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
00011
0000 00012 EXTERN WriteEEData
00013
0000 00014 EXTERN Main
0000 00015 EXTERN DelayCyclesT1
00016
0000 00017 EXTERN WREG1, DALI_H, DALI_L
0000 00018 EXTERN MILLISECONDS
0000 00019 EXTERN BRIDGE_STATUS
00020
0000 00021 EXTERN DALI_H_BAK1, DALI_L_BAK1
0000 00022 EXTERN DALI_H_BAK2, DALI_L_BAK2
0000 00023 EXTERN DALI_H_BAK3, DALI_L_BAK3
00024
0000 00025 EXTERN TX_EDGE_DELAY_H, TX_EDGE_DELAY_L, TX_STOP_DELAY_H, TX_STOP_DELAY_L
0000 00026 EXTERN TX_REG_DELAY_H, TX_REG_DELAY_L, RX_WAIT, RX_START_DELAY_H
0000 00027 EXTERN RX_START_DELAY_L, RX_SAMPLE_DELAY_H, RX_SAMPLE_DELAY_L
0000 00028 EXTERN RX_DELAY_NEXT_H, RX_DELAY_NEXT_L, DOUBLE_SEND_DELAY, SEQUENCE_DELAY
0000 00029 EXTERN RX_DEBUG, BAUD_RATE
00030 ; *****************************************************************************
00031
00032
00033 ; *****************************************************************************
00034 CHANGE_SETTINGS CODE
MPASM 5.20 CMD5.ASM 11-3-2008 15:53:45 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00035 ; *****************************************************************************
0000 00036 ChngTXEdgeDelay
00037
00038 movff DALI_H, TX_EDGE_DELAY_H
0000 08?? M movf DALI_H, W
0001 00?? M movwf TX_EDGE_DELAY_H
00039 wrtee TX_EDGE_DELAY_H
0002 1683 1303 M banksel EEADR
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0004 009A M movwf EEDATA ; Init the first values
0005 30?? M movlw TX_EDGE_DELAY_H
0006 3C?? M sublw TX_EDGE_DELAY_H
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0007 009B M movwf EEADR
0008 2??? M call WriteEEData
00040
00041 movff DALI_L, TX_EDGE_DELAY_L
0009 08?? M movf DALI_L, W
000A 00?? M movwf TX_EDGE_DELAY_L
00042 wrtee TX_EDGE_DELAY_L
000B 1683 1303 M banksel EEADR
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
000D 009A M movwf EEDATA ; Init the first values
000E 30?? M movlw TX_EDGE_DELAY_H
000F 3C?? M sublw TX_EDGE_DELAY_L
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0010 009B M movwf EEADR
0011 2??? M call WriteEEData
00043
0012 2??? 00044 goto Main
00045
0000 00046 GLOBAL ChngTXEdgeDelay
00047 ; *****************************************************************************
00048
00049
00050 ; *****************************************************************************
0013 00051 ChngTXStopDelay
00052
00053 movff DALI_H, TX_STOP_DELAY_H
0013 08?? M movf DALI_H, W
0014 00?? M movwf TX_STOP_DELAY_H
00054 wrtee TX_STOP_DELAY_H
0015 1683 1303 M banksel EEADR
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0017 009A M movwf EEDATA ; Init the first values
0018 30?? M movlw TX_EDGE_DELAY_H
0019 3C?? M sublw TX_STOP_DELAY_H
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
001A 009B M movwf EEADR
001B 2??? M call WriteEEData
00055
00056 movff DALI_L, TX_STOP_DELAY_L
001C 08?? M movf DALI_L, W
MPASM 5.20 CMD5.ASM 11-3-2008 15:53:45 PAGE 9
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
001D 00?? M movwf TX_STOP_DELAY_L
00057 wrtee TX_STOP_DELAY_L
001E 1683 1303 M banksel EEADR
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0020 009A M movwf EEDATA ; Init the first values
0021 30?? M movlw TX_EDGE_DELAY_H
0022 3C?? M sublw TX_STOP_DELAY_L
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0023 009B M movwf EEADR
0024 2??? M call WriteEEData
00058
0025 2??? 00059 goto Main
00060
00061
0000 00062 GLOBAL ChngTXStopDelay
00063 ; *****************************************************************************
00064
00065
00066 ; *****************************************************************************
0026 00067 ChngTXRegDelay
00068
00069 movff DALI_H, TX_REG_DELAY_H
0026 08?? M movf DALI_H, W
0027 00?? M movwf TX_REG_DELAY_H
00070 wrtee TX_REG_DELAY_H
0028 1683 1303 M banksel EEADR
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
002A 009A M movwf EEDATA ; Init the first values
002B 30?? M movlw TX_EDGE_DELAY_H
002C 3C?? M sublw TX_REG_DELAY_H
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
002D 009B M movwf EEADR
002E 2??? M call WriteEEData
00071
00072 movff DALI_L, TX_REG_DELAY_L
002F 08?? M movf DALI_L, W
0030 00?? M movwf TX_REG_DELAY_L
00073 wrtee TX_REG_DELAY_L
0031 1683 1303 M banksel EEADR
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0033 009A M movwf EEDATA ; Init the first values
0034 30?? M movlw TX_EDGE_DELAY_H
0035 3C?? M sublw TX_REG_DELAY_L
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0036 009B M movwf EEADR
0037 2??? M call WriteEEData
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -