已經解決了,找到四字節無符號除法程序,
頻率=1/周期(秒)
單片機測得是US周期,就有公式
頻率=1000000/周期us
SZJCF:
MOV R2,20H ;被除數
MOV R3,21H ;被除數
MOV R4,22H ;被除數
MOV R5,23H ;被除數
MOV R6,24H ;除數
MOV R7,25H ;除數
DIVD:CLR C ;比較被除數和除數
MOV A,R3
SUBB A,R7
MOV A,R2
SUBB A,R6
JC DVD1
SETB OV ;溢出
RET
DVD1:MOV B,#10H ;計算雙字節商
DVD2:CLR C ;同時左移一位
MOV A,R5
RLC A
MOV R5,A
MOV A,R4
RLC A
MOV R4,A
MOV A,R3
RLC A
MOV R3,A
XCH A,R2
RLC A
XCH A,R2
MOV F0,C ;保存溢出位
CLR C
SUBB A,R7 ;計算(R2R3-R6R7)
MOV R1,A
MOV A,R2
SUBB A,R6
ANL C,/F0 ;結果判斷
JC DVD3
MOV R2,A ;夠減,
MOV A,R1
MOV R3,A
INC R5 ;
DVD3:
DJNZ B,DVD2 ;計算完十六位商
|