📄 main.lst
字号:
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00196 endm
00197 ; *****************************************************************************
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 ; *****************************************************************************
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
MPASM 5.20 MAIN.ASM 11-3-2008 15:53:48 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00015 #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
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
MPASM 5.20 MAIN.ASM 11-3-2008 15:53:48 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
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
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
00016 #include main.inc
00001 ; *****************************************************************************
00002 ; This file contains all defined registers for the main task to run.
00003
00004
00005 ; *** Constants ***************************************************************
00006
00007 ; *****************************************************************************
00008
00009
00010 ; *** Externals ***************************************************************
0000 00011 EXTERN TimeCounter
00012
0000 00013 EXTERN ResetBridge, ReportStatus ; Bridge commands
0000 00014 EXTERN SequenceDATA1, SequenceDATA2 ; Sequence storage commands
0000 00015 EXTERN SequenceDATA3
0000 00016 EXTERN SingleSend, DoubleSend ; DALI bus commands
0000 00017 EXTERN SendSequence
0000 00018 EXTERN SendReceive
MPASM 5.20 MAIN.ASM 11-3-2008 15:53:48 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0000 00019 EXTERN ChngTXEdgeDelay, ChngTXStopDelay
0000 00020 EXTERN ChngTXRegDelay, ChngRXWait, ChngRXStartDelay
0000 00021 EXTERN ChngRXSampleDelay, ChngRXDelayNext, ChngRXDebug
0000 00022 EXTERN ChngDblSendDelay, ChngSequenceDelay
0000 00023 EXTERN ChngBaudRate
0000 00024 EXTERN QueryTXEdge_H, QueryTXEdge_L, QueryTXStop_H, QueryTXStop_L
0000 00025 EXTERN QueryTXReg_H, QueryTXReg_L, QueryRXWait
0000 00026 EXTERN QueryRXStart_H, QueryRXStart_L, QueryRXSample_H, QueryRXSample_L
0000 00027 EXTERN QueryRXNext_H, QueryRXNext_L, QueryRXDebug
0000 00028 EXTERN QueryDblSendDel, QuerySeqDel
0000 00029 EXTERN LoadReset
00030 ; EXTERN SendData
00031 ; *****************************************************************************
00032
00033
00034 ; *** Variables ***************************************************************
00035 MAIN_DATA udata 0x20
00036 ; *****************************************************************************
0020 00037 TX_EDGE_DELAY_H res 1
0021 00038 TX_EDGE_DELAY_L res 1
0022 00039 TX_STOP_DELAY_H res 1
0023 00040 TX_STOP_DELAY_L res 1
0024 00041 TX_REG_DELAY_H res 1
0025 00042 TX_REG_DELAY_L res 1
0026 00043 RX_WAIT res 1
0027 00044 RX_START_DELAY_H res 1
0028 00045 RX_START_DELAY_L res 1
0029 00046 RX_SAMPLE_DELAY_H res 1
002A 00047 RX_SAMPLE_DELAY_L res 1
002B 00048 RX_DELAY_NEXT_H res 1
002C 00049 RX_DELAY_NEXT_L res 1
002D 00050 RX_DEBUG res 1
002E 00051 DOUBLE_SEND_DELAY res 1
002F 00052 SEQUENCE_DELAY res 1
0030 00053 BAUD_RATE res 1
00054
0000 00055 GLOBAL TX_EDGE_DELAY_H, TX_EDGE_DELAY_L, TX_STOP_DELAY_H, TX_STOP_DELAY_L
0000 00056 GLOBAL TX_REG_DELAY_H, TX_REG_DELAY_L, RX_WAIT, RX_START_DELAY_H
0000 00057 GLOBAL RX_START_DELAY_L, RX_SAMPLE_DELAY_H, RX_SAMPLE_DELAY_L
0000 00058 GLOBAL RX_DELAY_NEXT_H, RX_DELAY_NEXT_L, DOUBLE_SEND_DELAY, SEQUENCE_DELAY
0000 00059 GLOBAL RX_DEBUG, BAUD_RATE
00060
0031 00061 COMMAND res 1
0032 00062 DALI_H res 1
0033 00063 DALI_L res 1
0034 00064 BRIDGE_STATUS res 1
00065
0035 00066 DALI_H_BAK1 res 1
0036 00067 DALI_L_BAK1 res 1
0037 00068 DALI_H_BAK2 res 1
0038 00069 DALI_L_BAK2 res 1
0039 00070 DALI_H_BAK3 res 1
003A 00071 DALI_L_BAK3 res 1
MPASM 5.20 MAIN.ASM 11-3-2008 15:53:48 PAGE 9
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -