📄 plj100.asm
字号:
MOV A,R0
MOV R4,A
MOV A,R1
MOV R5,A
MOV A,R3
MOV R7,A
MOV A,R0
ADD A,R3
MOV R6,A
MOV R1,A
LP05: MOV @R1,#00H
INC R1
LCALL wdt_dog
DJNZ R3,LP05
MOV A,R7
ADD A,R7
MOV R2,A
MOV B,#04H
MUL AB
LP10: PUSH ACC
MOV A,R2
MOV R3,A
MOV A,R4
MOV R1,A
CLR C
;================
push acc
mov 49h,a
mov 4ah,r6
lcall dspla
mov a,49h
mov r6,4ah
pop acc
CLR C
LP20: MOV A,@R1
RLC A
MOV @R1,A
INC R1
DJNZ R3,LP20
NEXT: MOV A,R6
MOV R0,A
MOV A,R5
MOV R1,A
MOV A,R7
MOV R3,A
CLR C
LP3: MOV A,@R0
SUBB A,@R1
PUSH ACC
INC R0
INC R1
DJNZ R3,LP3
MOV A,R7
MOV R3,A
JC SMALL
MOV A,R4
MOV R0,A
INC @R0
MOV A,R6
ADD A,R7
DEC A
MOV R0,A
LP4: POP ACC
MOV @R0,A
DEC R0
DJNZ R3,LP4
SJMP NEXT
SMALL: POP ACC
;=====================
DJNZ R3,SMALL
POP ACC
DEC A
JNZ LP10
;===========
push acc
mov 49h,a
mov 4ah,r6
lcall dspla
mov a,49h
mov r6,4ah
pop acc
;==================
I504: MOV A,R6
ADD A,R7
DEC A
MOV R0,A
MOV R2,A
MOV A,@R0
JB 0E7H,ADD1
MOV A,R6
MOV R1,A
MOV A,R7
MOV R3,A
CLR C
LP5: MOV A,@R1
RLC A
MOV @R1,A
INC R1
DJNZ R3,LP5
MOV A,R2
MOV R0,A
MOV A,R7
MOV R3,A
ADD A,R5
DEC A
MOV R1,A
LP6: CLR C
MOV A,@R0
SUBB A,@R1
JC RETURN
JNZ ADD1
DEC R0
DEC R1
DJNZ R3,LP6
LCALL wdt_dog
ADD1: MOV A,R4
MOV R1,A
MOV A,R7
MOV R3,A
SETB C
LP71: MOV A,@R1
ADDC A,#00H
MOV @R1,A
INC R1
DJNZ R3,LP71
RETURN: MOV A,R4
MOV R0,A
MOV A,R7
MOV R3,A
RET
;===============================================
;=============================
;====================================
TIM1: RETI
KEY: ;4BH为功能寄存器,0/为频率测量,1/为计数器,2/为计数器停止
;4CH为显示寄存器,0/为8位显示,1/为4-5位显示
SETB KEY1
SETB KEY2
SETB KEY3
SETB KEY4
SETB ADRA
SETB ADRB
JB adra,PDNX1;计数键
JB key4,TTRW;频率键
LCALL DELAY10
JB adra,PDNX1
JB key4,TTRW
MOV KEYFUN,#00H
MOV GDIG,#08H;100m
SETB KEY_BZ
RET
TTRW: LCALL DELAY10
JB adra,PDNX1;频率
MOV KEYFUN,#00H
MOV GDIG,#04H;123
SETB F_FLAG
SETB KEY_BZ
RET
PDNX1: JB KEY4,PDNX2;计数键
LCALL DELAY10
JB KEY4,PDNX2
MOV KEYFUN,#01H
SETB C_FLAG
SETB KEY_BZ
RET
PDNX2: JB KEY3,PDNX4
LCALL DELAY10
JB KEY3,PDNX4
PPR: MOV KEYFUN,#02H
SETB H_FLAG
RET
;================================
PDNX3: JB KEY1,PDNX41
MOV XSDIG,#01H
LJMP PDNX4
PDNX41: MOV XSDIG,#00H
LJMP PDNX4
;=================================
PDNX4: JB key1,PDNX5;adra
LCALL DELAY10
JB key1,PDNX5
JB FY_BZ,S5
MOV FYDIG,#02H;分压x20
SETB FY_BZ
RET
S5: MOV FYDIG,#00H
CLR FY_BZ
RET
PDNX5: JB key2,PDNX6;adrb
LCALL DELAY10
JB key2,PDNX6
JB LB_BZ,L5
MOV LBDIG,#1
SETB LB_BZ
RET
L5: MOV LBDIG,#0
CLR LB_BZ
RET
PDNX6: RET
;====================================
DSPLA4: MOV A,DSPLA_ADD5
CLR C
SUBB A,#10
JC PDF1
JB XS_BZ1,PG1
MOV DSPLA_ADD5,A
MOV A,DSPLA_ADD8
ADD A,#10
MOV DSPLA_ADD8,A
PG1: MOV XSDIG1,#4
MOV DSPLA_ADD1,#32
MOV A,DSPLA_ADD1
ADD A,FYDIG
MOV DSPLA_ADD1,A
MOV A,DSPLA_ADD1
ADD A,LBDIG
ADD A,GDIG
MOV DSPLA_ADD1,A
RET
PDF1: MOV A,DSPLA_ADD4
CLR C
SUBB A,#10
JC PDF2
JB XS_BZ1,PG2
MOV A,DSPLA_ADD7
CLR C
ADDC A,#10
MOV DSPLA_ADD7,A
PG2: MOV DSPLA_ADD1,#32
MOV A,DSPLA_ADD1
ADD A,FYDIG
MOV DSPLA_ADD1,A
MOV A,DSPLA_ADD1
ADD A,LBDIG
ADD A,GDIG
MOV DSPLA_ADD1,A
MOV XSDIG1,#4
RET
PDF2: MOV A,DSPLA_ADD3
CLR C
SUBB A,#10
JC PDF3
JB XS_BZ1,PG3
MOV A,DSPLA_ADD6
CLR C
ADDC A,#10
MOV DSPLA_ADD6,A
PG3: MOV DSPLA_ADD1,#32
MOV A,DSPLA_ADD1
ADD A,FYDIG
MOV DSPLA_ADD1,A
MOV A,DSPLA_ADD1
ADD A,LBDIG
ADD A,GDIG
MOV DSPLA_ADD1,A
MOV XSDIG1,#4
RET
PDF3: MOV A,DSPLA_ADD2
CLR C
SUBB A,#10
JC PDF4
JB XS_BZ1,PG4
MOV A,DSPLA_ADD5
ADD A,#10
MOV DSPLA_ADD5,A
PG4: MOV DSPLA_ADD1,#32
MOV A,DSPLA_ADD1
ADD A,FYDIG
MOV DSPLA_ADD1,A
MOV A,DSPLA_ADD1
ADD A,LBDIG
ADD A,GDIG
MOV DSPLA_ADD1,A
MOV XSDIG1,#4
RET
PDF4: JB XS_BZ1,PG5
MOV DSPLA_ADD1,#20
MOV A,DSPLA_ADD1
ADD A,FYDIG
MOV DSPLA_ADD1,A
MOV A,DSPLA_ADD1
ADD A,LBDIG
ADD A,GDIG
MOV DSPLA_ADD1,A
PG5: MOV XSDIG1,#4
RET
;===========================
;=================================
BNBCD: SETB GK
CLR ADRB
CLR ADRA
MOV A,P2
MOV BCJSQ0,A
;========选择2通道====标准频率==
SETB ADRB
CLR ADRA
NOP
MOV A,P2
MOV BCJSQ1,A
;========选择3通道====标准频率==
CLR ADRB
SETB ADRA
NOP
MOV A,P2
MOV BCJSQ2,A
;========选择4通道====标准频率==
SETB ADRA
SETB ADRB
MOV A,P2
MOV BCJSQ3,A
LCALL DSPLA
;========================================
PKK: MOV R0,#BCD1
MOV R6,#4
PLJK2: MOV A,#00H
MOV @R0,A
INC R0
DJNZ R6,PLJK2
;===========================
MOV R0,#BCJSQ0
MOV R7,4
MOV R1,#BCD1
MOV A,R0
MOV R5,A
MOV A,R1
MOV R6,A
MOV A,R7
MOV R3,A
INC R3
CLR A
CLBCD1: MOV @R1,A
INC R1
DJNZ R3,CLBCD1
MOV A,R7
MOV B,#08
MUL AB
MOV R3,A
LP01: MOV A,R5
MOV R0,A
MOV A,R7
MOV R2,A
CLR C
LP11: MOV A,@R0
RLC A
MOV @R0,A
INC R0
DJNZ R2,LP11
MOV A,R6
MOV R1,A
MOV A,R7
MOV R2,A
INC R2
LP21: MOV A,@R1
ADDC A,@R1
DA A
MOV @R1,A
INC R1
DJNZ R2,LP21
DJNZ R3,LP01
MOV A,R6
MOV R1,A
RET
;==================
PFG: MOV R0,#BCD4
MOV A,@R0
ANL A,#0F0H
SWAP A
MOV DSPLA_ADD9,A
MOV A,@R0
ANL A,#0FH
MOV DSPLA_ADD8,A
DEC R0
MOV A,@R0
ANL A,#0F0H
SWAP A
MOV DSPLA_ADD7,A
MOV A,@R0
ANL A,#0FH
MOV DSPLA_ADD6,A
DEC R0
MOV A,@R0
ANL A,#0F0H
SWAP A
MOV DSPLA_ADD5,A
MOV A,@R0
ANL A,#0FH
MOV DSPLA_ADD4,A
DEC R0
MOV A,@R0
ANL A,#0F0H
SWAP A
MOV DSPLA_ADD3,A
MOV A,@R0
ANL A,#0FH
MOV DSPLA_ADD2,A
RET
;=========================================
txfg: PUSH ACC
PUSH DPH
PUSH DPL
PUSH 00H
PUSH B
PUSH PSW
JBC RI,RECEDATA9
JBC TI,KTH9
KTH9: POP PSW
POP B
POP 00H
POP DPL
POP DPH
POP ACC
RET
RECE_END9: LJMP KTH9
RECEDATA9: JNB RECE_BZ,RECE_END9
;RECE_READ: ; JB RECE_1,RECE_READ1
MOV A,SBUF
CLR C
SUBB A,#33H;40H为起始数据
JNZ RECE_END9
SETB RECE_1
clr ea
mov sbuf,#33h
CLR 9DH
S999: LCALL wdt_dog
jnb ti,S999
clr ti
; MOV RECEDATA2,#0FFH
kjh9: lcall wdt_dog
; MOV A,RECEDATA2
; JZ FDS9
; DEC RECEDATA2
; jnb ri,KJH9
FDS9: ; MOV A,SBUF
; clr ri
; CJNE A,#3FH,SENDD19
; LJMP SENDC99
SENDD19: LCALL SENDRD;回传读数据
TTY9: SETB RECE_BZ
CLR RECE_1
CLR RECE_2
CLR RECE_3;
CLR RECE_4
CLR RECE_5;1
SETB RECE_BZ
SETB 9DH
SETB ES
SETB EA
SETB TR0
SETB TR1
MOV DS_TIME,#3
CLR CLRD
SETB START
MOV TH0,#0FBH
MOV TL0,#18H
lcall wdt_dog
LJMP RECE_END9
WRDATA9: ; MOV RECE_BYE1,#15
LJMP tty9
PDERR29: LCALL PDERR
LJMP TTY9
SENDC99: LCALL SENDC
LJMP TTY9
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -