51单片机的高精度除法使用及程序清单

发布者:画意人生最新更新时间:2012-06-25 来源: 21ic 关键字:51单片机  高精度除法  程序清单 手机看文章 扫描二维码
随时随地手机看文章

开发人员在开发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单片机  高精度除法  程序清单 引用地址:51单片机的高精度除法使用及程序清单

上一篇:51单片机四驱无线遥控小车制作详解
下一篇:单片机最小系统软硬件设计

推荐阅读最新更新时间:2024-03-16 13:01

MCS-51单片机定时器和计数器的4种工作方式解析
MCS-51单片机含有2个定时器/计数器,具有4种工作方式。具有两种工作模式(计数器模式和定时器模式) MCS-51单片机含有1个全双工串行口,具有4种工作方式。 TMOD-》定时器/计数器方式控制寄存器 TCON-》定时器/计数器控制寄存器 SMOD-》串行口波特率系数选择位 SCON-》串行口控制寄存器 SBUF -》串行口数据缓冲器 TH0 -》定时器/计数器0(高字节) TL0 -》定时器/计数器0(低字节) TH1 -》定时器/计数器1(高字节) TL1 -》定时器/计数器1(低字节) MCS-51单片机定时器和计数器的4种工作方式解析 一、定时器/计数器 定时器/计数器T0由特殊功能寄存器TH0、TL0
[单片机]
MCS-<font color='red'>51单片机</font>定时器和计数器的4种工作方式解析
51单片机,点阵显示汉字(C语言)
#include reg51.h #include intrins.h //要用到 _nop_() #define uint unsigned int #define uchar unsigned char sbit SH_595=P2^1; sbit DATA_595=P2^0; sbit ST_CP_595=P2^2;//74HC595(12)-ST_CP上升沿-移位寄存器的数据进入数据存储寄存器 输出锁存器的时钟信号端口 sbit MR_595=P2^3; //74HC595(10)-MR 为0将移位寄存器的数据清0 sbit E1_154=P2^4;//74HC154(18)-E1为0开列(col)输出 显示允许
[单片机]
基于嵌入式的便携式信号发生及检测装置系统研究
    我们都知道,在很多领域内需要电子仪器长期在室外甚至许多恶劣的环境中进行工作,虽然在仪器设计之初针对其所适用的不同环境,在硬件方面有很多针对性的设计,尽管如此在室外环境中因自然或人为因素造成的仪器损坏的事件也会时有发生,由于缺少示波器、信号发生器等常用的电子仪器检测设备因而不便于对其进行实时的检测,只能停止工作将其带回有条件的实验室进行检测。     针对上述需求本文设计了一种采用广泛应用的嵌入式技术的便携式信号发生与测量装置,考虑到二者使用的不同情况,对信号发生和信号测量装置采用了独立的设计,在使用时既可以单独使用也可以组合使用,信号发生装置以AT89S51为核心通过DDS芯片AD9851产生任意可调的函数信号,信号测量装置
[电源管理]
基于嵌入式的便携式信号发生及检测装置系统研究
HT1621液晶驱动芯片的51单片机程序
/******************************************************** 功能描述: HT1621芯片测试程序 说 明:本测试程序能够测试HT1621的每一个字段, 依次点亮每一个字段 参数: ********************************************************/ #include reg51.H #include intrins.h #define uchar unsigned char #define uint unsigned int #define _Nop() _nop_();_nop_();
[单片机]
MSP430系列单片机与51单片机的区别及优劣势对比
MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16 位超低功耗的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,主要是由于其针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。MSP430是16位单片机,51是8位单片机,MSP430采用RISC精简指令集,单个时钟周期就可以执行一条指令,相同晶振,速度较51快12倍。其它片上资源也是MSP较丰富。 有很多应用领域,比如智能仪器或仪表、自动化控制设备、家用电器等,其对于运算及控制功能的要求不高,用简单的控制软件便可达到令人满意的控制效果,但是针对一些对于体积、成本及能耗有着
[单片机]
MSP430系列单片机与<font color='red'>51单片机</font>的区别及优劣势对比
MCS-51单片机在饱和蒸汽的流量计量补偿中的应用
0  引  言 流体流量的检测与控制是各行各业加强能源、物料管理、进行经济分析、结算和决策的重要依据,也是监控生产过程使其保持优质、安全、提高效率和改善环境的重要手段。尽管目前流量计量计已有几十种之多,然而对于越来越高的计量精确性而言,往往都要采用补偿措施。如用差压式流量计检测饱和蒸汽的流量,设计压力为0.5MPa,当蒸汽压力变化到1.0MPa时其流量误差达-26%左右 [1] 。工况变化越大,引入的误差越大。所以,在一些需要精确计量或者工况波动范围大而且波动频繁的场合必须采用补偿措施。 流体计量补偿技术,就是针对不同的流量计,检测不同流体而建立的一种修正方法。随着自动化技术的进步,计算机及其它智能装置的出现,自动补偿的技
[单片机]
MCS-<font color='red'>51单片机</font>在饱和蒸汽的流量计量补偿中的应用
8051单片机教程第二十八课:单片机音乐程序的设计
利用单片机(或单板机)奏乐大概是无线电爱好者感兴趣的问题之一。本文从单片机的基本发间实验出发,谈谈音乐程序的设计原理,并给出具体实例,以供参考。 单片机的基本发音实验 我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。 例如,要产生200HZ的音频信号,按图1接入喇叭(若属临时实验,也可将喇叭直接接在P1口线上),实验程序为: 其中子程序DEL为延时子程序,当R3为1时,延时时间约为20us,R3中存放延时常数,对200
[单片机]
80<font color='red'>51单片机</font>教程第二十八课:单片机音乐<font color='red'>程序</font>的设计
基于普通51单片机的LIN协议实现方案
1 概述 LIN协议是新出现的一种新型低成本串行通信总线,其全称是Local Interconnect Network,即局部互联网络。它最开始出现于汽车行业,是为解决汽车智能化和网络化的发展要求和降低汽车制造成本的矛盾而提出来的一种串行总线协议,主要用于车门、车灯等需要简单控制但又要求智能控制的场合。它的主要特点是:采用单个主控制器/多从设备通信模式;基于普通UART/SCI接口硬件实现,协议简单;网络传输速率不高,最高可达20kb/s。由于LIN协议的突出特点是协议对硬件的依赖程度低,可以基于普通单片机的通用串口等硬件资源以软件方式实现,成本低廉,因此可广泛应用于汽车行业以外的其他领域,如智能家庭网络内部的数据传输、节点控
[单片机]
基于普通<font color='red'>51单片机</font>的LIN协议实现方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved