单片机课后习题解答课件.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课后习题解答课件

第三章 4. 定点数除法 1) 无符号二进制数除法 正如乘法能由一系列加法和移位操作实现一样,除法也可由一系列减法和移位操作实现。为了设计出除法的算法,先分析二进制数的手算除法。下式说明两个二进制数A=100100和B=101的手算除法步骤: 可以看出,商位是以串行方式获得的,下次得一位。首先把被除数的高位与除数相比较,如被除数高位大于除数,则商位为1,并从被除数中减去除数,形成一个部分余数;否则商位为0,不执行减法。然后把新的部分余数左移一位,并与除数再次进行比较。循环此步骤,直到被除数的所有位都处理完为止,一般商的字长为n,则需循环n次。这种除法上商前,先比较被除数与除数,根据比较结果,决定商1或0,并且只有在商为1时,才执行减法,因此称之为比较法。根据这个算法,可画出适于计算机编程的框图,如图4.13所示。 从前面所示的手算除法中,可以看出被除数的字长比除数和商的字长要长,一般在计算机中,被除数均为双倍字长,即如果除数和商为双字节,则被除数为四字节。由于商为单字长,故如果在除法中发生商大于单字长,称为溢出。在进行除法前,应该检查是否会发生溢出。一般可在进行除法前,先比较被除数的高位与除数,如被除数高位大于等于除数,则溢出,应该置溢出标志,不执行除法。另外,从手算除法中还可看出,如果除数和商为3位,被除数为6位,则执行比较或减法操作时,部分余数必须取4位,除数为3位,否则有可能产生错误。例如第3步的比较和减法运算时,部分余数为1000,如果只取3则为000,所以在实际编程时,必须注意到这一点。 【例4.15】 采用比较法的无符号双字节除法。 功能:(R2R3R4R5)/(R6R7)→(R4R5),余数为(R2R3)。 程序框图如图4.14所示。 说明:在这个框图中,(R2R3R4R5)为被除数,同时(R4R5)又是商。运算前,先比较(R2R3)和(R6R7),如(R2R3)≥(R6R7)则为溢出,置位F0,然后直接返回。否则执行除法,这时出口F0=0。上商时,商1采用加1的方法,商0不加1(无操作)。比较操作采用减法来实现,只是先不回送减法结果,而是保存在累加器A和寄存器R1中,在需要执行减法时,才回送结果。B为循环次数控制计数器,初值为16(除数和商为16位)。运算结束后,(R4R5)为商,(R2R3)为余数,(R6R7)不变。在左移时,把移出的最高位存放到MCS-51的用户标志F0中,如F0=1则被除数(部分余数,有17位)总是大于除数,因为除数最多只有16位,这时必然执行减法并商1。 入口:R2R3R4R5中存放被除数,R6R7中存放除数。 出口:商存放在R4R5中,余数存放在R2R3中。 程序: NDIV1:MOV A, R3 ;先比较是否发生溢出 CLR C SUBB A, R7 MOV A, R2 SUBB A, R6 JNC NDVE1 MOV B, #16 ;无溢出,进行除法 NDVL1:CLR C ;执行左移一位,移入为0 MOV A, R5 RLC A MOV R5, A MOV A, R4 RLC A MOV R4, A MOV A, R3 RLC A MOV R3, A XCH A, R2 RLC A XCH A, R2 MOV F0, C ;保存移出的最高位 CLR C SUBB A, R7 ;比较部分余数与除数 MOV R1, A MOV A, R2 SUBB A, R6 JB F0, NDVM1 JC NDVD1 NDVM1: MOV R2, A ;执行减法(回送减法结果) MOV A, R1 MOV R3, A INC R5 ;上商1 NDVD1:DJNZ B, NDVL1 ;循环16次 CLR F0 ;正常出口 RET NDVE1:SETB F0 ;溢出 RET 2. 二进制码到BCD码的转换 在微型计算机中,十进制数常采用BCD码表示;而BCD码在微型计算机中又有两种形式:一种是一个字节放一位BCD

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档