📄 电压表.asm
字号:
$MOD841
CHAN EQU 0
CSEG
SP0 EQU 50H
CLK81 EQU P3.5
DAT81 EQU P3.3
KEY EQU P3.2
NUM0 EQU 30H
NUM1 EQU 31H
NUM2 EQU 32H
NUM3 EQU 33H
;--------------------------------------
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP SERVE1
ORG 0033H
LJMP SERVE2
ORG 0060H
MAIN: MOV R0,#0FFH
CLR A
QING: MOV @R0,A
DJNZ R0,QING
MOV SP,#SP0
LCALL YS
;---------------------------------------
LCALL INI8281
LCALL INI841
LJMP AGAIN
;---------------------------------------
INI841: MOV ADCCON1,#0A8H
MOV ADCCON2,#CHAN
MOV ADCCON3,#07H
SETB EA
SETB EX0
SETB PADC
CLR PX0
RET
;----------------------------------------
INI8281:SETB CLK81
SETB DAT81
MOV A,#12H
LCALL WTO81
MOV A,#80H
LCALL WTO81
RET
;----------------------------------------
AGAIN: ;LCALL DELAY1
SETB ADCCON2.4
LJMP AGAIN
SERVE1: SETB EADC
RETI
SERVE2: MOV R0,ADCDATAL
MOV R1,ADCDATAH
LCALL CHULI
LCALL XIANSHI
RETI
;--------------------------------------
CHULI: MOV R3,#00H
MOV R2,#28H
LCALL CHENGJI
MOV NUM0,R6
MOV R1,41H
MOV R0,40H
MOV R3,#00H
MOV R2,#0AH
LCALL CHENGJI
MOV NUM1,R6
MOV R1,41H
MOV R0,40H
MOV R3,#00H
MOV R2,#0AH
LCALL CHENGJI
MOV NUM2,R6
MOV R1,41H
MOV R0,40H
MOV R3,#00H
MOV R2,#0AH
LCALL CHENGJI
MOV NUM3,R6
RET
;-------------------------------------------------
CHENGJI:MOV 40H,#00H
MOV 41H,#00H
MOV 42H,#00H
MOV 43H,#00H
;--------------
MOV A,R2
MOV B,R0
MUL AB
MOV 40H,A
MOV 41H,B
;----------------
MOV A,R3
MOV B,R0
MUL AB
MOV 42H,B
CLR C
ADDC A,41H
MOV 41H,A
JNC NEXT1
INC 42H
;------------------
NEXT1:MOV A,R2
MOV B,R1
MUL AB
CLR C
ADDC A,41H
MOV 41H,A
MOV A,B
ADDC A,42H
MOV 42H,A
JNC NEXT2
INC 43H
;--------------------
NEXT2: MOV A,R3
MOV B,R1
MUL AB
CLR C
ADDC A,42H
MOV 42H,A
MOV A,B
ADDC A,43H
MOV 43H,A
;---------------------
MOV R7,43H
MOV R6,42H
MOV R5,41H
MOV R4,40H
RET
;-------------------------------------------------
XIANSHI:MOV A,#00H
LCALL WTO81
MOV A,#7FH
LCALL WTO81
;--------------------------------------------------
MOV R1,NUM0
MOV R0,#00H
LCALL ZHU_XIANSHI
;-------------------------------------
MOV R1,NUM1
MOV R0,#10H
LCALL ZHU_XIANSHI
;-------------------------------------
MOV R1,NUM2
MOV R0,#20H
LCALL ZHU_XIANSHI
;---------------------------------------
MOV R1,NUM3
MOV R0,#30H
LCALL ZHU_XIANSHI
RET
;------------------------------------------
ZHU_XIANSHI: MOV A,#15H
LCALL WTO81
MOV A,R1
ORL A,R0
LCALL WTO81
RET
;----------------------------------------
WTO81: MOV R6,#08H
WAT: CLR CLK81
LCALL DELAY
SETB CLK81
JB DAT81,WAT
CLR CLK81
LCALL DELAY
SETB CLK81
JNB DAT81,$
WTB81: RLC A
MOV DAT81,C
CLR CLK81
LCALL DELAY
SETB CLK81
LCALL DELAY
LCALL DELAY
DJNZ R6,WTB81
SETB DAT81
RET
;----------------------------------------------
DELAY: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
RET
;-----------------------------------------------
DELAY1: MOV R7,#200
DLY1: MOV R5,#55
DLY2: MOV R6,#50
DJNZ R6,$
DJNZ R5,DLY2
DJNZ R7,DLY1
RET
;-------------------------------------------------
YS: MOV R5,#00H
MOV R4,#50H
YS1: DJNZ R5,$
DJNZ R4,YS1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -