开发人员在开发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单片机的高精度除法程序及使用
- 单片机(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单片机在进行带小数点结果的除法一般可以采用浮点数计算的方式,但是浮点数计算有一个缺点就是非常耗时,在对时间要求严格
2013-11-19 19:26:38
用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
基于51单片机控制的高精度微波辐射计天线伺服系统
本文介绍了一种基于51单片机控制的高精度微波辐射计天线伺服系统,详细分析了其测角原理、定位精度、步进电机控制原理和RS485接口的原理。实验结果表明,该系统运行平稳,响应迅
2010-07-13 16:21:41
37
37如何使用Keil3开发51单片机程序
51单片机是比较简单也是使用比较广泛的一种,初学单片机的朋友51单片机是必学的一门课程。可能很多朋友刚开始不知道怎么创建一个工程,然后写程序,最后再将写好的程序烧写到51单片机开发板上,下面小编将带领大家一步步开启Keil3开发51单片机程序之旅吧!
2017-11-26 08:38:02
7987
798751单片机有哪些常用程序?51单片机4个常用程序汇总
本文档的主要内容详细介绍的是51单片机有哪些常用程序?51单片机4个常用程序汇总。
程序主要有从左到右的流水灯,左右来回的流水灯,花样流水灯
2018-09-05 16:30:26
28
2851单片机教程之80C51单片机的C语言程序设计资料概述
本文档的主要内容详细介绍的是51单片机教程之80C51单片机的C语言程序设计资料概述主要内容包括了: 单片机C语言概述 C51的数据类型C51的运算符和表达式C51流程控制语句C51的构造数据类型C51的函数C51编程实例。
2018-12-05 11:53:49
299
29951单片机串口通讯需要注意的寄存器及51单片机使用PRINTF的示例程序
本文档的主要内容详细介绍的是51单片机进行串口通讯需要注意的寄存器及51单片机使用PRINTF的示例程序的详细资料概述。
2019-08-14 17:32:00
2
2使用51单片机作为下位机应用的程序免费下载
本文档的主要内容详细介绍的是使用51单片机作为下位机应用的程序免费下载。本代码段是在网上下载,然后根据自己的需求修改的,亲测,效果很好 51单片机作为下位机程序,本代码段实现两个功能:
2019-06-19 17:44:00
1
1PIC单片机和AVR单片机与51单片机的优缺点分析
51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。八位除以八位的除法指令,商为八位,精度嫌不够,用得不多。而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求的,用的较多。作乘法时,只需一条指令即可。很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。
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 单片机具有兴趣,不妨继续往下阅读哦。
2020-12-23 07:57:00
73
73基于51单片机6264扩展内存仿真设计(proteus仿真+程序)
基于51单片机6264扩展内存仿真设计(proteus仿真+程序)(单片机原理及应用)-基于51单片机6264扩展内存仿真设计(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单片机通过按键来控制电机正反转&快慢&调速、和51单片机步进电机测试程序。源码注释详细,适合单片机爱好者参考与学习。
2021-09-24 15:53:05
110
11051单片机(一)—— 51单片机简介
一、51单片机标识信息 通常我们所说的51单片机是指以51内核扩展出的单片机。生产51单片机的厂商很多,51单片机的型号也很多。下表列出了一些51单片机的厂商和型号。 公司
2021-11-11 18:06:00
245
245单片机按键使用程序 (51单片机)
单片机独立按键使用程序 (51单片机)独立按键是单片机中很重要的一个器件,在这篇文章里,通过这个用独立按键控制LED灯的小程序来介绍独立按键开关的使用。...
2021-11-11 18:36:02
108
10851单片机如何跳出wile循环_51单片机竞赛设计44例全部带proteus仿真+程序
51单片机如何跳出wile循环_51单片机竞赛设计44例全部带proteus仿真+程序
2021-11-21 13:06:04
64
6451单片机如何跳出wile循环_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 转 USB 转换器三、烧录程序流程1、硬件连接2、软件烧录51 单片机串口烧录程序方法一
2021-11-25 18:21:04
120
120关于单片机程序的执行过程
我们想要理解单片机是如何运行程序的,我们首先需要了解单片机的组成,我们这里以80C51单片机为例来理解程序在单片机中是如何运行的。
2022-10-12 15:02:10
5206
5206单片机里的程序是如何运行?
我们想要理解单片机是如何运行程序的,我们首先需要了解单片机的组成,我们这里以80C51单片机为例来理解程序在单片机中是如何运行的。
2023-02-17 10:47:57
5817
5817
51单片机的晶振频率是多少?
51单片机是一种常用的微控制器芯片,广泛应用于各种电子设备的控制和计算中。在单片机中晶振非常重要,它是单片机实现高精度和高速运算的基础。JSK晶鸿兴为您介绍51单片机的晶振频率是多少。
2023-07-03 14:37:08
8626
8626
电子发烧友App





评论