📄 dvm.txt
字号:
ORG 0000H
AJMP MAIN
MAIN: MOV DPTR,#8001H ;74245清0
MOV A,#00H
MOV DPTR,#8002H ;74374清0
MOV A,#00H
MOVX @DPTR,A
MOV R3,#00H
MOV R4,#00H
MOV R2,#11011111B
KEY0: ACALL KEXAM
JZ KEY0
ACALL DL10mS
ACALL KEXAM
JZ KEY0
KEY1: MOV DPTR,#8002H ;列地址
MOV A,R2
MOVX @DPTR,A
KEY10: MOV DPTR, #8001H ;行地址
MOVX A,@DPTR
CPL A
ANL A,#0FH
JNZ KEY2
KEY11: MOV A,R3
ADD A,#04H
MOV R3,A
MOV A,R2
RR A
MOV R2,A
JB ACC.1,KEY1
AJMP MAIN
KEY2: CPL A
KEY3: INC R4
RRC A
JC KEY3
KEY4: ACALL DL10mS
ACALL KEXAM
JNZ KEY4
MOV A,R4
ADD A,R3
MOV 30H,A
KEY5: CJNE A,#01H,KEY6
AJMP CH0
KEY6: CJNE A,#02H,KEY7
AJMP CH1
KEY7: CJNE A,#03H,KEY0
AJMP CH01
CH0: MOV DPTR,#9000H ;IN0通道采样
MOV A,#00H
LOP: LCALL DA1
LCALL PTDS ;采样值送显示缓冲区
DIS1: LCALL DISPLAY ;显示
LCALL DL10ms
LCALL KEXAM
JZ DIS1
LJMP MAIN
CH1: MOV DPTR,#9001H ;IN1通道采样
MOV A,#01H
LJMP LOP
CH01: MOV DPTR,#9000H ;自动扫描
MOV A,#00H ;IN1通道采样
LCALL DA1
LCALL PTDS ;采样值送显示缓冲区
MOV R1,#20H
SLOOP: LCALL DISPLAY ;显示
LCALL DL10ms
DJNZ R1,SLOOP
MOV DPTR,#9001H
MOV A,#01H
LCALL DA1
LCALL PTDS
MOV R1,#20H
SLOOP2: LCALL DISPLAY
LCALL DL10ms
DJNZ R1,SLOOP2
LCALL KEXAM
JZ CH01
LJMP MAIN
KEXAM: MOV DPTR,#8002H ; 列地址
MOV A,#00H
MOVX @DPTR,A
MOV DPTR,#8001H ; 列地址
MOVX A,@DPTR
CPL A
ANL A,#0FH
RET
DA1: MOVX @DPTR,A ;起动A/D转换
LCALL DL100US
MOVX A,@DPTR ;读数
MOV R0,#30H ;送采样值缓冲区首址
RET
PTDS: MOV R5,A ; 采样值送显示缓冲区
ACALL PDS ;采样值暂存子程序
MOV A,R5
SWAP A
PDS: ANL A,#0FH
MOV @R0,A ;采样值入暂存单元
INC R0 ;指向下一暂存单元
RET
DL100US:MOV 01H, #0FH ; 转换延时子程序
MOV 00H, #20H
DLOOP: DJNZ 00H, DLOOP
DJNZ 01H, DLOOP
RET
DL10ms: MOV 11H,#08H ;按键/显示延时子程序
DL: MOV 10H,#0FFH
DL0: DJNZ 10H,DL0
DJNZ 11H,DL
RET
DISPLAY:MOV R0, #31H
MOV R7, #2 ; 共2个八段管
MOV R6, #00100000b ; 从左边开始显示
MOV DPTR, #OUTBIT
MOV A, #0
MOVX @DPTR, A ; 关所有八段管
LOOP: MOV DPTR,#TAB
MOV A,@R0
MOVC A,@A+DPTR
MOV DPTR, #OUTSEG
MOVX @DPTR, A
MOV DPTR, #OUTBIT
MOV A, R6
MOVX @DPTR, A ; 显示一位八段管
CALL DL10ms
MOV A, R6 ; 显示下一位
RR A
MOV R6, A
DEC R0
DJNZ R7, LOOP
RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H,
;DB 0FFH,3FH,06H,66H,07H,71H,5BH,6DH,7FH,
;DB 79H,4FH,7DH,6FH,5EH,39H,7CH,77H,
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -