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

📄 jrdmdyxtsz.asm

📁 用增强型单片机51RD2做的控制器
💻 ASM
📖 第 1 页 / 共 3 页
字号:
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#095                  ; 显示 " V "
                MOVX    @R1,A
                RET

;
; ****** 将A/D多字节压缩BCD码转换为二进制数  ******
;
AdBcdToHex:     MOV     R0,#AdBcdBuf
                MOV     R1,#AdHexBuf
                MOV     Counter1,#8
AdBcdToHex1:
                MOVX    A,@R0
                MOV     Variable1,R0
                MOV     Variable2,R1

                ANL     A,#0F0H
                SWAP    A
                MOV     R2,#0
                MOV     R3,A
                MOV     R6,#03H
                MOV     R7,#0E8H
                LCALL   TowByteNMUL
                MOV     DataH,R6
                MOV     DataL,R7

                MOV     R0,Variable1
                MOV     R1,Variable2

                MOVX    A,@R0
                ANL     A,#0FH
                MOV     B,#100
                MUL     AB
                ADD     A,DataL
                MOV     DataL,A
                MOV     A,B
                ADDC    A,DataH
                MOV     DataH,A
                INC     R0

                MOVX    A,@R0
                ANL     A,#0F0H
                SWAP    A
                MOV     B,#10
                MUL     AB
                ADD     A,DataL
                MOV     DataL,A
                MOV     A,DataH
                ADDC    A,#0
                MOV     DataH,A

                MOVX    A,@R0
                ANL     A,#0FH
                ADD     A,DataL
                MOV     DataL,A
                MOV     A,DataH
                ADDC    A,#0
                MOV     DataH,A
                INC     R0

                MOV     A,DataH
                MOVX    @R1,A
                INC     R1
                MOV     A,DataL
                MOVX    @R1,A
                INC     R1

                DJNZ    Counter1,AdBcdToHex1
                RET
LinkG_dispO:
;       ******  将仪表数据装入显示缓冲区  ******
                MOV     A,DataH
                MOV     R2,A
                MOV     A,DataL
                MOV     R3,A
; 调用BinToBcd子程序时,16位二进制整数存放于R2(高8位)R3(低8位)
; 从BinToBcd返回时,三字节压缩BCD码结果在R4,R5,R6其中高位R4,低位R6
                LCALL   BinToBcd                ; 将一双字节数转换为五位LCD显示的数据
                MOV     R1,#ShowBuf
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R5
                ANL     A,#0F0H
                SWAP    A
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R5
                ANL     A,#0FH
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOV     @R1,A
                INC     R1
                MOV     A,R6
                ANL     A,#0F0H
                SWAP    A
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R6
                ANL     A,#0FH
                MOVX    @R1,A
                INC     R1

                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#010                  ; 显示 " m "
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#193                  ; 显示 "Ω "
                MOVX    @R1,A

                RET


LinkG_dispKO:                                   ; 显示电阻千欧
;       ******  将仪表数据装入显示缓冲区  ******
                MOV     A,DataH
                MOV     R2,A
                MOV     A,DataL
                MOV     R3,A
; 调用BinToBcd子程序时,16位二进制整数存放于R2(高8位)R3(低8位)
; 从BinToBcd返回时,三字节压缩BCD码结果在R4,R5,R6其中高位R4,低位R6
                LCALL   BinToBcd                ; 将一双字节数转换为五位LCD显示的数据
                MOV     R1,#ShowBuf
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R5
                ANL     A,#0F0H
                SWAP    A
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R5
                ANL     A,#0FH
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOV     @R1,A
                INC     R1
                MOV     A,R6
                ANL     A,#0F0H
                SWAP    A
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R6
                ANL     A,#0FH
                MOVX    @R1,A
                INC     R1

                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#058                  ; 显示 " k "
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#193                  ; 显示 "Ω "
                MOVX    @R1,A

                RET

LinkG_dispKmV:                                   ; 显示电阻千欧
;       ******  将仪表数据装入显示缓冲区  ******
                MOV     A,DataH
                MOV     R2,A
                MOV     A,DataL
                MOV     R3,A
; 调用BinToBcd子程序时,16位二进制整数存放于R2(高8位)R3(低8位)
; 从BinToBcd返回时,三字节压缩BCD码结果在R4,R5,R6其中高位R4,低位R6
                LCALL   BinToBcd                ; 将一双字节数转换为五位LCD显示的数据
                MOV     R1,#ShowBuf
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R4
                ANL     A,#0F0H
                SWAP    A
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R4
                ANL     A,#0FH
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOV     @R1,A
                INC     R1
                MOV     A,R5
                ANL     A,#0F0H
                SWAP    A
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R5
                ANL     A,#0FH
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOV     @R1,A
                INC     R1
                MOV     A,R6
                ANL     A,#0F0H
                SWAP    A
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R6
                ANL     A,#0FH
                MOVX    @R1,A
                INC     R1

                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#058                  ; 显示 " k "
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#193                  ; 显示 "Ω "
                MOVX    @R1,A

                RET


LinkG_dispKmA:                                   ; 显示电阻千欧
;       ******  将仪表数据装入显示缓冲区  ******
                MOV     A,DataH
                MOV     R2,A
                MOV     A,DataL
                MOV     R3,A
; 调用BinToBcd子程序时,16位二进制整数存放于R2(高8位)R3(低8位)
; 从BinToBcd返回时,三字节压缩BCD码结果在R4,R5,R6其中高位R4,低位R6
                LCALL   BinToBcd                ; 将一双字节数转换为五位LCD显示的数据
                MOV     R1,#ShowBuf
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R5
                ANL     A,#0F0H
                SWAP    A
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R5
                ANL     A,#0FH
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOV     @R1,A
                INC     R1
                MOV     A,R6
                ANL     A,#0F0H
                SWAP    A
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,R6
                ANL     A,#0FH
                MOVX    @R1,A
                INC     R1

                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#060                  ; 显示 " m "
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#074                  ; 显示 "A

⌨️ 快捷键说明

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