📄 sukong.asm
字号:
DEC A
MUL AB
CLR C
MOV DPTR,#TAB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
RET
FINDTAB1: MOV B,#32
MUL AB
CLR C
MOV DPTR,#TAB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
RET
;A键功能区:
;置给定值(存放数据单元为53--50h)
ZHISU0:
MOV DPTR, #ZU0
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H ;给
MOV COMYSTART,#40H
MOV COMYEND, #4FH
MOV JCS1CS2, #00H
LCALL DISP
MOV DPTR, #ZU1
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H ;定
MOV COMYSTART,#50H
MOV COMYEND, #5FH
MOV JCS1CS2, #00H
LCALL DISP
MOV DPTR, #M
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H ;:
MOV COMYSTART,#60H
MOV COMYEND, #6FH
MOV JCS1CS2, #00H
LCALL DISP
MOV R6,#00H;用于判是右屏,还是左屏显示
MOV R5,#70H;数据显示起始列
MOV R4,#00H;计算输入数的个数
MOV R0,#53H;存放数据首地此
LOOOPE: LCALL KEY
MOV KEYZHI,A
CJNE A,#00H,LPE
LJMP LOOOPE
LPE : MOV A,KEYZHI
CJNE A,#10H,KUE
LJMP PP
KUE: MOV A,KEYZHI
DEC A
MOV @R0,A
LCALL FINDTAB
MOV COMXSTART,#0B8H
MOV COMXEND,#0B9H
MOV COMYSTART,R5
MOV A,#0FH
ADD A,R5
MOV COMYEND,A
MOV JCS1CS2,R6
LCALL DISP
MOV A,R5
ADD A,#10H
MOV R5,A
DEC R0
INC R4
MOV A,R4
CJNE A,#01H,RRRE
MOV R6,#01H
MOV R5,#40H
RRRE: LJMP LOOOPE
;置数结束
PP: MOV DPTR, #GG
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H ;(ma)
MOV COMYSTART,#70H
MOV COMYEND,#7FH
MOV JCS1CS2,#01H
LCALL DISP
MOV R0,#50H ;十进制数转换成十六进制数(转换后存入56,57单元)
MOV R1,#4FH
LCALL BCDHEX
;MOV 57H,5FH
MOV 56H,5FH ;56存放高位
LCALL DAC0832
MOV DPTR, #ZU2
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH ;实
MOV COMYSTART,#40H
MOV COMYEND, #4FH
MOV JCS1CS2, #00H
LCALL DISP
MOV DPTR, #ZU3
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH ;测
MOV COMYSTART,#50H
MOV COMYEND, #5FH
MOV JCS1CS2, #00H
LCALL DISP
MOV DPTR, #M
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH ;:
MOV COMYSTART,#60H
MOV COMYEND, #6FH
MOV JCS1CS2, #00H
LCALL DISP
LCALL ADC0809 ;读取实测值
;MOV 60H,#0C8H
MOV 30H,60H ;所加和高位放在31H单元,30h为低位
MOV 31H,#00H
LCALL ADC0809 ;读取实测值
;MOV 60H,#0C8H
MOV 30H,60H ;所加和高位放在31H单元,30h为低位
MOV 31H,#00H
LCALL HEXBCD ;调十六进制转换十进制的子程序
MOV A,41H ;转换后的值放入40,41h单元
ANL A,#0F0H ;拆字把压缩的BCD转换成非压缩的BCD
;转换后放入50--53h单元(53为高位)
SWAP A
MOV 63H,A
MOV A,41H
ANL A,#0FH
MOV 62H,A
MOV A,40H
ANL A,#0F0H
SWAP A
MOV 61H,A
MOV A,40H
ANL A,#0FH
MOV 60H,A
MOV R0, #STEST
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH
MOV COMYSTART,#70H
MOV COMYEND, #7FH
MOV JCS1CS2, #00H
LCALL DISP
DEC R0
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH
MOV COMYSTART,#40H
MOV COMYEND, #4FH
MOV JCS1CS2, #01H
LCALL DISP
DEC R0
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH
MOV COMYSTART,#50H
MOV COMYEND, #5FH
MOV JCS1CS2, #01H
LCALL DISP
DEC R0
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH
MOV COMYSTART,#60H
MOV COMYEND, #6FH
MOV JCS1CS2, #01H
LCALL DISP
MOV DPTR, #GG
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH ;(ma)
MOV COMYSTART,#70H
MOV COMYEND, #7FH
MOV JCS1CS2, #01H
LCALL DISP
LJMP TSF0
;B键功能区
;步进值数子程序(所置数存放在48,49h单元)
KSS: MOV DPTR, #ZU0
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H ;给
MOV COMYSTART,#40H
MOV COMYEND, #4FH
MOV JCS1CS2, #00H
LCALL DISP
MOV DPTR, #ZU1
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H ;定
MOV COMYSTART,#50H
MOV COMYEND, #5FH
MOV JCS1CS2, #00H
LCALL DISP
MOV DPTR, #M
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H ;:
MOV COMYSTART,#60H
MOV COMYEND, #6FH
MOV JCS1CS2, #00H
LCALL DISP
MOV R0, #53H
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H
MOV COMYSTART,#70H
MOV COMYEND, #7FH
MOV JCS1CS2, #00H
LCALL DISP
DEC R0
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H
MOV COMYSTART,#40H
MOV COMYEND, #4FH
MOV JCS1CS2, #01H
LCALL DISP
DEC R0
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H
MOV COMYSTART,#50H
MOV COMYEND, #5FH
MOV JCS1CS2, #01H
LCALL DISP
DEC R0
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H
MOV COMYSTART,#60H
MOV COMYEND, #6FH
MOV JCS1CS2, #01H
LCALL DISP
MOV DPTR, #GG
MOV COMXSTART,#0B8H
MOV COMXEND, #0B9H ;(ma)
MOV COMYSTART,#70H
MOV COMYEND, #7FH
MOV JCS1CS2, #01H
LCALL DISP
;实测值显示(显示存放单元60--63h)
II: MOV DPTR, #ZU2
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH ;实
MOV COMYSTART,#40H
MOV COMYEND, #4FH
MOV JCS1CS2, #00H
LCALL DISP
MOV DPTR, #ZU3
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH ;测
MOV COMYSTART,#50H
MOV COMYEND, #5FH
MOV JCS1CS2, #00H
LCALL DISP
MOV DPTR, #M
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH ;:
MOV COMYSTART,#60H
MOV COMYEND, #6FH
MOV JCS1CS2, #00H
LCALL DISP
MOV R0, #STEST
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH
MOV COMYSTART,#70H
MOV COMYEND, #7FH
MOV JCS1CS2, #00H
LCALL DISP
DEC R0
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH
MOV COMYSTART,#40H
MOV COMYEND, #4FH
MOV JCS1CS2, #01H
LCALL DISP
DEC R0
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH
MOV COMYSTART,#50H
MOV COMYEND, #5FH
MOV JCS1CS2, #01H
LCALL DISP
DEC R0
MOV A, @R0
LCALL FINDTAB1
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH
MOV COMYSTART,#60H
MOV COMYEND, #6FH
MOV JCS1CS2, #01H
LCALL DISP
MOV DPTR, #GG
MOV COMXSTART,#0BAH
MOV COMXEND, #0BBH ;(ma)
MOV COMYSTART,#70H
MOV COMYEND, #7FH
MOV JCS1CS2, #01H
LCALL DISP
;MOV R0,#50H ;十进制数转换成十六进制数(转换后存入56,57单元)
;MOV R1,#4FH
;LCALL BCDHEX
MOV 56H,5EH ;56存放高位
MOV 57H,5FH
MOV DPTR, #ZU4
MOV COMXSTART,#0BCH
MOV COMXEND, #0BDH ;步
MOV COMYSTART,#40H
MOV COMYEND, #4FH
MOV JCS1CS2, #00H
LCALL DISP
MOV DPTR, #ZU5
MOV COMXSTART,#0BCH
MOV COMXEND, #0BDH ;进
MOV COMYSTART,#50H
MOV COMYEND, #5FH
MOV JCS1CS2, #00H
LCALL DISP
MOV DPTR, #M
MOV COMXSTART,#0BCH
MOV COMXEND, #0BDH ;:
MOV COMYSTART,#60H
MOV COMYEND, #6FH
MOV JCS1CS2, #00H
LCALL DISP
MOV R6,#00H;用于判是右屏,还是左屏显示
MOV R5,#70H;数据显示起始列
MOV R4,#00H;计算输入数的个数
MOV R0,#48H;存放数据首地此
LOOOPE1: LCALL KEY
MOV KEYZHI,A
CJNE A,#00H,LPE1
LJMP LOOOPE1
LPE1 : MOV A,KEYZHI
CJNE A,#10H,KUE1
LJMP KS1
KUE1: MOV A,KEYZHI
DEC A
MOV @R0,A
LCALL FINDTAB
MOV COMXSTART,#0BCH
MOV COMXEND,#0BDH
MOV COMYSTART,R5
MOV A,#0FH
ADD A,R5
MOV COMYEND,A
MOV JCS1CS2,R6
LCALL DISP
MOV A,R5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -