開發(fā)人員在開發(fā)51單片機應用系統(tǒng)過程中,往往遇到多字節(jié)除法及倒數(shù)問題。但目前一些資料中所介紹的有關程序,復雜且功能單一、精度低。本人在研制((GZ93多功能程控測試儀》過程中,自行設計的4字節(jié)除4字節(jié)程序具有功能多、精度高、簡短、運行速度快等特點,可用于求4字節(jié)倒數(shù),求商的整數(shù)(結(jié)果為4字節(jié)),求商的小數(shù)部分(結(jié)果為4字節(jié)),調(diào)用兩次即可求8字節(jié)商。
??? 一、使用方法
??? 1.求商的整數(shù)
??? (1)16進制被除數(shù)送51內(nèi)部RAM中20(低位)至23(高位)單元,除數(shù)送50(低位)至53(高位)單元,擴充單元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單片機的高精度除法程序及使用
- 單片機(665815)
相關推薦
熱點推薦
基于51單片機下紅外遙控小車程序原理
下面是一款Android手機通過藍牙模塊與單片機通信單片機程序,單片機可以使用以下51單片機:AT89C51,AT89C52,AT89S51,AT89S52,STC89C52RC,下面是單片機程序。
2018-07-06 08:31:39
27033
2703351單片機燒寫程序的方法
STC89C51是應用廣泛的51單片機,很多人都是通過該單片機入門學習的,單片機的學習需要勤動手。單片機需要燒寫程序,要用到相關的軟件和硬件。下面介紹一下51單片機燒寫程序的方法。 1所用到的硬件
2023-09-11 10:10:00
7809
7809
單片機C語言快速精度除法方案
本帖最后由 yonko 于 2016-10-28 19:14 編輯
目前的51單片機在進行帶小數(shù)點結(jié)果的除法一般可以采用浮點數(shù)計算的方式,但是浮點數(shù)計算有一個缺點就是非常耗時,在對時間要求嚴格
2013-11-19 19:26:38
基于AT89C51單片機的高精度測溫系統(tǒng)的研制
本帖最后由 eehome 于 2013-1-5 10:00 編輯
基于AT89C51單片機的高精度測溫系統(tǒng)的研制
2012-08-14 11:36:58
用51設計高精度時鐘
本人菜鳥,剛做了個用51單片機和ds12c887時鐘芯片控制的高精度時鐘。可是ds12c887的時序圖看的不太懂,因此部分代碼很難下手,希望大家?guī)蛶兔Γ瑤臀曳治鲆幌耫s12c887的時序圖!謝了!
2013-07-25 21:49:23
用C51語言實現(xiàn)單片機高精度定時的新算法
一段數(shù)字顯示式倒計時的實例程序,通過分析和調(diào)試誤差補償算法,使8051單片機在多個定時器同時使用的情況下,定時誤差最終小于3個機器周期,是目前8051單片機高精度定時的一種新算法
2014-06-30 19:31:29
九齊NY8AE51D單片機方案開發(fā)應用
一、九齊NY8AE51D單片機概述NY8AE51D是以MTP作為程序存儲器,并以EEPROM作為資料存儲器的8位單片機,特別適合斷電后還需保持資料內(nèi)容的IO產(chǎn)品的應用,例如遙控器、風扇/燈光控制
2022-06-28 15:37:28
基于51單片機控制的高精度微波輻射計天線伺服系統(tǒng)
本文介紹了一種基于51單片機控制的高精度微波輻射計天線伺服系統(tǒng),詳細分析了其測角原理、定位精度、步進電機控制原理和RS485接口的原理。實驗結(jié)果表明,該系統(tǒng)運行平穩(wěn),響應迅
2010-07-13 16:21:41
37
3751單片機AD采集(源程序)
基于51單片機,內(nèi)部提供8路AD轉(zhuǎn)換,可同時8路同時采集處理,8位精度,也可調(diào)為10位,這個是源程序,適用于51系列.
2016-08-19 15:57:39
42
42如何使用Keil3開發(fā)51單片機程序
51單片機是比較簡單也是使用比較廣泛的一種,初學單片機的朋友51單片機是必學的一門課程。可能很多朋友剛開始不知道怎么創(chuàng)建一個工程,然后寫程序,最后再將寫好的程序燒寫到51單片機開發(fā)板上,下面小編將帶領大家一步步開啟Keil3開發(fā)51單片機程序之旅吧!
2017-11-26 08:38:02
7987
798751單片機有哪些常用程序?51單片機4個常用程序匯總
本文檔的主要內(nèi)容詳細介紹的是51單片機有哪些常用程序?51單片機4個常用程序匯總。
程序主要有從左到右的流水燈,左右來回的流水燈,花樣流水燈
2018-09-05 16:30:26
28
2851單片機匯編程序有哪些?51單片機匯編程序集詳細資料免費下載
本文檔的主要內(nèi)容詳細介紹的是51單片機匯編程序有哪些?51單片機匯編程序集詳細資料免費下載。
2018-09-06 16:31:08
55
5551單片機教程之80C51單片機的C語言程序設計資料概述
本文檔的主要內(nèi)容詳細介紹的是51單片機教程之80C51單片機的C語言程序設計資料概述主要內(nèi)容包括了: 單片機C語言概述 C51的數(shù)據(jù)類型C51的運算符和表達式C51流程控制語句C51的構(gòu)造數(shù)據(jù)類型C51的函數(shù)C51編程實例。
2018-12-05 11:53:49
299
29951單片機串口通訊需要注意的寄存器及51單片機使用PRINTF的示例程序
本文檔的主要內(nèi)容詳細介紹的是51單片機進行串口通訊需要注意的寄存器及51單片機使用PRINTF的示例程序的詳細資料概述。
2019-08-14 17:32:00
2
2使用51單片機作為下位機應用的程序免費下載
本文檔的主要內(nèi)容詳細介紹的是使用51單片機作為下位機應用的程序免費下載。本代碼段是在網(wǎng)上下載,然后根據(jù)自己的需求修改的,親測,效果很好 51單片機作為下位機程序,本代碼段實現(xiàn)兩個功能:
2019-06-19 17:44:00
1
1PIC單片機和AVR單片機與51單片機的優(yōu)缺點分析
51系列的另一個優(yōu)點是乘法和除法指令,這給編程也帶來了便利。八位除以八位的除法指令,商為八位,精度嫌不夠,用得不多。而八位乘八位的乘法指令,其積為十六位,精度還是能滿足要求的,用的較多。作乘法時,只需一條指令即可。很多的八位單片機都不具備乘法功能,作乘法時還得編上一段子程序調(diào)用,十分不便。
2019-08-06 08:59:23
3114
311451單片機燒寫程序的方法
STC89C51是應用廣泛的51單片機,很多人都是通過該單片機入門學習的,單片機的學習需要勤動手。單片機需要燒寫程序,要用到相關的軟件和硬件。下面介紹一下51單片機燒寫程序的方法。
2020-04-04 15:54:00
24957
24957什么是51單片機?又該如何自學51單片機
51 單片機是目前使用最多的單片機之一,那么什么是 51 單片機呢?作為新手,又該如何自學 51 單片機?為幫助大家更好的學習 51 單片機,本文將對這兩個問題予以闡述。如果你對 51 單片機
2020-11-03 21:14:34
8990
899051單片機是什么?應該如何學習51單片機
51 單片機是目前使用最多的單片機之一,那么什么是 51 單片機呢?作為新手,又該如何自學 51 單片機?為幫助大家更好的學習 51 單片機,本文將對這兩個問題予以闡述。如果你對 51 單片機具有興趣,不妨繼續(xù)往下閱讀哦。
2020-12-23 07:57:00
73
73基于51單片機6264擴展內(nèi)存仿真設計(proteus仿真+程序)
基于51單片機6264擴展內(nèi)存仿真設計(proteus仿真+程序)(單片機原理及應用)-基于51單片機6264擴展內(nèi)存仿真設計(proteus仿真+程序)
2021-07-22 11:45:18
86
86基于51單片機簡易示波器設計OLED顯示(包含源程序原理圖PCB)
基于51單片機簡易示波器設計OLED顯示(包含源程序原理圖PCB)(單片機課程設計)-?基于51單片機簡易示波器設計OLED顯示(包含源程序原理圖PCB)原理圖:PCB
2021-07-22 14:50:39
257
257基于51單片機的智能溫控器設計包含源程序及仿真
基于51單片機的智能溫控器設計包含源程序及仿真(手把手教你學單片機)-基于51單片機的智能溫控器設計(包含源程序及仿真)
2021-07-22 14:56:31
88
88基于51單片機的智能溫控器設計(包含源程序及仿真)
基于51單片機的智能溫控器設計(包含源程序及仿真)(單片機課程設計)-基于51單片機的智能溫控器設計(包含源程序及仿真)
2021-07-22 15:02:43
138
13851單片機步進電機測試程序&直流電機測試程序
51單片機步進電機測試程序&直流電機測試程序(通信電源技術 期刊查稿)-51單片機步進電機測試程序&直流電機測試程序,51單片機通過按鍵來控制電機正反轉(zhuǎn)&快慢&調(diào)速、和51單片機步進電機測試程序。源碼注釋詳細,適合單片機愛好者參考與學習。
2021-09-24 15:53:05
110
11051單片機(一)—— 51單片機簡介
一、51單片機標識信息 通常我們所說的51單片機是指以51內(nèi)核擴展出的單片機。生產(chǎn)51單片機的廠商很多,51單片機的型號也很多。下表列出了一些51單片機的廠商和型號。 公司
2021-11-11 18:06:00
245
245單片機按鍵使用程序 (51單片機)
單片機獨立按鍵使用程序 (51單片機)獨立按鍵是單片機中很重要的一個器件,在這篇文章里,通過這個用獨立按鍵控制LED燈的小程序來介紹獨立按鍵開關的使用。...
2021-11-11 18:36:02
108
10851單片機如何跳出wile循環(huán)_51單片機競賽設計44例全部帶proteus仿真+程序
51單片機如何跳出wile循環(huán)_51單片機競賽設計44例全部帶proteus仿真+程序
2021-11-21 13:06:04
64
6451單片機如何跳出wile循環(huán)_51單片機(九)匯編指令
1 往期鏈接Chenglin Li:51單片機(一)Visual Basic串口通信程序Chenglin Li:51單片機(二)匯編語言設計流水燈Chenglin Li:51單片機(三)匯編語言
2021-11-22 20:21:03
73
7351 單片機串口燒錄程序方法
51單片機串口燒錄程序方法51 單片機串口燒錄程序方法一、說明介紹二、51 單片機串口引腳三、USART 轉(zhuǎn) USB 轉(zhuǎn)換器三、燒錄程序流程1、硬件連接2、軟件燒錄51 單片機串口燒錄程序方法一
2021-11-25 18:21:04
120
120關于單片機程序的執(zhí)行過程
我們想要理解單片機是如何運行程序的,我們首先需要了解單片機的組成,我們這里以80C51單片機為例來理解程序在單片機中是如何運行的。
2022-10-12 15:02:10
5206
5206單片機里的程序是如何運行?
我們想要理解單片機是如何運行程序的,我們首先需要了解單片機的組成,我們這里以80C51單片機為例來理解程序在單片機中是如何運行的。
2023-02-17 10:47:57
5817
5817
51單片機的晶振頻率是多少?
51單片機是一種常用的微控制器芯片,廣泛應用于各種電子設備的控制和計算中。在單片機中晶振非常重要,它是單片機實現(xiàn)高精度和高速運算的基礎。JSK晶鴻興為您介紹51單片機的晶振頻率是多少。
2023-07-03 14:37:08
8626
8626
電子發(fā)燒友App





評論