📄 frequency.txt
字号:
ORG 0000H
AJMP START
ORG 000BH ;T0中断入口
AJMP T0INT
ORG 001BH ;T1中断入口
AJMP T1INT
ORG 0030H
START:
MOV SP,#70H
MOV IE,#8AH ;开放T0、T1中断
MOV TMOD,#51H ;T0定时,T1计数
MOV TH0,#0B1H
MOV TL0,#0EBH ;定时10ms
MOV 20H,#200 ;100*10ms=1s
MOV TH1,#00H
MOV TL1,#00H
MOV P0,#0FFH
MOV P2,#00H
MOV 21H,#0H
MOV 22H,#0H
MOV 23H,#0H;存放采集到的频率
SETB TR0
SETB TR1
WAIT:
LCALL TENG
AJMP WAIT ;等待中断
T1INT:
INC 23H;计数器溢出则23H单元自增1
RETI
T0INT: ;定时10ms产生中断
DJNZ 20H,NEXT1
CLR TR1
CLR TR0
MOV 22H,TH1 ;1s时间到则采集数据
MOV 21H,TL1
ACALL TRANS
MOV TH1,#00H
MOV TL1,#00H
MOV 20H,#200
MOV 21H,#0H
MOV 22H,#0H
MOV 23H,#0H
SETB TR0
SETB TR1
NEXT1:MOV TH0,#0B1H;继续定时
MOV TL0,#0EBH
RETI
TRANS:
MOV A,23H
ANL A,#0F0H
SWAP A
MOV B,#0AH
DIV AB
MOV 24H,A
;;;;;;;;;;;;;;;;;存储第一位商
MOV A,B
SWAP A
ANL 23H,#0FH
ADD A,23H
MOV B,#0AH
DIV AB
MOV 25H,A
;;;;;;;;;;;;;;;;CUNCHUDIERWEISHANG
MOV A,B
MOV 2BH,22H
ANL 2BH,#0F0H
ADD A,2BH
SWAP A
MOV B,#0AH
DIV AB
MOV 26H,A
;;;;;;;;;;;;;;;;CUNCHUDISANWEISHANG
MOV A,B
SWAP A
ANL 22H,#0FH
ADD A,22H
MOV B,#0AH
DIV AB
MOV 27H,A
;;;;;;;;;;;;;;;CUNCHUDISIWEISHANG
MOV A,B
MOV 2BH,21H
ANL 2BH,#0F0H
ADD A,2BH
SWAP A
MOV B,#0AH
DIV AB
MOV 28H,A
;;;;;;;;;;;;;;CUNCHUDIWUWEISHANG
MOV A,B
SWAP A
ANL 21H,#0FH
ADD A,21H
MOV B,#0AH
DIV AB
MOV 29H,A;;;;;;CUNCHUDILIUWEISHANG
MOV 50H,B;;;;;;GEWEI
;---------------------------------
MOV A,24H
SWAP A
ADD A,25H
MOV B,#0AH
DIV AB
MOV 24H,A
;;;;;;;;CUNCHUDIYIWEISHANG
MOV A,B
SWAP A
ADD A,26H
MOV B,#0AH
DIV AB
MOV 25H,A
;;;;;;;;;CUNCHUDIERWEISHANG
MOV A,B
SWAP A
ADD A,27H
MOV B,#0AH
DIV AB
MOV 26H,A
;;;;;;;;CUNCHUDISANWEISHANG
MOV A,B
SWAP A
ADD A,28H
MOV B,#0AH
DIV AB
MOV 27H,A
;;;;;;;;CUNCHUDISIWEISHANG
MOV A,B
SWAP A
ADD A,29H
MOV B,#0AH
DIV AB
MOV 28H,A;;;;CUNCHUDIWUWEISHANG
MOV 51H,B;;;;SHIWEI
;-----------------------------
MOV A,24H
SWAP A
ADD A,25H
MOV B,#0AH
DIV AB
MOV 24H,A
;;;;;;;;;;;CUNCHUDIYIWEI
MOV A,B
SWAP A
ADD A,26H
MOV B,#0AH
DIV AB
MOV 25H,A
;;;;;;;;CUNCHUDIERWEISHANG
MOV A,B
SWAP A
ADD A,27H
MOV B,#0AH
DIV AB
MOV 26H,A
;;;;;;;;CUNCHUDISANWEISHANG
MOV A,B
SWAP A
ADD A,28H
MOV B,#0AH
DIV AB
MOV 27H,A;;CUNCHUDISIWEISHANG
MOV 52H,B;;BAIWEI
;----------------------------
MOV A,24H
SWAP A
ADD A,25H
MOV B,#0AH
DIV AB
MOV 24H,A
;;;;;;;;CUNCHUDIYIWEISHANG
MOV A,B
SWAP A
ADD A,26H
MOV B,#0AH
DIV AB
MOV 25H,A
;;;;;;;;CUNCHUDIERWEISHANG
MOV A,B
SWAP A
ADD A,27H
MOV B,#0AH
DIV AB
MOV 26H,A;;CUNCHUDISANWEISHANG
MOV 53H,B;;QIANWEI
;--------------------------------
MOV A,24H
SWAP A
ADD A,25H
MOV B,#0AH
DIV AB
MOV 24H,A
;;;;;;;;CUNCHUDIYIWEISHANG
MOV A,B
SWAP A
ADD A,26H
MOV B,#0AH
DIV AB
MOV 25H,A;;CUNCHUDISIWEISHANG
MOV 54H,B;WANGWEI
;------------------------------
MOV A,24H
SWAP A
ADD A,25H
MOV B,#0AH
DIV AB
MOV 55H,B;SHIWANGWEI
MOV 56H,A;BAIWANGWEI
RET
TENG:
MOV DPTR,#TAB
MOV R2,#07H
MOV R0,#50H
MOV R1,#60H
XUNHUAN:MOV A,@R0
MOVC A,@A+DPTR
MOV @R1,A
INC R0
INC R1
DJNZ R2,XUNHUAN
DISPLY:;将高位的0屏蔽不显示
MOV 2AH,#0
MOV R0,#56H
ST2:MOV A,@R0
JZ ST1
AJMP DISP
ST1:INC 2AH
DEC R0
AJMP ST2
DISP: ;显示数据
MOV A,#7
SUBB A,2AH
MOV R2,A
MOV R1,#60H
MOV R3,#0FEH
MOV A,R3
LOOP:MOV P2,A
MOV A,@R1
MOV P0,A
ACALL DL1MS
INC R1
MOV A,R3
RL A
MOV R3,A
DJNZ R2,LOOP
RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DL1MS:MOV R7,02H
DL:MOV R6,#56H
DJNZ R6,$
DJNZ R7,DL
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -