📄 adc 查询.asm
字号:
ORG 0000H
SJMP START
ORG 0030H
;******************
;初始化变量
;******************
START: CLR A
MOV 30H,A
MOV 31H,A
MOV 32H,A
MOV 33H,A
MOV 34H,A
MOV A,#0FFH
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LOOP: NOP
NOP
NOP
LCALL DISPLAY
LCALL ADC
LCALL PROC
LCALL DISPLAY
NOP
NOP
NOP
SJMP LOOP
;*********************
;;AD转换子程序查询方式
;*********************
ADC: MOV DPTR,#7FF8H
MOVX @DPTR,A
NOP
NOP
NOP
JNB P3.2,$
MOV DPTR,#7FF8H
MOVX A,@DPTR
MOV 30H,A
MOV DPTR,#7FF8H ;再次启动
MOVX @DPTR,A
RET
;*********************
;数据处理子程序
;*********************
PROC: MOV A,30H
MOV B,#51
DIV AB
MOV 34H,A
XCH A,B
MOV B,#10
MUL AB
JB OV,BCD1
MOV B,#51
DIV AB
MOV 33H,A
XCH A,B
AJMP BCD2
BCD1: MOV B,#51
DIV AB
ADD A,#5
MOV 33H,A
XCH A,B
ADD A,#5
BCD2: MOV B,#10
MUL AB
JB OV,BCD3
MOV B,#51
DIV AB
MOV 32H,A
AJMP BCD4
BCD3: MOV B,#51
DIV AB
ADD A,#5
MOV 32H,A
XCH A,B
ADD A,#5
BCD4: MOV B,#51
DIV AB
ADD A,#5
MOV 31H,A
AJMP BCD5
BCD5: RET
;*******************
;显示子程序
;*******************
DISPLAY:MOV A,34H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
ORL A,#80H ;加小数点
MOV P1,A
MOV A,#0FEH
MOV P2,A
LCALL DELAY
MOV A,33H
MOV DPTR, #TABLE
MOVC A,@A+DPTR
MOV P1,A
MOV A, #0FDH
MOV P2,A
LCALL DELAY
MOV A,32H
MOV DPTR, #TABLE
MOVC A,@A+DPTR
MOV P1,A
MOV A, #0FBH
MOV P2,A
LCALL DELAY
MOV A,31H
MOV DPTR, #TABLE
MOVC A,@A+DPTR
MOV P1,A
MOV A, #0F7H
MOV P2,A
LCALL DELAY
RET
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
DELAY: MOV R6,#14H
D0: MOV R7,#19H
D1: DJNZ R7,D1
DJNZ R6,D0
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -