開發人員在開發51單片機應用系統過程中,往往遇到多字節除法及倒數問題。但目前一些資料中所介紹的有關程序,復雜且功能單一、精度低。本人在研制((GZ93多功能程控測試儀》過程中,自行設計的4字節除4字節程序具有功能多、精度高、簡短、運行速度快等特點,可用于求4字節倒數,求商的整數(結果為4字節),求商的小數部分(結果為4字節),調用兩次即可求8字節商。
??? 一、使用方法
??? 1.求商的整數
??? (1)16進制被除數送51內部RAM中20(低位)至23(高位)單元,除數送50(低位)至53(高位)單元,擴充單元24至27清零。??? ’
??? (2)調子程序DIV。
??? (3)20(低位)至23(商位)單元為所求商,24至27單元為余數。
? 2.求八字節商
? (1)先求商的整數部分
? 方法同上,然后將20至23單元的整數商送其它單元保存。
??? (2)求商的小數部分
??? 20至23單元清零;其余單元內容不變;調DIV子程序;小數商在23至20單元中,小數點位于23單元
前。
??? 3.求倒數
??? (1)20至23單元及25至27單元清零,01H送24單元,除數送50(低位)至53(高位)單元。
??? (2)調子程序DIV。
??? (3)倒數在23至20單元,小數點位于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單片機的高精度除法程序及使用
- 單片機(619327)
相關推薦
51單片機燒寫程序的方法
STC89C51是應用廣泛的51單片機,很多人都是通過該單片機入門學習的,單片機的學習需要勤動手。單片機需要燒寫程序,要用到相關的軟件和硬件。下面介紹一下51單片機燒寫程序的方法。 1所用到的硬件
2023-09-11 10:10:00
3026


24位AD 模塊 單片機 模數轉換 高精度 采集卡 24位高精度ADS1256
大家好,24位高精度ADS1256 這個有人用過嗎,精度很高,可以做工程應用了,我最近開發了這個ad板子,功能很全面,并且提供單片機和stm32程序,最方便上手了,大家幫我看看,還有需要什么改進
2013-11-25 23:24:35
51單片機C語言程序設計
(原創【全】) 51單片機C語言程序設計--速學教程實例(入門篇+進階+高級綜合).doc/(原創【全】) 51單片機C語言程序設計--速學教程實例(入門篇+進階+高級綜合).doc/(原創00
2021-07-14 07:17:51
51單片機hx711稱重及程序
51單片機hx711稱重及程序,(一)項目介紹基于51單片機的HX711稱重計,最大稱重量為5kg,并且在LCD1602上顯示數值,可設置稱重物品單價,稱重精度可由按鍵key調節。誤差可達0。傳感器
2021-07-19 09:22:49
51單片機proteus仿真用單片機端口演示數據的除法運算結果
本帖最后由 ningkui 于 2012-3-22 10:49 編輯
1、在單片機中進行除法運算,要盡量避免直接使用實型變量,因為實型變量占用字節多,非常耗費CPU的時間,所以盡量用整形數據來
2012-03-22 10:47:30
51單片機ws2811驅動程序
51單片機ws2811驅動程序,51驅動WS2812B三色流水燈 WS2812簡介模組選型關于WS2812的時序解析WS2812簡介WS2812B-2020是一個集控制電路與發光電路于一體的智能外
2021-07-21 08:44:03
51單片機尋址方式的疑問:為什么B寄存器在乘除法指令中是寄存器尋址?
51單片機中B寄存器是SFR,B寄存器僅在乘法、除法指令中為寄存器尋址,在其它指令中為直接尋址。那么它只有在乘除法時看做特殊功能寄存器,其他指令看做通用寄存器。但是直接尋址是訪問特殊功能寄存器的唯一方式,為什么B寄存器在乘除法指令中是寄存器尋址?
2019-01-01 09:45:47
51單片機的C程序設計
簡介本課程是單片機學習者從入門到深入的一套經典視頻教程,以初學者為對象,從零開始手把手教你學習單片機,循序漸進地基于理論講解并結合實驗項目實戰開發,講解當前最熱門的51單片機的C程序設計!本
2021-11-23 08:06:11
51單片機(二)—— 如何燒寫51單片機程序 精選資料推薦
學習單片機很重要的一步就是為單片機燒寫程序,燒寫程序是初學者體驗單片機并快速入門的第一步,51單片機由于比較簡單,并且為了節省學習成本,一般很少使用調試器,而是直接用單片機的串口燒寫程序。下圖是我
2021-07-13 07:49:01
單片機C語言快速精度除法方案
本帖最后由 yonko 于 2016-10-28 19:14 編輯
目前的51單片機在進行帶小數點結果的除法一般可以采用浮點數計算的方式,但是浮點數計算有一個缺點就是非常耗時,在對時間要求嚴格
2013-11-19 19:26:38
單片機如何生成高精度電壓信號?
的輸出精度,將輸出信號經分壓后引回至C8051F410單片機,利用單片機內部的數/模轉換器測量該電壓,并與初始設定參數相比較.通過程序調節PWM波形的占空比.從而得到具有高可靠性和較高精度的直流電壓輸出
2019-08-08 07:46:18
分享一個51單片機的小程序
這是個51單片機的小程序,是我接觸單片機之初的一個小練習。首先感謝學社的學長學姐指導,再感謝我自己雖然學的不是這個專業,卻仍在堅持。里面運用了不少知識,其中比較重要的有外部中斷,數碼管動態顯示,按鍵
2021-07-15 09:08:09
基于AVR單片機的高精度多功能數字電子秤設計
;軟件模塊又可分為主程序模塊、矩陣鍵盤掃描模塊、A/D轉換模塊和LCD1602模塊。 2 高精度多功能數字電子秤系統硬件設計 2.1 AVR單片機 本設計是選用AVR系列單片機中
2011-08-22 09:25:14
如何利用51單片機串口去燒錄程序呢
51單片機串口燒錄程序方法51 單片機串口燒錄程序方法一、說明介紹二、51 單片機串口引腳三、USART 轉 USB 轉換器三、燒錄程序流程1、硬件連接2、軟件燒錄51 單片機串口燒錄程序方法一
2021-12-08 08:14:52
如何去設計一種STM32單片機的高精度超聲波測量系統
和準確性。超聲波測距是一種典型的非接觸測量方式,在不同的傳播介質中具有不同的傳播速度其系統結構簡單、成本低。只有了解超聲波測距的原理、了解STM32單片機才能設計出性能良好的STM32單片機的高精度超聲波測...
2021-12-06 06:06:19
如何采用MAX197和AT89S52設計高精度數據采集系統?
MAX197芯片具有哪些特點及性能?如何采用高精度模數轉換芯片MAX197和51系列單片機AT89S52設計高精度數據采集系統?
2021-04-12 06:47:57
求一種基于單片機高精度PID模糊算法程控電源設計方案
模糊-PID控制技術運用到程控電壓源的設計中,從而使得電壓源的輸出電壓值達到預定的要求,提高輸出電壓的精度和反應速度。采用51單片機,利用adc0832和DAC0832,通過220V市電通過整流
2022-02-25 06:58:16
用51設計高精度時鐘
本人菜鳥,剛做了個用51單片機和ds12c887時鐘芯片控制的高精度時鐘。可是ds12c887的時序圖看的不太懂,因此部分代碼很難下手,希望大家幫幫忙,幫我分析一下ds12c887的時序圖!謝了!
2013-07-25 21:49:23
用C51語言實現單片機高精度定時的新算法
一段數字顯示式倒計時的實例程序,通過分析和調試誤差補償算法,使8051單片機在多個定時器同時使用的情況下,定時誤差最終小于3個機器周期,是目前8051單片機高精度定時的一種新算法
2014-06-30 19:31:29
九齊NY8AE51D單片機方案開發應用
一、九齊NY8AE51D單片機概述NY8AE51D是以MTP作為程序存儲器,并以EEPROM作為資料存儲器的8位單片機,特別適合斷電后還需保持資料內容的IO產品的應用,例如遙控器、風扇/燈光控制
2022-06-28 15:37:28
一種高精度單斜率AD及其單片機設計
一種高精度單斜率AD及其單片機設計
介紹了一種利用MSP430 F1121單片機的構成的采用類似于 技術的高精度的單斜率AD.!
2010-03-04 10:57:14
14

基于51單片機控制的高精度微波輻射計天線伺服系統
本文介紹了一種基于51單片機控制的高精度微波輻射計天線伺服系統,詳細分析了其測角原理、定位精度、步進電機控制原理和RS485接口的原理。實驗結果表明,該系統運行平穩,響應迅
2010-07-13 16:21:41
37

基于單片機高速高精度步進電機控制系統的設計
任務:設計并制作一個基于單片機高速高精度步進電機控制系統。目標:1)完成單片機控制系統的控制電路、高速、高精度步進電機驅動電路的設計,提供相應的電路原理圖
2010-08-08 17:29:27
166

MCS51三字節無符號除法程序(ASM)
MCS51三字節無符號除法程序(ASM)
;三字節無符號除法程序(R2R3R4/R7)=(R2)R3R4 余數R7;入口 :R2,R3,R4,R7;占用資源:ACC,B,F0;堆
2009-01-16 11:54:07
1124

基于單片機和DDS的高精度頻率信號實現
介紹了專用DDS芯片AD9854的特性和工作原理,敘述了利用該芯片設計高精度頻率信號發生器的簡易方法,并給出了MCS51系列單片機與AD9854的硬件接口設計和軟件編程方法。
關鍵詞
2009-05-17 13:01:26
1987


單片機浮點數的快速除法
介紹一種在 8096 /96 系列單片機上實現的單精度 浮點數 快速除法。該算法采用了預估一修正的數值計算方法,并充分利用了16 位CPU 中的乘除法指令,計算速度快、精度高,有很強的實用
2011-06-03 16:47:06
93

運用單片機制作的高精度數顯計數器
用單片機制作的高精度數顯計數器 單片機C51計數器 要求:編寫一個計數器程序,將T0作為計數器來使用,對外部信號計數,將所計數字顯示在數碼管上。 該部分的硬件電路如圖所示,
2012-09-14 09:48:51
68

51單片機存儲程序和數據
初學51總是會有這樣的疑問,從電腦下載程序到開發板后,程序去哪了? C51中,用戶或應用程序,系統程序和數據都是存放在哪的?51單片機從物理結構上,可分為片內,片外程序存儲器,片內片外數據存儲器
2017-11-23 17:54:09
9097

如何使用Keil3開發51單片機程序
51單片機是比較簡單也是使用比較廣泛的一種,初學單片機的朋友51單片機是必學的一門課程。可能很多朋友剛開始不知道怎么創建一個工程,然后寫程序,最后再將寫好的程序燒寫到51單片機開發板上,下面小編將帶領大家一步步開啟Keil3開發51單片機程序之旅吧!
2017-11-26 08:38:02
6778

51單片機有哪些常用程序?51單片機4個常用程序匯總
本文檔的主要內容詳細介紹的是51單片機有哪些常用程序?51單片機4個常用程序匯總。
程序主要有從左到右的流水燈,左右來回的流水燈,花樣流水燈
2018-09-05 16:30:26
27

51單片機如何讀寫AT29C040?51單片機讀寫AT29C040的c51程序免費下載
本文檔的主要內容介紹的是51單片機如何讀寫AT29C040?給大家介紹一個51單片機讀寫AT29C040的c51程序。
2018-09-06 15:00:43
21

PIC單片機和AVR單片機與51單片機的優缺點分析
51系列的另一個優點是乘法和除法指令,這給編程也帶來了便利。八位除以八位的除法指令,商為八位,精度嫌不夠,用得不多。而八位乘八位的乘法指令,其積為十六位,精度還是能滿足要求的,用的較多。作乘法時,只需一條指令即可。很多的八位單片機都不具備乘法功能,作乘法時還得編上一段子程序調用,十分不便。
2019-08-06 08:59:23
2316

STM32單片機的高精度超聲波測距系統設計
STM32單片機的高精度超聲波測距系統的設計主要由STM32單片機、超聲波發射電路、接受電路、補償電路和軟件等構成。該系統將STM32單片機作為整個系統的核心,通過協調各部分電路工作,進而實現高精度的超聲波測距口。
2019-10-17 15:10:04
7658

51單片機燒寫程序的方法
STC89C51是應用廣泛的51單片機,很多人都是通過該單片機入門學習的,單片機的學習需要勤動手。單片機需要燒寫程序,要用到相關的軟件和硬件。下面介紹一下51單片機燒寫程序的方法。
2020-04-04 15:54:00
22900

基于51單片機6264擴展內存仿真設計(proteus仿真+程序)
基于51單片機6264擴展內存仿真設計(proteus仿真+程序)(單片機原理及應用)-基于51單片機6264擴展內存仿真設計(proteus仿真+程序)
2021-07-22 11:45:18
74

基于51單片機的智能溫控器設計包含源程序及仿真
基于51單片機的智能溫控器設計包含源程序及仿真(手把手教你學單片機)-基于51單片機的智能溫控器設計(包含源程序及仿真)
2021-07-22 14:56:31
87

基于51單片機的智能溫控器設計(包含源程序及仿真)
基于51單片機的智能溫控器設計(包含源程序及仿真)(單片機課程設計)-基于51單片機的智能溫控器設計(包含源程序及仿真)
2021-07-22 15:02:43
133

51單片機步進電機測試程序&直流電機測試程序
51單片機步進電機測試程序&直流電機測試程序(通信電源技術 期刊查稿)-51單片機步進電機測試程序&直流電機測試程序,51單片機通過按鍵來控制電機正反轉&快慢&調速、和51單片機步進電機測試程序。源碼注釋詳細,適合單片機愛好者參考與學習。
2021-09-24 15:53:05
110

單片機按鍵使用程序 (51單片機)
單片機獨立按鍵使用程序 (51單片機)獨立按鍵是單片機中很重要的一個器件,在這篇文章里,通過這個用獨立按鍵控制LED燈的小程序來介紹獨立按鍵開關的使用。...
2021-11-11 18:36:02
102

51單片機(二)—— 如何燒寫51單片機程序
學習單片機很重要的一步就是為單片機燒寫程序,燒寫程序是初學者體驗單片機并快速入門的第一步,51單片機由于比較簡單,并且為了節省學習成本,一般很少使用調試器,而是直接用單片機的串口燒寫程序。下圖
2021-11-12 10:06:01
14

51單片機如何跳出wile循環_51單片機競賽設計44例全部帶proteus仿真+程序
51單片機如何跳出wile循環_51單片機競賽設計44例全部帶proteus仿真+程序
2021-11-21 13:06:04
63

基于51單片機設計N字節十六進制除法——以6字節除以3字節為例
基于51單片機設計N字節十六進制除法——以6字節除以3字節為例1、思路借用十進制除法豎式計算的思路,作十六進制的除法豎式計算。將除數3字節與被除數高3字節對齊,除完后保存當前字節的商和余數,將被
2021-11-23 16:51:45
7

51 單片機串口燒錄程序方法
51單片機串口燒錄程序方法51 單片機串口燒錄程序方法一、說明介紹二、51 單片機串口引腳三、USART 轉 USB 轉換器三、燒錄程序流程1、硬件連接2、軟件燒錄51 單片機串口燒錄程序方法
2021-11-25 18:21:04
118

51單片機的晶振頻率是多少?
51單片機是一種常用的微控制器芯片,廣泛應用于各種電子設備的控制和計算中。在單片機中晶振非常重要,它是單片機實現高精度和高速運算的基礎。JSK晶鴻興為您介紹51單片機的晶振頻率是多少。
2023-07-03 14:37:08
3260

評論