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

📄 r.asm

📁 同通讯 测试软件
💻 ASM
📖 第 1 页 / 共 5 页
字号:
                                ;byte2:04 or 05
                                ;byte3:SOE code
                                ;byte4:time-Hour
                                ;byte5:time-Minute
                                ;byte6:time-Second
                                ;byte7:time-MSH
                                ;byte8:time-MSl
                                ;byte9:value low
                                ;byte10:value High
SYDSOEBUF       EQU     0F000H  ;备运动事件存放区
                                ;total SOE number <200(SOEH)
                                ;byte1:spu ADDr.code
                                ;byte2:04 or 05
                                ;byte3:SOE code
                                ;byte4:time-Hour
                                ;byte5:time-Minute
                                ;byte6:time-Second
                                ;byte7:time-MSH
                                ;byte8:time-MSl
                                ;byte9:value Low
                                ;byte10:value High
MYDSOEBUF       EQU     0F800H  ;主运动事件存放区
                                ;total SOE number <200(SOEH)
                                ;byte1:spu ADDr.code
                                ;byte2:04 or 05
                                ;byte3:SOE code
                                ;byte4:time-Hour
                                ;byte5:time-Minute
                                ;byte6:time-Second
                                ;byte7:time-MSH
                                ;byte8:time-MSl
                                ;byte9:value Low
                                ;byte10:value High

                ;CONSTANT FACTOR
CDLTH           EQU     05
THLTH           EQU     30
TMLTH           EQU     30
TLLTH           EQU     32
DDLTH           EQU     02
PTDLTH          EQU     04
COMLTH          EQU     54
CLTH            EQU     15
AUXLTH          EQU     02
LSPULTH         EQU     16   ;LINE SPU DATA LENGTH

CD1M            EQU     SATAB
CD1S            EQU     CD1M+CDLTH
TH1M            EQU     CD1S+CDLTH
TH1S            EQU     TH1M+THLTH
TM1             EQU     TH1S+THLTH
TL1             EQU     TM1+TMLTH
DD1             EQU     TL1+TLLTH

CD2M            EQU     DD1+DDLTH
CD2S            EQU     CD2M+CDLTH
TH2M            EQU     CD2S+CDLTH
TH2S            EQU     TH2M+THLTH
TM2             EQU     TH2S+THLTH
TL2             EQU     TM2+TMLTH
DD2             EQU     TL2+TLLTH

PTJK            EQU     DD2+DDLTH
COM             EQU     PTJK+PTDLTH
CAP1            EQU     COM+COMLTH
CAP2            EQU     CAP1+CLTH
CAP3            EQU     CAP2+CLTH
CAP4            EQU     CAP3+CLTH

AUX1            EQU     CAP4+CLTH
AUX2            EQU     AUX1+AUXLTH
AUX3            EQU     AUX2+AUXLTH
AUX4            EQU     AUX3+AUXLTH
AUX5            EQU     AUX4+AUXLTH
AUX6            EQU     AUX5+AUXLTH
AUX7            EQU     AUX6+AUXLTH

L1101           EQU     AUX7+AUXLTH
L1102           EQU     L1101+LSPULTH
L1103           EQU     L1102+LSPULTH
L1104           EQU     L1103+LSPULTH
L1105           EQU     L1104+LSPULTH
L1106           EQU     L1105+LSPULTH
L1107           EQU     L1106+LSPULTH

LSPU1           EQU     L1107+LSPULTH

RDATASUML       EQU     KDATA-RDATA
KDATASUML       EQU     CLKDATA-KDATA
FVLENGTH        EQU     FVRAMEND-FVRAM

BOUNDRY         EQU     DIV110A35-SUM4ADDR

CONW            EQU     071H
AFUN            EQU     000H
D1FUN           EQU     0F0H
D2FUN           EQU     0A0H

ZB1_F           EQU     TL1+28
ZB2_F           EQU     TL2+28
ZB1_T           EQU     COM+35
ZB2_T           EQU     COM+37
ZB1_W           EQU     TL1+30
ZB2_W           EQU     TL2+30
U01             EQU     TL1+26
U02             EQU     TL2+26

GNDPF           EQU     0
GNDNUM          EQU     1
SGNDFV          EQU     0CCH
YDDATL          EQU     16
YDSOEL          EQU     YDDATL/2
YKSUM           EQU     (SPUNOEND-SPUNO)/2
RSTFLG          EQU     YKSUM
YTSTNUM		EQU	(YTSTART-SPUNO)/2
GNDSUM          EQU     GNDEND-GNDSPU

T1ms            EQU     692
STDLY           EQU     T1ms*50
SCHAR           EQU     68H
ECHAR           EQU     00H
PCSTX           EQU     0EBH
DATR2LLTH       EQU     35

ALLFLG          EQU     0    ;INSERT SOE&ALARM ALL SIGNAL
                             ;0:NO
                             ;1:YES

INSFLG          EQU     1    ;0:SINGLE INSERT WORD
                             ;1:MULTI INSERT WORD

COM1FLG         EQU     0    ;0:GPS
                             ;1:XXQ

;IF CRYTAL=11.0592MHZ
;02H->230.4KBPS ;05H->115.2KBPS
;0BH->57.6KBPS  ;11H->38.4KBPS
;23H->19.2KBPS  ;47H->9600BPS
;8FH->4800BPS   ;11FH->2400BPS
;23FH->1200BPS  ;47FH->600BPS
;8FFH->300BPS
BPSCODE         EQU     005H	;与后台机通讯默认波特率

;bpscode=(crySTal/16)/desire bps
;Fs=crySTal/16,bpscode=Fs/desire bps
;CrySTal=1.8432MHZ,Fs=115200
;if Fs and desire bps firST devided by 100,tHen
;115200 turn into 1152,300 turn into 3
BPS300          EQU     1152/3	
BPS600          EQU     1152/6
BPS1200         EQU     1152/12
BPS2400         EQU     1152/24
BPS4800         EQU     1152/48
BPS9600         EQU     1152/96

        CSEG    AT   2000H
        ORG     2000H
        DCW     TRAMQ
        DCW     TRAMQ
        DCW     TRAMQ
        DCW     TRAMQ
        DCW     HSI0
        DCW     STINT
        DCW     RS485
        DCW     EXINT

        ORG     2018H
        DCB     0CDH    ;D0=1,ENABLE POWERDOWN FEATURE
                        ;D1=0,1/0:16 BIT BUS/8 BIT BUS
                        ;D2=1,1/0:(/WR&/BHE)/(/WRL&/WRH)
                        ;D3=1,1/0:ALE/(/ADV)
                        ;D4=0;00 LIMIT TO ONE WAIT STATE
                        ;D5=1;01 LIMIT TO TWO WAIT STATES
                             ;10 LIMIT TO THREE WAIT STATES
                             ;11 WIAT STATES NOT LIMITED INTERNALLY
                        ;D6=1;
                        ;D7=1;PROGRAM LOCK MODE

        ORG     2030H
        DCW     TRAMQ
        DCW     TRAMQ
        DCW     TRAMQ
        DCW     TRAMQ
        DCW     TRAMQ
        DCW     TRAMQ
        DCW     TRAMQ
        DCW     TRAMQ

        ORG     2080H
        LJMP    START
        ;TOTAL SPU ADDR TABLE
SUM4ADDR:
        DCB     01H,02H,03H,04H,05H,06H,43H
        DCB     07H,08H,09H,0AH,0BH,0CH,49H
        DCB     0DH,0FH,10H,11H,12H,13H
        DCB     54H,55H,56H,57H,58H,59H,5AH
        DCB     14H,15H,16H,17H,18H,19H,1AH
DIV110A35:
        DCB     1BH,1CH,1DH,1EH,1FH
        DCB     20H,21H,22H,23H,24H
        DCB     25H,26H,27H,28H,29H
        DCB     2AH,2BH,2CH,2DH,2EH
        DCB     2FH,30H,31H,32H,33H
        DCB     34H,35H,36H,37H,38H
        DCB     39H,3AH,3BH,3CH,3DH
        DCB     3EH,3FH,40H,41H,42H
S4AEND: DCB     0FFH

        ;SAVE SPU DATA FIELD
SADATT: DCW     CD1M    ;01 L=05   d
        DCW     CD1S    ;02 L=05   d
        DCW     TH1M    ;03 L=30   HM
        DCW     TH1S    ;04 L=30   HS
        DCW     TM1     ;05 L=30   M
        DCW     TL1     ;06 L=32   l
        DCW     DD1     ;43 L=02  1#a

        DCW     CD2M    ;07 L=05   d
        DCW     CD2S    ;08 L=05   d
        DCW     TH2M    ;09 L=30   HM
        DCW     TH2S    ;0A L=30   HS
        DCW     TM2     ;0b L=30   M
        DCW     TL2     ;0c L=32   l
        DCW     DD2     ;49 L=02  2#a

        DCW     PTJK    ;0d L=04   pt
        DCW     COM     ;0f L=54   comm

        DCW     CAP1    ;10 L=15   cap 1
        DCW     CAP2    ;11 L=15   cap 2
        DCW     CAP3    ;12 L=15   cap 3
        DCW     CAP4    ;13 L=15   cap 4

        DCW     AUX1    ;54 L=02   110a(1)
        DCW     AUX2    ;55 L=02   110a(2)
        DCW     AUX3    ;56 L=02   110a(3)
        DCW     AUX4    ;57 L=02   110a(4)
        DCW     AUX5    ;58 L=02   110a(5)
        DCW     AUX6    ;59 L=02   110a(6)
        DCW     AUX7    ;5a L=02   110a(7)

        DCW     L1101   ;14 L=16   110(1)
        DCW     L1102   ;15 L=16   110(2)
        DCW     L1103   ;16 L=16   110(3)
        DCW     L1104   ;17 L=16   110(4)
        DCW     L1105   ;18 L=16   110(5)
        DCW     L1106   ;19 L=16   110(6)
        DCW     L1107   ;1a L=16   110(7)
SADATL: DCW     LSPU1   ;1b L=16   line 35/10kv

        ;initialize program
START:  DI
        LDB     R0,WDOG[0]
        LD      SP,#100H        ;set STack point (internal RAM)
        CLRB    INT_MAS
        CLRB    INT_MAS1
        LDB     IOC0,#081H      ;D7=1:SET IOC0,TIMER 2 clock source HSI.1
                                ;D6=0:HSI.3 input DISable
                                ;D5=0:Timer 2 reset source HSI.0
                                ;D4=0:HSI.2 input disable
                                ;D3=0:timer 2 external reset enable
                                ;D2=0:HSI.1 input enable
                                ;D1=0:Timer 2 is not reset at eacH write
                                ;D0=1:HSI.0 input enable

        LDB     IOC1,#0A0H      ;SET IOC1
                                ;D7=1:HSI HOLDING LOADED INT.
                                ;D6=0:HSO.5 OUTPUT DISABLE
                                ;D5=1:SELECT TXD
                                ;D4=0:HSO.4 OUTPUT DISABLE
                                ;D3=0:TIMER 2 OVERFLOW INT.DISABLE
                                ;D2=0:TIMER 1 OVERFLOW INT DISABLE
                                ;D1=0:EXTERNAL INT
                                ;D0=0:SELECT P2.5

        CLRB    INT_PEN         ;clear int.pending regiSTer
        CLRB    INT_PEN1
        LDB     HSO_COM,#06H
        ADD     HSO_TIM,TIMER1,#03H
START1: NOP
        DJNZ    MBL,START1
        LDB     HSO_COM,#02H    ;STOP MODEM LOCAL LOOP TEST
        ADD     HSO_TIM,TIMER1,#03H
        STB     R0,RCPUS[0]
        CMP     PWFLG,#55AAH
        JNE     START2
        LJMP    START3
START2: NOP
        CALL    TEST_IRAM	;测试单片机内部RAM
        CMP     MAX,MBX
        JE      START3
        ORB     BCOSBIT,#80H
        CLR 	PWFLG
        SJMP    START31
START3: LD      PWFLG,#55AAH
        ANDB    BCOSBIT,#7FH
START31:CLRB    MFL        
        STB     R0,DATL2RBF[0]
        STB     R0,COMR2LBF[0]
START32:NOP        
        CALL    TEST_ERAM	;测试外部RAM
        CMP     MAX,R0
        JE      START4
        STB     R0,WDOG[0]
        INCB	MFL
        CMPB	MFL,#2
        JNH	START32
        ORB     BCOSBIT,#40H
        SJMP    START41
START4: ANDB    BCOSBIT,#0BFH
START41:CLRB    CTRLR
        STB     CTRLR,CTRLIO[0]
	
	;读取定值
        LD      FVDX,#FVRAM
        CLR     FVBX
        LDB     FVCL,#FVLENGTH
        CALL    RD_FV
        CMP     WRFVFLG,#55AAH
        JE      START6
        LD      WRFVFLG,#55AAH
        LD      SWAX,#90EBH
        LDBZE   PCBPSCODE,#BPSCODE
        LD      COM1BPSCODE,#BPS4800
        LD      COM2BPSCODE,#BPS9600
        LD      COM3BPSCODE,#BPS300
        LD      COM4BPSCODE,#BPS300
        LDB	COM1DEF,#03H
        LDB	COM2DEF,#03H
        LDB	COM3DEF,#03H
        LDB	COM4DEF,#03H
        LDB     ZLPMADER,#08H
        LDB     YDXY,#01H
        LDB     COM1BIT,#01H
        LDB     DDLSUM,#16
        LDB     SRTUADDR,#01H
        LDB     MRTUADDR,#01H
        LDB     ZLPADDR,#23H
        LDB	COMBITDEF,#01H
        LDB     MCL,#FVLENGTH
        LD      MDX,#FVTMPBUF
        LDB     MAL,#0FFH
START5: STB     MAL,[MDX]+
        DJNZ    MCL,START5
        CALL    WRFVPRO
START6: LDB     BAUDR,PCBPSCODEL
        ADDB    BAUDR,PCBPSCODEH,#80H

        ;工作在备机状态?
MORS:   NOP
        LDB     MAL,MSFLG[0]
        CMPB    MAL,#0AAH
        JE      SLOOP
        ANDB    SPFLG1,#7FH
        STB	BCOSBIT,RCPUS[0]
        LJMP    MAINP
        ;SLAVE  MODE
SLOOP:  NOP
        DJNZW   MCX,MORS
        STB     R0,WDOG[0]
        JBS     SPFLG1,7,MORS
        ORB     SPFLG1,#80H
        DI
        CLRB    INT_MAS
        CLRB    INT_PEN
        SJMP    MORS

	;初始化外部硬件及相关内外部寄存器
MAINP:  NOP
        CALL    INI16C554
        CLRB    SOEH
        CLR     SOEL
        CLR     SOER
        CLR     TESTRCNT
        CLR     SPFLG1
        CLRB    SPFLG3
        CLR     MPCRFLG
        CLR     MYDRFLG
        CLR     TASK5
        CLR     WHATHOST
        CLR     RBX
        CLR     RCX
        CLR     COM1RTCNT
        CLR     COM2RTCNT
        CLR     COM3RTCNT
        CLR     COM4RTCNT
        CLR     HCX
        CLR     SOEMM

⌨️ 快捷键说明

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