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

📄 jrdmdyxtsz.asm

📁 用增强型单片机51RD2做的控制器
💻 ASM
📖 第 1 页 / 共 3 页
字号:
                INC     R0
                INC     R1
                MOV     A,@R0
                MOVX    @R1,A

                MOV     LcdShowX,#23
                MOV     LcdShowY,#112
                MOV     LcdShowC,#4
                LCALL   DdShowString2



                MOV     R1,#ShowBuf
                MOV     KeyCount,#0
EditSysPass2:   LCALL   ScanKey
                JNB     KeyF,EditSysPass2
                CLR     KeyF
                MOV     A,KeyNumber             ;
                CJNE    A,#0AH,EditSysPass3
                LJMP    EditSysPass1
EditSysPass3:   CJNE    A,#0BH,EditSysPass4
                RET
EditSysPass4:   MOV     A,KeyNumber             ;
                CLR     C
                SUBB    A,#10
                JNC     EditSysPass2
                INC     KeyCount
                MOV     A,#TSK                ;
                MOVX    @R1,A                ;
                INC     R1
                MOV     A,KeyNumber             ;
                MOVX    @R1,A
                INC     R1
                MOV     LcdShowX,#23
                MOV     LcdShowY,#112
                MOV     A,KeyCount
                MOV     LcdShowC,A
                LCALL   DdShowString2
                MOV     A,KeyCount
                CLR     C
                SUBB    A,#4
                JC      EditSysPass2

                MOV     R0,#TempBuf
                MOV     R1,#ShowBuf
                INC     R1
                MOVX    A,@R1
                INC     R1
                INC     R1
                MOV     @R0,A
                INC     R0
                MOVX    A,@R1
                INC     R1
                INC     R1
                MOV     @R0,A
                INC     R0
                MOVX    A,@R1
                INC     R1
                INC     R1
                MOV     @R0,A
                INC     R0
                MOVX    A,@R1
                MOV     @R0,A

                MOV     BNUM,#PassNum
                MOV     BADR,#TempBuf
                MOV     DPTR,#SysPassAdr
                LCALL   WR_BLK
                LJMP    EditSysPass1



;
;       ******  系统仪表标度变换  ******
;
SysMeterTransf: MOV     R2,DataH
                MOV     R3,DataL
                MOV     R6,#13H                 ; 1388H = 5000D
                MOV     R7,#88H
                LCALL   TowByteNMUL             ; 双字节无符号乘法
                MOV     A,R4
                MOV     R2,A
                MOV     A,R5
                MOV     R3,A
                MOV     A,R6
                MOV     R4,A
                MOV     A,R7
                MOV     R5,A
;    ********   12位A/D转换数字量最大值  *********
                MOV     R6,#0FH                 ; 0FFFH = 4095D
                MOV     R7,#0FFH
                LCALL   TowByteNDIV             ; 双字节无符号除法
                MOV     A,R4
                MOV     DataH,A
                MOV     A,R5
                MOV     DataL,A

                RET
;
;       ******  动态显示A/D转换通道数据一  ******
;
ShowChannels1:  MOV     LcdShowX,#8
                MOV     LcdShowY,#30
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  动态显示A/D转换通道数据二  ******
;
ShowChannels2:  MOV     LcdShowX,#8
                MOV     LcdShowY,#54
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  动态显示A/D转换通道数据三  ******
;
ShowChannels3:  MOV     LcdShowX,#8
                MOV     LcdShowY,#78
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  动态显示A/D转换通道数据四  ******
;
ShowChannels4:  MOV     LcdShowX,#8
                MOV     LcdShowY,#102
                MOV     LcdShowC,#1
                LCALL   DdShowString2
                RET
;
;       ******  动态显示A/D转换通道数据五  ******
;
ShowChannels5:  MOV     LcdShowX,#8
                MOV     LcdShowY,#126
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  动态显示A/D转换通道数据六  ******
;
ShowChannels6:  MOV     LcdShowX,#8
                MOV     LcdShowY,#150
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  动态显示A/D转换通道数据七  ******
;
ShowChannels7:  MOV     LcdShowX,#8
                MOV     LcdShowY,#174
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  动态显示A/D转换通道数据八  ******
;
ShowChannels8:  MOV     LcdShowX,#8
                MOV     LcdShowY,#198
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  显示标准数据一  ******
;
ShowBz1:        MOV     LcdShowX,#28
                MOV     LcdShowY,#30
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  显示标准数据二  ******
;
ShowBz2:        MOV     LcdShowX,#28
                MOV     LcdShowY,#54
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  显示标准数据三  ******
;
ShowBz3:        MOV     LcdShowX,#28
                MOV     LcdShowY,#78
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  显示标准数据四  ******
;
ShowBz4:        MOV     LcdShowX,#28
                MOV     LcdShowY,#102
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  显示标准数据五  ******
;
ShowBz5:        MOV     LcdShowX,#28
                MOV     LcdShowY,#126
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  显示标准数据六  ******
;
ShowBz6:        MOV     LcdShowX,#28
                MOV     LcdShowY,#150
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  显示标准数据七  ******
;
ShowBz7:        MOV     LcdShowX,#28
                MOV     LcdShowY,#174
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  显示标准数据八  ******
;
ShowBz8:        MOV     LcdShowX,#28
                MOV     LcdShowY,#198
                MOV     LcdShowC,#6
                LCALL   DdShowString2
                RET
;
;       ******  将仪表数据装入显示缓冲区  ******
;
YbDataLoadBuf:  MOV     A,DataH
                MOV     R2,A
                MOV     A,DataL
                MOV     R3,A
                LCALL   BinToBcd                ; 将一双字节数转换为五位LCD显示的数据
                MOV     R1,#ShowBuf             ; 汉字显示缓冲区
                MOV     A,#ZW1
                MOVX    @R1,A
                INC     R1
                MOV     A,R4
                ANL     A,#0FH
                MOVX    @R1,A
                INC     R1
                MOV     A,#ZW1
                MOVX    @R1,A
                INC     R1
                MOV     A,R5
                ANL     A,#0F0H
                SWAP    A
                MOVX    @R1,A
                INC     R1
                MOV     A,#ZW1
                MOVX    @R1,A
                INC     R1
                MOV     A,R5
                ANL     A,#0FH
                MOVX    @R1,A
                INC     R1
                MOV     A,#ZW1
                MOVX    @R1,A
                INC     R1
                MOV     A,R6
                ANL     A,#0F0H
                SWAP    A
                MOVX    @R1,A
                INC     R1
                MOV     A,#ZW1
                MOVX    @R1,A
                INC     R1
                MOV     A,R6
                ANL     A,#0FH
                MOVX    @R1,A
                RET
;
;       ******  将标准常量装入显示缓冲区  ******
;
BzDataLoadBuf:  MOV     R1,#ShowBuf             ; 汉字显示缓冲区
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#05H
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#00H
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#00H
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#00H
                MOVX    @R1,A
                INC     R1
                MOV     A,#TSK
                MOVX    @R1,A
                INC     R1
                MOV     A,#060                  ; 显示 " m "
                MOVX    @R1,A

⌨️ 快捷键说明

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