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

📄 mcu89c51hoter.asm

📁 这是用8951开发的便携式心电监护仪
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        MOV   DPTR, #0H
        MOV   R0, #0
CL2:    MOVX  A, @DPTR
        CLR   C
        SUBB  A, R0
        JNZ   FLAS
        INC   DPTR
        DJNZ  R0, CL2
        RET
FLAS:   MOV   A, #0
        LCALL DIS1
        MOV   R0, #100
        MOV   R1, #0
FD1:    DJNZ  R1, FD1
        DJNZ  R0, FD1
        MOV   A, #255
        LCALL DIS1
        MOV   R0, #100
        MOV   R1, #0
FD2:    DJNZ  R1, FD2
        DJNZ  R0, FD2
        SJMP  FLAS
;===========================
        ORG     0D2DH
SDLK:   MOV   R1, #240
FD3:    DJNZ  R1, FD3
        LJMP  KSEK
PEVT:   MOV   A, 68H
        LCALL dis1
        MOV   A, 68H
        JNZ   PE1
        RET
PE1:    CLR   C
        SUBB  A, #2
        JNC   PE2
        ADD   A, #2
        LCALL PRTT
        SJMP  PE3
PE2:    PUSH  ACC
        MOV   A, #2
        LCALL PRTT
        POP   ACC
        JNZ   PE4
PE3:    MOV   A, #0
        LCALL DIS1
        RET
PE4:    LCALL FLAS2
        CLR   C
        SUBB  A, #4
        JNC   PE5
        ADD   A, #4
        LCALL PRTC
        SJMP  PE3
PE5:    PUSH  ACC
        MOV   A, #4
        LCALL PRTC
        POP   ACC
        JZ    PE3
        SJMP  PE4
;===========================
        ORG   0D7BH
FLAS2:  PUSH  ACC
        LCALL DIS1
        MOV   R0, #0
FSL1:   LCALL SDLK
        INC   A
        JNZ   F11
        DJNZ  R0, FSL1
        MOV   A, #255
        LCALL DIS1
        MOV   R0, #0
F10:    LCALL SDLK
        INC   A
        JNZ   F11
        DJNZ  R0, F10
        POP   ACC
        SJMP  FLAS2
F11:    POP   ACC
        RET
;============================
DRAWB:  MOVX  A, @DPTR
        MOV   R0, A
        INC   DPTR
        MOVX  A, @DPTR
        MOV   R1, A
        INC   DPTR
        MOVX  A, @DPTR
        MOV   R4, A
        INC   DPTR
        MOVX  A, @DPTR
        MOV   DPH, R0
        MOV   DPL, R1
        NOP
        CLR   C
        SUBB  A, R1
        MOV   R1, A
        MOV   A, R4
        SUBB  A, R0
        MOV   R0, A
DRAWC:  PUSH  DPH
        PUSH  DPL
        MOV   A, R0
        PUSH  ACC
        MOV   A, R1
        PUSH  ACC
        LCALL DUK
        NOP
        MOV   R2, A
        MOV   DPTR, #LB4
        MOV   R0, #60
        LCALL SIO5
DRAW:   MOV   R1, #30
D1:     MOV   DPTR, #LB5
        MOV   R0, #21
        LCALL SIO5
        DJNZ  R1, D1
        MOV   DPTR, #DHOME
        MOV   R0, #5
        LCALL SIO5
        POP   ACC
        MOV   R1, A
        POP   ACC
        MOV   R0, A
        POP   DPL
        POP   DPH
        MOV   A, #74
        LCALL SIO1
D2:     MOV   A, #49
        LCALL SIO1
        MOV   A, #44
        LCALL SIO1
        MOVX  A, @DPTR
        CLR   C
        SUBB  A, R2
        JC      D201
        LCALL   BO1
        SJMP    D202
D201:   LCALL BO0
D202:   MOV   A, #44
        LCALL SIO1
        MOVX  A, @DPTR
        MOV   R2, A
        INC   DPTR
        DJNZ  R1, D2
        MOV   A, R0
        JZ    D3
        DEC   R0
        SJMP  D2
D3:     MOV   A, #13
        LCALL SIO1
        MOV     DPTR,#LIBX1
        MOV     R0,#10
        LJMP    SIO5
;=============================
ORG     0E30H
PRS1:   ORL   A, #30H
        LCALL SIO1
        MOV   A, #10
        MUL   AB
        XCH   A, B
        ORL   A,#30H
        LCALL SIO1
        MOV   A, #32
        LCALL SIO1
        MOV   A, #109
        LCALL SIO1
        MOV   A, #118
        LCALL SIO1
        MOV   A, #13
        LCALL SIO1
        LJMP  TDC
PRS2:   MOVX  A, @DPTR
        CLR   C
        SUBB  A, #5
        JNZ   NT8
        PUSH  DPH
        PUSH  DPL
        MOV   DPTR, #LIC1
        MOV   R0, #6
        LCALL SIO5
        POP   DPL
        POP   DPH
        INC   DPTR
        MOVX  A, @DPTR
        PUSH  DPH
        PUSH  DPL
        LCALL SIO4
        MOV   DPTR, #LIB2
        MOV   R0, #4
        LCALL SIO5
        MOV   DPTR, #LIE1
        MOV   R0, #14
        LCALL SIO5
        LJMP  TDC
NT8:    MOVX  A, @DPTR
        CLR   C
        SUBB  A, #6
        JNZ   NT9
        PUSH  DPH
        PUSH  DPL
        MOV   DPTR, #LIC1
        MOV   R0, #6
        LCALL SIO5
        POP   DPL
        POP   DPH
        INC   DPTR
        MOVX  A, @DPTR
        PUSH  DPH
        PUSH  DPL
        LCALL SIO4
        MOV   DPTR, #LIB2
        MOV   R0, #4
        LCALL SIO5
        MOV   DPTR, #LIF1
        MOV   R0, #14
        LCALL SIO5
        LJMP  TDC
NT9:    LJMP  PRS3
;============================
ORG     0EC0H
PECG:   MOV   DPTR, #LIG1
        MOV   R0, #18
        LCALL SIO5
        MOV   DPTR, #1006H
        MOVX  A, @DPTR
        LCALL SIO4
        MOV   DPTR, #LIB2
        MOV   R0, #5
        LCALL SIO5
        MOV   DPTR, #1008H
        LCALL   DRAWB
        MOV     DPTR,#LC11
        MOV     R0,#29
        LJMP    SIO5
;==========================
DUK:    PUSH  PSW
        MOV   PSW, #0
        MOV   R0, #0
        LCALL DSTU
        MOV   A, R1
        POP   PSW
        RET
;=========================
ORG     0F00H
LIC1:   DB    20H,20H,48H,52H,20H,3AH
LIB1:   DB    48H,52H,20H,6CH,69H,6DH,69H,74H,3AH,20H
LIA1:   DB    20H,41H,72H,72H,68H,79H,74H,68H,6DH,69H,61H,3AH,0DH
LID1:   DB    20H,20H,53H,2DH,54H,20H   ; S-T
LIE1:   DB    20H,54H,61H,63H,68H,79H,63H,61H,72H,64H,69H,61H,3AH,0DH
LIF1:   DB    20H,42H,72H,61H,64H,79H,63H,61H,72H,64H,69H,61H,3AH,0DH
LIG1:   DB    20H,20H,4FH,72H,67H,2EH,20H,45H,43H,47H
        DB    20H,20H,20H,48H,52H,20H,3AH
LII1:   DB      20H,20H,46H,65H,65H,6CH,20H,62H,61H,64H,0DH
;Feel bad LIB.
LIB2:   DB    2FH,6DH,69H,6EH,0DH
LB1:    DB    52H,65H,63H,6FH,72H,64H,20H,65H,6EH,64H,0DH
LB2:    DB    4DH,6FH,6EH,69H,74H,6FH,72H,20H,73H,74H,6FH
        DB    70H,70H,65H,64H,0DH
LB3:    DB    45H,6CH,65H,74H,72H,6FH,64H,65H,20H
        DB    69H,72H,72H,65H,67H,2EH,0DH
LB4:    DB    0DH,1BH,32H,0DH
        DB    1BH,62H,0DH
        DB    52H,31H,30H,2CH,2DH,31H,30H,0DH
        DB    4AH,2DH,35H,2CH,30H
        DB    2CH,31H,30H,2CH,30H
        DB    2CH,2DH,35H,2CH,30H
        DB    2CH,30H,2CH,2DH,35H,30H,2CH
        DB    2DH,35H,2CH,30H,2CH
        DB    31H,30H,2CH,30H,2CH
        DB    2DH,35H,2CH,30H,2CH
        DB    30H,2CH,2DH,35H,30H,0DH
        DB    49H,0DH
LB5:    DB    4AH,32H,35H,2CH,30H,2CH
        DB    30H,2CH,2DH,35H,2CH
        DB    30H,2CH,31H,30H,2CH
        DB    30H,2CH,2DH,35H,0DH
DHOME:  DB    48H,0DH,1BH,31H,0DH
;=====================================
ORG     1000H
STS1:   MOV   R0, #4      
        MOV   R1, #0
        MOV   R7, #0
ST1L:   MOVX  A, @DPTR
        ADD   A, R7
        XCH   A, R7
        JNC   ST100
        INC   R1
ST100:  INC   DPTR
        ANL   DPH, #0FH
        DJNZ  R0, ST1L
        XCH   A, R7
        CLR   C
        XCH   A, R1
        RRC   A
        XCH   A, R1
        RRC   A
        CLR   C
        XCH   A, R1
        RRC   A
        XCH   A, R1
        RRC   A
        RET
;=============================
ORG     101EH
STP:    MOV   PSW, #24
        MOV   R4, DPH
        MOV   R5, DPL
        MOV   A, R2
        ADD   A, #10
        MOV   R6, A
        MOV   A, DPL
        CLR   C
        SUBB  A, R6
        MOV   DPL, A
        MOV   A, DPH
        SUBB  A, #0
        ANL   A, #0FH
        MOV   DPH, A
        LCALL STS1           ;
        XCH   A, R6          ;
        MOV   A, R3
        ADD   A, #7
        ADD   A, R5
        MOV   DPL, A
        MOV   A, #0
        ADDC  A, R4
        ANL   A, #0FH
        MOV   DPH, A
        LCALL STS1
        CLR   C
        SUBB  A, R6
        JNC   ST10
        ADD   A, #10
        JNC   ST11
ST10:   MOV   A, #0
        RET
ST11:   SUBB  A, #10
        MOV   72H, A
        MOV   A, #1
        RET
;============================
ORG     1070H
ANAL2:  MOV   A, 67H
        JNZ   AN21
        RET
AN21:   MOV   PSW, #0
        MOV   A, R3
        SUBB  A, 75H
        MOV   R0, A
        MOV   A, R2
        SUBB  A, 74H
        ANL   A, #0FH
        JNZ     AN22
        RET
AN22:   MOV   DPH, 74H
        MOV   DPL, 75H
        MOV   A, #170
        LCALL DIF2
        JNZ   AN23
        MOV   A, DPL
        SUBB  A, #8
        MOV   75H, A
        MOV   A, DPH
        SUBB  A, #0
        ANL   A, #0FH
        MOV   74H, A
        RET
AN23:   LCALL SF21
        JNZ   AN24
        MOV   7EH, DPH
        MOV   7FH, DPL
        SJMP  AN25
AN24:   PUSH    DPL     ;
        PUSH    DPH     ;
        LCALL   BLM     ;
        POP     DPH     ;
        POP     DPL     ;
        LCALL MSP
        JNZ     AN26
AN25:   LCALL   TAAT
        JNZ     AN28
        MOV   A, 7FH
        ADD   A, #16
        MOV   75H, A
        MOV   A, 7EH
        ADDC  A, #0
        ANL   A, #0FH
        MOV   74H, A
        RET
AN26:   MOV   A, R2
        SUBB  A, #4
        JC    AN25
        SUBB  A, #12
        JNC   AN25
        MOV   A, R3
        CLR   C
        SUBB    A,#4
        JC      AN25
        SUBB  A, #18
        JNC    AN25
        ADD     A,#18
        CLR     C
        SUBB    A,#8
        JNC     AN270
        MOV     R3,#8
AN270:  LCALL STP
        JNZ   AN27
        LCALL STN
        SJMP  AN28
AN27:   LCALL STI
AN28:   MOV   DPH, 7EH
        MOV   DPL, 7FH
        LCALL TACT
        MOV   A, #50
        ADD   A, 7FH
        MOV   75H, A
        MOV   A, #0
        ADDC  A, 7EH
        ANL   A, #0FH
        MOV   74H, A
        RET
;=========================
HRI:    MOV     PSW,#0
        MOV   A, 77H
        JNZ   AN29
        MOV   A,#35
        CLR     C
        SUBB  A,68H
        JC    FULH
        LCALL TTMH
        MOV   77H, #1
FULH:   RET
AN29:   MOV   A, #10
        CLR   C
        SUBB  A, 73H
        JC    AN2A
        RET
AN2A:   MOV   A, 77H
        DEC   A
        JZ    AN2B
        MOV     73H,#11
        RET
AN2B:   INC   77H
        MOV   A, 64H
        CLR   C
        SUBB  A, 62H
        MOV   R0, #5
        JNC   AN2C
        INC   R0
AN2C:   LCALL PTABH
        PUSH  69H
        PUSH  6AH
        MOV   69H, DPH
        MOV   6AH, DPL
        MOV   A, 7EH
        CLR     C
        SUBB    A,#6
        ANL     A,#0FH
        MOV     DPH,A
        MOV     DPL,7FH
        MOV     R0,#2
        MOV   R1, #238
        LCALL TRAN
        POP   6AH
        POP   69H
        RET
;=======================
HRN:    MOV   A, 77H
        DEC   A
        JZ    HR12
        MOV     A,#30
        SUBB    A,73H
        JC      HR0
        RET
HR0:    LCALL TTMH
        MOV   DPH, 6EH
        MOV   DPL, 6FH
        MOV   PSW, #0
        MOV   R1, #6
        MOV   R4,#13H
        MOV   R5,#0FAH
HRL1:   MOV     A,R4
        MOV     R4,DPH
        MOV     DPH,A
        MOV     A,R5
        MOV     R5,DPL
        MOV     DPL,A
        MOVX  A,@DPTR
        INC   DPTR
        PUSH    ACC
        MOV     A,DPH
        MOV     DPH,R4
        MOV     R4,A
        MOV     A,DPL
        MOV     DPL,R5
        MOV     R5,A
        POP     ACC
        MOVX  @DPTR,A
        INC   DPTR
        DJNZ  R1,HRL1
HR12:   MOV   77H, #0
        MOV   73H, #0
        RET
;=======================
A1SS:   MOV   50H, #0
        MOV   51H, #0
        LCALL RHC
        MOV   PSW, #0
        MOV   R0, #0
        MOVX  A, @R0
        MOV   R6, A
        MOV   R0, #2
AS10:   MOVX  A, @R0
        MOV   DPH, A
        INC   R0
        MOVX  A, @R0
        MOV   DPL, A
        INC   R0
        PUSH  0H
        PUSH  6H
        MOVX  A, @DPTR
        PUSH  ACC
        LCALL BLM
        POP   ACC
        CLR   C
        SUBB  A, R1
        JNC   AS11
        CPL   A
        INC   A
AS11:   POP   6H
        POP   0H
        CLR   C
        SUBB  A, 54H
        JNC   AS12
        CPL   A
        INC   A
AS12:   CLR   C
        SUBB  A, 50H
        JC    AS13
        ADD   A, 50H
        MOV   50H, A
        MOV   51H, R6
AS13:   DJNZ  R6, AS10
        MOV   A, 50H
        JZ    AS14
        MOV   B, A
        MOV   A, 54H
        DIV   AB
        CLR   C
        SUBB  A, #3
        JC    AS15
AS14:   LJMP  A1SC
AS15:   MOV   R0, #0
        MOVX  A, @R0
        CLR   C
        SUBB  A, 51H
        INC   A
        LCALL SS23
        LJMP  A1SS
;=======================
SS21:   MOV   65H, #0
        XCH   A, R0
        XCH   A, R1
        XCH   A, R2
        XCH   A, R3
        XCH   A, R4
        XCH   A, R5
        XCH   A, R6
        XCH   A, R7
        ADD   A, R0
        JNC   S201
        INC   65H
S201:   ADD   A, R1
        JNC   S202
        INC   65H
S202:   ADD   A, R2
        JNC   S203
        INC   65H
S203:   ADD   A, R3
        JNC   S204
        INC   65H
S204:   ADD   A, R4
        JNC   S205
        INC   65H
S205:   ADD   A, R5
        JNC   S206
        INC   65H
S206:   ADD   A, R6
        JNC   S207
        INC   65H
S207:   ADD   A, R7
        JNC   S208
        INC   65H
S208:   MOV   66H, A
        RET
SS23:   MOV   R0, #0
        MOV   R5, A
        MOVX  A, @R0
        DEC   A
        MOVX  @R0, A
        INC   A
        CLR   C
        SUBB  A, R5
        JNZ   S301
        RET
S301:   XCH   A, R5
        ADD   A, ACC
        MOV   R0, A
        ADD   A, #2
        MOV   R1, A

⌨️ 快捷键说明

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