音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請(qǐng)教MCU算法

作者:xc_cz 欄目:單片機(jī)
請(qǐng)教MCU算法
我現(xiàn)在要用單片機(jī)測(cè)量頻率,在把記數(shù)值計(jì)算成頻率的時(shí)候,引起很大誤差。
比如:當(dāng)記數(shù)值為24814的時(shí)候,請(qǐng)計(jì)算機(jī)直接算1000000/24814=40.299
而用8位MCU必須分步計(jì)算。但計(jì)算結(jié)果是41.6 。請(qǐng)問(wèn)如何算才能使誤差最小。


2樓: >>參與討論
stering
分步怎么算
找個(gè)多字節(jié)浮點(diǎn)算法吧,怎么會(huì)分布算呢

3樓: >>參與討論
maolei21ic
北航有一本MCS51/96浮點(diǎn)程序,可以參考
 
4樓: >>參與討論
isoar
計(jì)數(shù)方式測(cè)頻,只能在一個(gè)范圍內(nèi)保證精度,低頻還湊合,高了不行
 
5樓: >>參與討論
lurkers
四字節(jié)/二字節(jié),計(jì)算結(jié)果40299
網(wǎng)上一搜就搜到這樣的程序,稍加改動(dòng),在偉福編譯器下運(yùn)行通過(guò)。

divdll    equ    20h             ;定義被除數(shù)單元
divdlh    equ    21h
divdhl    equ    22h
divdhh    equ    23h
divl      equ    24h            ;定義除數(shù)單元
divh      equ    25h
templ     equ    26h            ;定義余數(shù)單元
temph     equ    27h
           
           org     0020h
           mov    sp,#40h
           mov    divdhh,#3bh
           mov    divdhl,#9ah
           mov    divdlh,#0cah
           mov    divdll,#00h
           mov    divh,#60h
           mov    divl,#0eeh
divd:      mov    a,divh       ;判除數(shù)是否為零
           orl    a,divl
           jnz    divd0
           setb   ov            ;除數(shù)為零,置溢出標(biāo)志
mmain:     sjmp   $
divd0:     mov    templ,#00h    ;除數(shù)不為零,進(jìn)行運(yùn)算
           mov    temph,#00h
           mov    b,#20h        ;置循環(huán)次數(shù)
divd1:     clr    c             ;進(jìn)位位、余數(shù)單元和
           mov    a,divdll      ;被除數(shù)單元全體逐個(gè)
           rlc    a             ;向左循環(huán)移位
           mov    divdll,a
           mov    a,divdlh
           rlc    a
           mov    divdlh,a
           mov    a,divdhl
           rlc    a
           mov    divdhl,a
           mov    a,divdhh
           rlc    a
           mov    divdhh,a
           mov    a,templ
           rlc    a
           mov    templ,a
           xch    a,temph
           rlc    a
           xch    a,temph
           mov    f0,c            ;保存進(jìn)位位
           clr    c
           subb   a,divl          ;用余數(shù)減去除數(shù)
           mov    r7,a
           mov    a,temph
           subb   a,divh
           anl    c,/f0           ;判斷是否夠減
           jc     divd2           ;不夠減,移下一位
           mov    templ,r7        ;夠減,刷新余數(shù)單元
           mov    temph,a
           inc    divdll          ;商上1
divd2:     djnz   b,divd1
           clr    ov
           sjmp   mmain
           end


6樓: >>參與討論
lanyanttt
頂一下
樓上的真行,真熱心

7樓: >>參與討論
無(wú)業(yè)游名
有8字節(jié)/4字節(jié)的程序嗎????
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
[求助]  AT89C58是什么樣的封裝啊,與S52有什么區(qū)別 ???
急要51的報(bào)價(jià).
w78e516isp4K如何程序燒錄
在KEIL C51中怎么嵌入?yún)R編指令?
想作LED點(diǎn)陣屏嗎?看看外國(guó)人的設(shè)計(jì)。
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)