開發(fā)人員在開發(fā)51單片機(jī)應(yīng)用系統(tǒng)過程中,往往遇到多字節(jié)除法及倒數(shù)問題。但目前一些資料中所介紹的有關(guān)程序,復(fù)雜且功能單一、精度低。本人在研制((GZ93多功能程控測試儀》過程中,自行設(shè)計的4字節(jié)除4字節(jié)程序具有功能多、精度高、簡短、運(yùn)行速度快等特點,可用于求4字節(jié)倒數(shù),求商的整數(shù)(結(jié)果為4字節(jié)),求商的小數(shù)部分(結(jié)果為4字節(jié)),調(diào)用兩次即可求8字節(jié)商。
??? 一、使用方法
??? 1.求商的整數(shù)
??? (1)16進(jìn)制被除數(shù)送51內(nèi)部RAM中20(低位)至23(高位)單元,除數(shù)送50(低位)至53(高位)單元,擴(kuò)充單元24至27清零。??? ’
??? (2)調(diào)子程序DIV。
??? (3)20(低位)至23(商位)單元為所求商,24至27單元為余數(shù)。
? 2.求八字節(jié)商
? (1)先求商的整數(shù)部分
? 方法同上,然后將20至23單元的整數(shù)商送其它單元保存。
??? (2)求商的小數(shù)部分
??? 20至23單元清零;其余單元內(nèi)容不變;調(diào)DIV子程序;小數(shù)商在23至20單元中,小數(shù)點位于23單元
前。
??? 3.求倒數(shù)
??? (1)20至23單元及25至27單元清零,01H送24單元,除數(shù)送50(低位)至53(高位)單元。
??? (2)調(diào)子程序DIV。
??? (3)倒數(shù)在23至20單元,小數(shù)點位于23單元前。
??? 二、程序清單
???? ORG 0500H
DIV: CLR 7EH
???? MOV R0,#50H
???? MOV R7,#03H
DV0: MOV A,@R0
???? INC R0
???? ORL A,@R0
???? JNZ DV1
???? DJNZ R7,DV0
???? SETB 7EH
???? SJMP DV8
DV1: MOV R6,#20H
???? CLRC
DV2: MOV R0,#20H
???? MOV R7,#08H
DV3: MOV A,@R0
???? RLC A
???? MOV @R0,A
???? INC R0
???? DJNZ R7,DV3
???? MOV 0F0H,C
???? CLR C
???? MOV R0,#24H
???? MOV R1,#50H
???? MOV R7,#04H
DV4: MOV A,@R0
???? SUB A,@R1
???? MOV @R0,A
???? INC R0
???? INC Rl
???? DJNZ R7,DV4
???? JNB 0F0H,DV5
???? CLR C
???? SJMP DV6
DV5: JNC DV6
???? MOV A,24H
???? ADD A,50H
???? MOV 24H,A
???? MOV A,25H
???? ADDC A,51H
???? MOV 25H,A
???? MOV A,26H
???? ADDC A,52H
???? MOV 26H,A
???? MOV A,27H
???? ADDC A,53H
???? MOV 27H,A
DV6: CPL C
???? DJNZ R6,DV2
???? MOV R0,#20H
???? MOV R7,#04H
DV7: MOV A,@R0
???? RLC A
???? MOV @R0,A
???? INC R0
???? DJNZ R7,DV7
DV8: RET
???? END
51單片機(jī)的高精度除法程序及使用
- 單片機(jī)(619327)
相關(guān)推薦
51單片機(jī)燒寫程序的方法
STC89C51是應(yīng)用廣泛的51單片機(jī),很多人都是通過該單片機(jī)入門學(xué)習(xí)的,單片機(jī)的學(xué)習(xí)需要勤動手。單片機(jī)需要燒寫程序,要用到相關(guān)的軟件和硬件。下面介紹一下51單片機(jī)燒寫程序的方法。 1所用到的硬件
2023-09-11 10:10:003026
24位AD 模塊 單片機(jī) 模數(shù)轉(zhuǎn)換 高精度 采集卡 24位高精度ADS1256
大家好,24位高精度ADS1256 這個有人用過嗎,精度很高,可以做工程應(yīng)用了,我最近開發(fā)了這個ad板子,功能很全面,并且提供單片機(jī)和stm32程序,最方便上手了,大家?guī)臀铱纯矗€有需要什么改進(jìn)
2013-11-25 23:24:35
51單片機(jī)C語言程序設(shè)計
(原創(chuàng)【全】) 51單片機(jī)C語言程序設(shè)計--速學(xué)教程實例(入門篇+進(jìn)階+高級綜合).doc/(原創(chuàng)【全】) 51單片機(jī)C語言程序設(shè)計--速學(xué)教程實例(入門篇+進(jìn)階+高級綜合).doc/(原創(chuàng)00
2021-07-14 07:17:51
51單片機(jī)hx711稱重及程序
51單片機(jī)hx711稱重及程序,(一)項目介紹基于51單片機(jī)的HX711稱重計,最大稱重量為5kg,并且在LCD1602上顯示數(shù)值,可設(shè)置稱重物品單價,稱重精度可由按鍵key調(diào)節(jié)。誤差可達(dá)0。傳感器
2021-07-19 09:22:49
51單片機(jī)proteus仿真用單片機(jī)端口演示數(shù)據(jù)的除法運(yùn)算結(jié)果
本帖最后由 ningkui 于 2012-3-22 10:49 編輯
1、在單片機(jī)中進(jìn)行除法運(yùn)算,要盡量避免直接使用實型變量,因為實型變量占用字節(jié)多,非常耗費CPU的時間,所以盡量用整形數(shù)據(jù)來
2012-03-22 10:47:30
51單片機(jī)ws2811驅(qū)動程序
51單片機(jī)ws2811驅(qū)動程序,51驅(qū)動WS2812B三色流水燈 WS2812簡介模組選型關(guān)于WS2812的時序解析WS2812簡介WS2812B-2020是一個集控制電路與發(fā)光電路于一體的智能外
2021-07-21 08:44:03
51單片機(jī)尋址方式的疑問:為什么B寄存器在乘除法指令中是寄存器尋址?
51單片機(jī)中B寄存器是SFR,B寄存器僅在乘法、除法指令中為寄存器尋址,在其它指令中為直接尋址。那么它只有在乘除法時看做特殊功能寄存器,其他指令看做通用寄存器。但是直接尋址是訪問特殊功能寄存器的唯一方式,為什么B寄存器在乘除法指令中是寄存器尋址?
2019-01-01 09:45:47
51單片機(jī)的C程序設(shè)計
簡介本課程是單片機(jī)學(xué)習(xí)者從入門到深入的一套經(jīng)典視頻教程,以初學(xué)者為對象,從零開始手把手教你學(xué)習(xí)單片機(jī),循序漸進(jìn)地基于理論講解并結(jié)合實驗項目實戰(zhàn)開發(fā),講解當(dāng)前最熱門的51單片機(jī)的C程序設(shè)計!本
2021-11-23 08:06:11
51單片機(jī)(二)—— 如何燒寫51單片機(jī)程序 精選資料推薦
學(xué)習(xí)單片機(jī)很重要的一步就是為單片機(jī)燒寫程序,燒寫程序是初學(xué)者體驗單片機(jī)并快速入門的第一步,51單片機(jī)由于比較簡單,并且為了節(jié)省學(xué)習(xí)成本,一般很少使用調(diào)試器,而是直接用單片機(jī)的串口燒寫程序。下圖是我
2021-07-13 07:49:01
單片機(jī)C語言快速精度除法方案
本帖最后由 yonko 于 2016-10-28 19:14 編輯
目前的51單片機(jī)在進(jìn)行帶小數(shù)點結(jié)果的除法一般可以采用浮點數(shù)計算的方式,但是浮點數(shù)計算有一個缺點就是非常耗時,在對時間要求嚴(yán)格
2013-11-19 19:26:38
單片機(jī)如何生成高精度電壓信號?
的輸出精度,將輸出信號經(jīng)分壓后引回至C8051F410單片機(jī),利用單片機(jī)內(nèi)部的數(shù)/模轉(zhuǎn)換器測量該電壓,并與初始設(shè)定參數(shù)相比較.通過程序調(diào)節(jié)PWM波形的占空比.從而得到具有高可靠性和較高精度的直流電壓輸出
2019-08-08 07:46:18
AT89C51單片機(jī),51單片機(jī),控制3個步進(jìn)電機(jī)的C程序及硬件圖
AT89C51單片機(jī),51單片機(jī),控制3個步進(jìn)電機(jī)的C程序及硬件圖
2019-05-09 16:25:24
分享一個51單片機(jī)的小程序
這是個51單片機(jī)的小程序,是我接觸單片機(jī)之初的一個小練習(xí)。首先感謝學(xué)社的學(xué)長學(xué)姐指導(dǎo),再感謝我自己雖然學(xué)的不是這個專業(yè),卻仍在堅持。里面運(yùn)用了不少知識,其中比較重要的有外部中斷,數(shù)碼管動態(tài)顯示,按鍵
2021-07-15 09:08:09
基于AT89C51單片機(jī)的高精度測溫系統(tǒng)的研制
本帖最后由 eehome 于 2013-1-5 10:00 編輯
基于AT89C51單片機(jī)的高精度測溫系統(tǒng)的研制
2012-08-14 11:36:58
基于AVR單片機(jī)的高精度多功能數(shù)字電子秤設(shè)計
;軟件模塊又可分為主程序模塊、矩陣鍵盤掃描模塊、A/D轉(zhuǎn)換模塊和LCD1602模塊。 2 高精度多功能數(shù)字電子秤系統(tǒng)硬件設(shè)計 2.1 AVR單片機(jī) 本設(shè)計是選用AVR系列單片機(jī)中
2011-08-22 09:25:14
如何利用51單片機(jī)串口去燒錄程序呢
51單片機(jī)串口燒錄程序方法51 單片機(jī)串口燒錄程序方法一、說明介紹二、51 單片機(jī)串口引腳三、USART 轉(zhuǎn) USB 轉(zhuǎn)換器三、燒錄程序流程1、硬件連接2、軟件燒錄51 單片機(jī)串口燒錄程序方法一
2021-12-08 08:14:52
如何利用單片機(jī)實現(xiàn)超高精度電參數(shù)測試設(shè)計?
如何利用單片機(jī)實現(xiàn)超高精度電參數(shù)測試設(shè)計?
2022-01-24 07:05:12
如何去使用基于51單片機(jī)的新型按鍵掃描程序
如何去使用基于51單片機(jī)的新型按鍵掃描程序?基于51單片機(jī)的新型按鍵掃描程序有哪些應(yīng)用?
2021-10-19 09:14:19
如何去設(shè)計一種STM32單片機(jī)的高精度超聲波測量系統(tǒng)
和準(zhǔn)確性。超聲波測距是一種典型的非接觸測量方式,在不同的傳播介質(zhì)中具有不同的傳播速度其系統(tǒng)結(jié)構(gòu)簡單、成本低。只有了解超聲波測距的原理、了解STM32單片機(jī)才能設(shè)計出性能良好的STM32單片機(jī)的高精度超聲波測...
2021-12-06 06:06:19
如何采用MAX197和AT89S52設(shè)計高精度數(shù)據(jù)采集系統(tǒng)?
MAX197芯片具有哪些特點及性能?如何采用高精度模數(shù)轉(zhuǎn)換芯片MAX197和51系列單片機(jī)AT89S52設(shè)計高精度數(shù)據(jù)采集系統(tǒng)?
2021-04-12 06:47:57
求一種基于單片機(jī)高精度PID模糊算法程控電源設(shè)計方案
模糊-PID控制技術(shù)運(yùn)用到程控電壓源的設(shè)計中,從而使得電壓源的輸出電壓值達(dá)到預(yù)定的要求,提高輸出電壓的精度和反應(yīng)速度。采用51單片機(jī),利用adc0832和DAC0832,通過220V市電通過整流
2022-02-25 06:58:16
用51設(shè)計高精度時鐘
本人菜鳥,剛做了個用51單片機(jī)和ds12c887時鐘芯片控制的高精度時鐘。可是ds12c887的時序圖看的不太懂,因此部分代碼很難下手,希望大家?guī)蛶兔Γ瑤臀曳治鲆幌耫s12c887的時序圖!謝了!
2013-07-25 21:49:23
用C51語言實現(xiàn)單片機(jī)高精度定時的新算法
一段數(shù)字顯示式倒計時的實例程序,通過分析和調(diào)試誤差補(bǔ)償算法,使8051單片機(jī)在多個定時器同時使用的情況下,定時誤差最終小于3個機(jī)器周期,是目前8051單片機(jī)高精度定時的一種新算法
2014-06-30 19:31:29
九齊NY8AE51D單片機(jī)方案開發(fā)應(yīng)用
一、九齊NY8AE51D單片機(jī)概述NY8AE51D是以MTP作為程序存儲器,并以EEPROM作為資料存儲器的8位單片機(jī),特別適合斷電后還需保持資料內(nèi)容的IO產(chǎn)品的應(yīng)用,例如遙控器、風(fēng)扇/燈光控制
2022-06-28 15:37:28
一種高精度單斜率AD及其單片機(jī)設(shè)計
一種高精度單斜率AD及其單片機(jī)設(shè)計
介紹了一種利用MSP430 F1121單片機(jī)的構(gòu)成的采用類似于 技術(shù)的高精度的單斜率AD.!
2010-03-04 10:57:1414
基于51單片機(jī)控制的高精度微波輻射計天線伺服系統(tǒng)
本文介紹了一種基于51單片機(jī)控制的高精度微波輻射計天線伺服系統(tǒng),詳細(xì)分析了其測角原理、定位精度、步進(jìn)電機(jī)控制原理和RS485接口的原理。實驗結(jié)果表明,該系統(tǒng)運(yùn)行平穩(wěn),響應(yīng)迅
2010-07-13 16:21:4137
基于單片機(jī)高速高精度步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計
任務(wù):設(shè)計并制作一個基于單片機(jī)高速高精度步進(jìn)電機(jī)控制系統(tǒng)。目標(biāo):1)完成單片機(jī)控制系統(tǒng)的控制電路、高速、高精度步進(jìn)電機(jī)驅(qū)動電路的設(shè)計,提供相應(yīng)的電路原理圖
2010-08-08 17:29:27166
MCS51三字節(jié)無符號除法程序(ASM)
MCS51三字節(jié)無符號除法程序(ASM)
;三字節(jié)無符號除法程序(R2R3R4/R7)=(R2)R3R4 余數(shù)R7;入口 :R2,R3,R4,R7;占用資源:ACC,B,F0;堆
2009-01-16 11:54:071124
基于單片機(jī)和DDS的高精度頻率信號實現(xiàn)
介紹了專用DDS芯片AD9854的特性和工作原理,敘述了利用該芯片設(shè)計高精度頻率信號發(fā)生器的簡易方法,并給出了MCS51系列單片機(jī)與AD9854的硬件接口設(shè)計和軟件編程方法。
關(guān)鍵詞
2009-05-17 13:01:261987
單片機(jī)浮點數(shù)的快速除法
介紹一種在 8096 /96 系列單片機(jī)上實現(xiàn)的單精度 浮點數(shù) 快速除法。該算法采用了預(yù)估一修正的數(shù)值計算方法,并充分利用了16 位CPU 中的乘除法指令,計算速度快、精度高,有很強(qiáng)的實用
2011-06-03 16:47:0693
運(yùn)用單片機(jī)制作的高精度數(shù)顯計數(shù)器
用單片機(jī)制作的高精度數(shù)顯計數(shù)器 單片機(jī)C51計數(shù)器 要求:編寫一個計數(shù)器程序,將T0作為計數(shù)器來使用,對外部信號計數(shù),將所計數(shù)字顯示在數(shù)碼管上。 該部分的硬件電路如圖所示,
2012-09-14 09:48:5168
基于單片機(jī)內(nèi)置比較器的高精度 A/D
介紹了 TI 的 MSP430 系列單片機(jī)內(nèi)置精密比較器,采用內(nèi)置比較器和外
圍電路構(gòu)成的類似于∑—△的高精度 A/D。
2016-02-16 18:25:105
51單片機(jī)AD采集(源程序)
基于51單片機(jī),內(nèi)部提供8路AD轉(zhuǎn)換,可同時8路同時采集處理,8位精度,也可調(diào)為10位,這個是源程序,適用于51系列.
2016-08-19 15:57:3940
51單片機(jī)存儲程序和數(shù)據(jù)
初學(xué)51總是會有這樣的疑問,從電腦下載程序到開發(fā)板后,程序去哪了? C51中,用戶或應(yīng)用程序,系統(tǒng)程序和數(shù)據(jù)都是存放在哪的?51單片機(jī)從物理結(jié)構(gòu)上,可分為片內(nèi),片外程序存儲器,片內(nèi)片外數(shù)據(jù)存儲器
2017-11-23 17:54:099097
如何使用Keil3開發(fā)51單片機(jī)程序
51單片機(jī)是比較簡單也是使用比較廣泛的一種,初學(xué)單片機(jī)的朋友51單片機(jī)是必學(xué)的一門課程。可能很多朋友剛開始不知道怎么創(chuàng)建一個工程,然后寫程序,最后再將寫好的程序燒寫到51單片機(jī)開發(fā)板上,下面小編將帶領(lǐng)大家一步步開啟Keil3開發(fā)51單片機(jī)程序之旅吧!
2017-11-26 08:38:026778
基于單片機(jī)高精度數(shù)字可調(diào)鬧鐘
本文介紹了基于單片機(jī)高精度數(shù)字可調(diào)鬧鐘,包括實驗材料與操作及程序的分析。
2017-11-28 10:52:4528
51單片機(jī)有哪些常用程序?51單片機(jī)4個常用程序匯總
本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)有哪些常用程序?51單片機(jī)4個常用程序匯總。
程序主要有從左到右的流水燈,左右來回的流水燈,花樣流水燈
2018-09-05 16:30:2627
51單片機(jī)如何讀寫AT29C040?51單片機(jī)讀寫AT29C040的c51程序免費下載
本文檔的主要內(nèi)容介紹的是51單片機(jī)如何讀寫AT29C040?給大家介紹一個51單片機(jī)讀寫AT29C040的c51程序。
2018-09-06 15:00:4321
51單片機(jī)匯編程序有哪些?51單片機(jī)匯編程序集詳細(xì)資料免費下載
本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)匯編程序有哪些?51單片機(jī)匯編程序集詳細(xì)資料免費下載。
2018-09-06 16:31:0854
PIC單片機(jī)和AVR單片機(jī)與51單片機(jī)的優(yōu)缺點分析
51系列的另一個優(yōu)點是乘法和除法指令,這給編程也帶來了便利。八位除以八位的除法指令,商為八位,精度嫌不夠,用得不多。而八位乘八位的乘法指令,其積為十六位,精度還是能滿足要求的,用的較多。作乘法時,只需一條指令即可。很多的八位單片機(jī)都不具備乘法功能,作乘法時還得編上一段子程序調(diào)用,十分不便。
2019-08-06 08:59:232316
STM32單片機(jī)的高精度超聲波測距系統(tǒng)設(shè)計
STM32單片機(jī)的高精度超聲波測距系統(tǒng)的設(shè)計主要由STM32單片機(jī)、超聲波發(fā)射電路、接受電路、補(bǔ)償電路和軟件等構(gòu)成。該系統(tǒng)將STM32單片機(jī)作為整個系統(tǒng)的核心,通過協(xié)調(diào)各部分電路工作,進(jìn)而實現(xiàn)高精度的超聲波測距口。
2019-10-17 15:10:047658
51單片機(jī)燒寫程序的方法
STC89C51是應(yīng)用廣泛的51單片機(jī),很多人都是通過該單片機(jī)入門學(xué)習(xí)的,單片機(jī)的學(xué)習(xí)需要勤動手。單片機(jī)需要燒寫程序,要用到相關(guān)的軟件和硬件。下面介紹一下51單片機(jī)燒寫程序的方法。
2020-04-04 15:54:0022900
基于51單片機(jī)6264擴(kuò)展內(nèi)存仿真設(shè)計(proteus仿真+程序)
基于51單片機(jī)6264擴(kuò)展內(nèi)存仿真設(shè)計(proteus仿真+程序)(單片機(jī)原理及應(yīng)用)-基于51單片機(jī)6264擴(kuò)展內(nèi)存仿真設(shè)計(proteus仿真+程序)
2021-07-22 11:45:1874
基于51單片機(jī)的智能溫控器設(shè)計包含源程序及仿真
基于51單片機(jī)的智能溫控器設(shè)計包含源程序及仿真(手把手教你學(xué)單片機(jī))-基于51單片機(jī)的智能溫控器設(shè)計(包含源程序及仿真)
2021-07-22 14:56:3187
基于51單片機(jī)的智能溫控器設(shè)計(包含源程序及仿真)
基于51單片機(jī)的智能溫控器設(shè)計(包含源程序及仿真)(單片機(jī)課程設(shè)計)-基于51單片機(jī)的智能溫控器設(shè)計(包含源程序及仿真)
2021-07-22 15:02:43133
51單片機(jī)步進(jìn)電機(jī)測試程序&直流電機(jī)測試程序
51單片機(jī)步進(jìn)電機(jī)測試程序&直流電機(jī)測試程序(通信電源技術(shù) 期刊查稿)-51單片機(jī)步進(jìn)電機(jī)測試程序&直流電機(jī)測試程序,51單片機(jī)通過按鍵來控制電機(jī)正反轉(zhuǎn)&快慢&調(diào)速、和51單片機(jī)步進(jìn)電機(jī)測試程序。源碼注釋詳細(xì),適合單片機(jī)愛好者參考與學(xué)習(xí)。
2021-09-24 15:53:05110
單片機(jī)按鍵使用程序 (51單片機(jī))
單片機(jī)獨立按鍵使用程序 (51單片機(jī))獨立按鍵是單片機(jī)中很重要的一個器件,在這篇文章里,通過這個用獨立按鍵控制LED燈的小程序來介紹獨立按鍵開關(guān)的使用。...
2021-11-11 18:36:02102
51單片機(jī)(二)—— 如何燒寫51單片機(jī)程序
學(xué)習(xí)單片機(jī)很重要的一步就是為單片機(jī)燒寫程序,燒寫程序是初學(xué)者體驗單片機(jī)并快速入門的第一步,51單片機(jī)由于比較簡單,并且為了節(jié)省學(xué)習(xí)成本,一般很少使用調(diào)試器,而是直接用單片機(jī)的串口燒寫程序。下圖
2021-11-12 10:06:0114
51單片機(jī)如何跳出wile循環(huán)_51單片機(jī)競賽設(shè)計44例全部帶proteus仿真+程序
51單片機(jī)如何跳出wile循環(huán)_51單片機(jī)競賽設(shè)計44例全部帶proteus仿真+程序
2021-11-21 13:06:0463
基于51單片機(jī)設(shè)計N字節(jié)十六進(jìn)制除法——以6字節(jié)除以3字節(jié)為例
基于51單片機(jī)設(shè)計N字節(jié)十六進(jìn)制除法——以6字節(jié)除以3字節(jié)為例1、思路借用十進(jìn)制除法豎式計算的思路,作十六進(jìn)制的除法豎式計算。將除數(shù)3字節(jié)與被除數(shù)高3字節(jié)對齊,除完后保存當(dāng)前字節(jié)的商和余數(shù),將被
2021-11-23 16:51:457
51 單片機(jī)串口燒錄程序方法
51單片機(jī)串口燒錄程序方法51 單片機(jī)串口燒錄程序方法一、說明介紹二、51 單片機(jī)串口引腳三、USART 轉(zhuǎn) USB 轉(zhuǎn)換器三、燒錄程序流程1、硬件連接2、軟件燒錄51 單片機(jī)串口燒錄程序方法
2021-11-25 18:21:04118
51單片機(jī)的晶振頻率是多少?
51單片機(jī)是一種常用的微控制器芯片,廣泛應(yīng)用于各種電子設(shè)備的控制和計算中。在單片機(jī)中晶振非常重要,它是單片機(jī)實現(xiàn)高精度和高速運(yùn)算的基礎(chǔ)。JSK晶鴻興為您介紹51單片機(jī)的晶振頻率是多少。
2023-07-03 14:37:083260
評論
查看更多