|
|||||||||||
| 技術(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ī) |
我現(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 于 2005/4/8 11:07:00 發(fā)布:
分步怎么算 找個(gè)多字節(jié)浮點(diǎn)算法吧,怎么會(huì)分布算呢 |
|
| 3樓: | >>參與討論 |
| 作者: maolei21ic 于 2005/4/8 12:18:00 發(fā)布:
北航有一本MCS51/96浮點(diǎn)程序,可以參考 |
|
| 4樓: | >>參與討論 |
| 作者: isoar 于 2005/4/8 12:32:00 發(fā)布:
計(jì)數(shù)方式測(cè)頻,只能在一個(gè)范圍內(nèi)保證精度,低頻還湊合,高了不行 |
|
| 5樓: | >>參與討論 |
| 作者: lurkers 于 2005/4/8 13:58:00 發(fā)布:
四字節(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 于 2005/4/8 14:46:00 發(fā)布:
頂一下 樓上的真行,真熱心 |
|
| 7樓: | >>參與討論 |
| 作者: 無(wú)業(yè)游名 于 2005/7/26 10:06:00 發(fā)布:
有8字節(jié)/4字節(jié)的程序嗎???? |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |