標(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