开发人员在开发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:003026
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:1414
基于51单片机控制的高精度微波辐射计天线伺服系统
本文介绍了一种基于51单片机控制的高精度微波辐射计天线伺服系统,详细分析了其测角原理、定位精度、步进电机控制原理和RS485接口的原理。实验结果表明,该系统运行平稳,响应迅
2010-07-13 16:21:4137
基于单片机高速高精度步进电机控制系统的设计
任务:设计并制作一个基于单片机高速高精度步进电机控制系统。目标:1)完成单片机控制系统的控制电路、高速、高精度步进电机驱动电路的设计,提供相应的电路原理图
2010-08-08 17:29:27166
MCS51三字节无符号除法程序(ASM)
MCS51三字节无符号除法程序(ASM)
;三字节无符号除法程序(R2R3R4/R7)=(R2)R3R4 余数R7;入口 :R2,R3,R4,R7;占用资源:ACC,B,F0;堆
2009-01-16 11:54:071124
基于单片机和DDS的高精度频率信号实现
介绍了专用DDS芯片AD9854的特性和工作原理,叙述了利用该芯片设计高精度频率信号发生器的简易方法,并给出了MCS51系列单片机与AD9854的硬件接口设计和软件编程方法。
关键词
2009-05-17 13:01:261987
单片机浮点数的快速除法
介绍一种在 8096 /96 系列单片机上实现的单精度 浮点数 快速除法。该算法采用了预估一修正的数值计算方法,并充分利用了16 位CPU 中的乘除法指令,计算速度快、精度高,有很强的实用
2011-06-03 16:47:0693
运用单片机制作的高精度数显计数器
用单片机制作的高精度数显计数器 单片机C51计数器 要求:编写一个计数器程序,将T0作为计数器来使用,对外部信号计数,将所计数字显示在数码管上。 该部分的硬件电路如图所示,
2012-09-14 09:48:5168
51单片机存储程序和数据
初学51总是会有这样的疑问,从电脑下载程序到开发板后,程序去哪了? C51中,用户或应用程序,系统程序和数据都是存放在哪的?51单片机从物理结构上,可分为片内,片外程序存储器,片内片外数据存储器
2017-11-23 17:54:099097
如何使用Keil3开发51单片机程序
51单片机是比较简单也是使用比较广泛的一种,初学单片机的朋友51单片机是必学的一门课程。可能很多朋友刚开始不知道怎么创建一个工程,然后写程序,最后再将写好的程序烧写到51单片机开发板上,下面小编将带领大家一步步开启Keil3开发51单片机程序之旅吧!
2017-11-26 08:38:026778
51单片机有哪些常用程序?51单片机4个常用程序汇总
本文档的主要内容详细介绍的是51单片机有哪些常用程序?51单片机4个常用程序汇总。
程序主要有从左到右的流水灯,左右来回的流水灯,花样流水灯
2018-09-05 16:30:2627
51单片机如何读写AT29C040?51单片机读写AT29C040的c51程序免费下载
本文档的主要内容介绍的是51单片机如何读写AT29C040?给大家介绍一个51单片机读写AT29C040的c51程序。
2018-09-06 15:00:4321
PIC单片机和AVR单片机与51单片机的优缺点分析
51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。八位除以八位的除法指令,商为八位,精度嫌不够,用得不多。而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求的,用的较多。作乘法时,只需一条指令即可。很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。
2019-08-06 08:59:232316
STM32单片机的高精度超声波测距系统设计
STM32单片机的高精度超声波测距系统的设计主要由STM32单片机、超声波发射电路、接受电路、补偿电路和软件等构成。该系统将STM32单片机作为整个系统的核心,通过协调各部分电路工作,进而实现高精度的超声波测距口。
2019-10-17 15:10:047658
51单片机烧写程序的方法
STC89C51是应用广泛的51单片机,很多人都是通过该单片机入门学习的,单片机的学习需要勤动手。单片机需要烧写程序,要用到相关的软件和硬件。下面介绍一下51单片机烧写程序的方法。
2020-04-04 15:54:0022900
基于51单片机6264扩展内存仿真设计(proteus仿真+程序)
基于51单片机6264扩展内存仿真设计(proteus仿真+程序)(单片机原理及应用)-基于51单片机6264扩展内存仿真设计(proteus仿真+程序)
2021-07-22 11:45:1874
基于51单片机的智能温控器设计包含源程序及仿真
基于51单片机的智能温控器设计包含源程序及仿真(手把手教你学单片机)-基于51单片机的智能温控器设计(包含源程序及仿真)
2021-07-22 14:56:3187
基于51单片机的智能温控器设计(包含源程序及仿真)
基于51单片机的智能温控器设计(包含源程序及仿真)(单片机课程设计)-基于51单片机的智能温控器设计(包含源程序及仿真)
2021-07-22 15:02:43133
51单片机步进电机测试程序&直流电机测试程序
51单片机步进电机测试程序&直流电机测试程序(通信电源技术 期刊查稿)-51单片机步进电机测试程序&直流电机测试程序,51单片机通过按键来控制电机正反转&快慢&调速、和51单片机步进电机测试程序。源码注释详细,适合单片机爱好者参考与学习。
2021-09-24 15:53:05110
单片机按键使用程序 (51单片机)
单片机独立按键使用程序 (51单片机)独立按键是单片机中很重要的一个器件,在这篇文章里,通过这个用独立按键控制LED灯的小程序来介绍独立按键开关的使用。...
2021-11-11 18:36:02102
51单片机(二)—— 如何烧写51单片机程序
学习单片机很重要的一步就是为单片机烧写程序,烧写程序是初学者体验单片机并快速入门的第一步,51单片机由于比较简单,并且为了节省学习成本,一般很少使用调试器,而是直接用单片机的串口烧写程序。下图
2021-11-12 10:06:0114
51单片机如何跳出wile循环_51单片机竞赛设计44例全部带proteus仿真+程序
51单片机如何跳出wile循环_51单片机竞赛设计44例全部带proteus仿真+程序
2021-11-21 13:06:0463
基于51单片机设计N字节十六进制除法——以6字节除以3字节为例
基于51单片机设计N字节十六进制除法——以6字节除以3字节为例1、思路借用十进制除法竖式计算的思路,作十六进制的除法竖式计算。将除数3字节与被除数高3字节对齐,除完后保存当前字节的商和余数,将被
2021-11-23 16:51:457
51 单片机串口烧录程序方法
51单片机串口烧录程序方法51 单片机串口烧录程序方法一、说明介绍二、51 单片机串口引脚三、USART 转 USB 转换器三、烧录程序流程1、硬件连接2、软件烧录51 单片机串口烧录程序方法
2021-11-25 18:21:04118
51单片机的晶振频率是多少?
51单片机是一种常用的微控制器芯片,广泛应用于各种电子设备的控制和计算中。在单片机中晶振非常重要,它是单片机实现高精度和高速运算的基础。JSK晶鸿兴为您介绍51单片机的晶振频率是多少。
2023-07-03 14:37:083260
评论
查看更多