標(biāo)題:
51單片機(jī)周期測(cè)頻率,周期如何求倒數(shù),匯編
[打印本頁(yè)]
作者:
新鄉(xiāng)家電維修
時(shí)間:
2018-4-28 10:11
標(biāo)題:
51單片機(jī)周期測(cè)頻率,周期如何求倒數(shù),匯編
本帖最后由 新鄉(xiāng)家電維修 于 2018-5-19 16:06 編輯
我會(huì)用1秒閘門定時(shí)計(jì)數(shù)脈沖個(gè)數(shù)做頻率,不用計(jì)算,直接轉(zhuǎn)換成十進(jìn)制就行了,
現(xiàn)在想做周期測(cè)低頻,匯編語(yǔ)言如何做周期倒數(shù)(1/T=F)
誰(shuí)有字節(jié)轉(zhuǎn)換方法,比如移位方法匯編
結(jié)束此貼,
我已經(jīng)寫好了,測(cè)量范圍5--1500轉(zhuǎn)/分鐘
測(cè)一個(gè)周期:第一個(gè)下降沿啟動(dòng)定時(shí)器,第二個(gè)下降沿停止定時(shí)。讀出定時(shí)值
轉(zhuǎn)換公式(這個(gè)很重要):
1/定時(shí)值*60=轉(zhuǎn)速
,
周期法測(cè)轉(zhuǎn)速,越低轉(zhuǎn)速越準(zhǔn)確,整好和閘門法定時(shí)測(cè)頻率相反,閘門定時(shí)高頻率比低頻準(zhǔn)確
(
前提是不接近上限,誤差是不大的
)
用的下面網(wǎng)上找的字節(jié)除法解決的
入口條件:被除數(shù)在R2、R3、R4、R5中,除數(shù)在R6、R7中。
出口信息:OV=0 時(shí),雙字節(jié)商在R2、R3中,OV=1 時(shí)溢出。
影響資源:PSW、A、B、R1~R7 堆棧需求: 2字節(jié)
DIVD: CLR C ;比較被除數(shù)和除數(shù)
MOV A,R3
SUBB A,R7
MOV A,R2
SUBB A,R6
JC DVD1
SETB OV ;溢出
RET
DVD1: MOV B,#10H ;計(jì)算雙字節(jié)商(雙字節(jié)移動(dòng)10H=16次)
DVD2: CLR C ;部分商和余數(shù)同時(shí)左移一位
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 ;計(jì)算(R2R3-R6R7)
MOV R1,A
MOV A,R2
SUBB A,R6
ANL C,/F0 ;結(jié)果判斷
JC DVD3
MOV R2,A ;夠減,存放新的余數(shù)
MOV A,R1
MOV R3,A
INC R5 ;商的低位置一
DVD3: DJNZ B,DVD2 ;計(jì)算完十六位商(R4R5)
MOV A,R4 ;將商移到R2R3中
MOV R2,A
MOV A,R5
MOV R3,A
CLR OV ;設(shè)立成功標(biāo)志
RET
得到商就是轉(zhuǎn)速,
還要用雙字節(jié)轉(zhuǎn)BCD碼程序
最后調(diào)用顯示程序,
完成。
作者:
yzwzfyz
時(shí)間:
2018-4-28 22:19
去書上找匯編除法程序,就可以求倒數(shù)了。
作者:
dbsai
時(shí)間:
2018-4-28 22:51
去書上找匯編除法程序,就可以求倒數(shù)了。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1