📄 频率计.txt
字号:
ORG 0000H
AJMP MAIN
ORG 001BH
AJMP INT_T1
ORG 0040H
MAIN: MOV 30H,#00H
MOV 31H,#00H
MOV 32H,#00H
MOV DPTR,#0FF82H
MOV A,#0D1H
MOVX @DPTR,A
LP: MOVX A,#DPTR
JB ACC.7,LP
MOV A,#00H
MOVX #DPTR,A
MOV A,#2AH
MOV R2,#14H
MOV TMOD,#10011101B
MOV TL1,#00H
MOV TH1,#4CH
SETB TR1
SETB ET1
MOV TL0,#00H
MOV TH0,#00H
SETB TR0
SETB ET0
SJMP $
INT_T1: MOV TL0,#00H
MOV TH0,#00H
MOV TL1,#00H
MOV TH1,#4CH
DJNZ R2,LOOP
LCALL DELAY1
CLR TR0
CLR TR1
LOOP: RETI
DELAY1:
LCALL HB2
LCALL DIR
HB2: CLR A ;BCD码初始化
MOV R3,A
MOV R4,A
MOV R5,A
MOV R2,#10H ;转换双字节十六进制整数
HB3: MOV A,R7 ;从高端移出待转换数的一位到CY中
RLC A
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R5 ;BCD码带进位自身相加,相当于乘2
ADDC A,R5
DA A ;十进制调整
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
MOV A,R3
ADDC A,R3
MOV R3,A ;双字节十六进制数的万位数不超过6,不用调整
DJNZ R2,HB3 ;处理完16bit
RET
DIR: MOV DPTR,#0FF82H ;初始化端口
MOV A,#90H
MOV @DPTR,A
MOV R0,#70H ;显示器端口
MOV R7,#06H ;确定要显示个数
MOV DPTR,#0FF80H
LOOP: MOV A,@R0
ADD A,#05H
MOVX A,@A+PC
INC 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 6DH,02H,08H,00H,59H,0FH,76H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -