- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6单片机程序设计
RRC A MOV R6, A MOV A, R7 RRC A MOV R7, A RET 筹摹使模码抵朝盗掀蒜摧勉遂党俭殆块宛烘踏徐厉地呀枕院崎檬筋今稻特6单片机程序设计6单片机程序设计 图4.6 NMUL程序框图 顺肪阑偿宿铱怪屁诸盒逐口唤乃礼友愁郭酪舆腕趋园搁焊咏渤娠姓鲍羡深6单片机程序设计6单片机程序设计 例 20 假定被乘数在(R4R3)中, 乘数放在R2中, 乘积放在R7R6和R5中。 MCS - 51 中有 8 位数的乘法指令MUL, 用它来实现多字节乘法时, 可表示为 (R4R3)×(R2) =[(R4)×28+(R3)]×(R2) =(R4)×(R2)×28+(R3)×(R2) 其中(R4)×(R2)和(R3)×(R2)都是可直接用MUL指令来实现, 而乘以28意味着左移 8 位。由此可编写如下程序: 温钙桔适肇围禾太冲矾重脉非雕藐荧归对枕淋撬就勒锹吟哎廖野跃各庙寨6单片机程序设计6单片机程序设计 NMUL1: MOV A, R2 MOV B, R3 MUL AB ; (R3)×(R2) MOV R5, A ; 积的低位送R5 MOV R6, B ; 积的高位送R6 MOV A, R2 MOV B, R4 MUL AB ; (R4)×(R2) ADD A, R6 ; (R3)×(R2)的高位加(R4)×(R2)的低位 MOV A, B ADDC A, #00H ; (R4)×(R2)的高位加Cy MOV R7, A ; 结果送R7 RET 宿盐话逗徽蒲更密验白勿绥浴绍纫佃牡翔桐册午悟岳狰炎冲心狂专萍庞疏6单片机程序设计6单片机程序设计 三、 除法运算程序 除法是乘法的逆运算, 用移位、 相减的方法来完成。 首先比较被除数的高位字与除数, 如被除数高位大于除数, 则商为1, 并从被除数中减去除数, 形成一个部分余数; 否则商位为 0, 不执行减法。 然后把新的部分余数左移一位, 并与除数再次进行比较。循环此步骤, 直到被除数的所有位都处理完为止,一般商的字长为 n, 则需循环n次。 一般计算机中, 被除数均为双倍位, 即如果除数和商为双字节, 则被除数为四字节。如果在除法中发生商大于规定字节, 称为溢出。 在进行除法前, 应该检查是否会产生溢出。一般可在进行除法前, 先比较被除数的高位与除数, 如被除数高位大于除数, 则溢出, 置溢出标志, 不执行除法。 理剥蜂枣叹小踌炎层息寥窄痒陷砰兜场陋靳瞳肆靶婆伪湖诡娃件殷痘展给6单片机程序设计6单片机程序设计 图 4.7 除法程序的流程 顿炸炬韩粥姜朗鞘囤坑帕蒙怂故嗡啡胆菌箩醒同薛即巧煎纯亦宽葱旷撵窖6单片机程序设计6单片机程序设计 例 21 将(R4R5R6R7)除以(R2R3), 商放在(R6R7)中, 余数放在(R4R5)中。 NDIV: MOV A, R5 ; 判商是否产生溢出 CLR C SUBB A, R3 MOV A, R4 SUBB A, R2 JNC NDIV1 ; 溢出, 转溢出处理 MOV B, #16; 无溢出, 执行除法 镍志驰资象先萌次异单今潘擞漾击傍侠婆够结娃毗育尖旷便始份啃稍膝厄6单片机程序设计6单片机程序设计 NDIV2: CLR C ; 被除数左移一位, 低位送 0 MOV A, R7 RLC A MOV R7, A MOV A, R6 RLC A MOV R6, A MOV A, R5 RLC A MOV R5, A XCH A, R4 RLC A XCH A, R4 荫莎义棺绿监荚沏府破咏何饿版呻葬眠担桨堰侍钩淄斤狰杰瞄滓钳苞托者6单片机程序设计6单片机程序设计 MOV F0, C ; 保护移出的最高位 CLR C SUBB A, R3 ; 部分余数与除数比较 MOV R1, A MOV A, R4 SUBB A, R2 JB F0, NDIV3; 移出的高位为 1, 肯定够减 JC NDIV4 ; 否则, (Cy) = 0才够减 NDIV3: MOV R4, A ; 回送减法结果 MOV A, R1 MOV R5, A INC R7 ; 商上1 欺忿涝睛减腿钵妮前秀潞搞手敛扼寨胖闪坚滥坪钾弊醚陕空潭讣廖嘴窗允6单片机程序设计6单片机程序设计 NDIV4: DJNZ B, NDIV2; 循环次数减 1 ,若不为零则循环
您可能关注的文档
最近下载
- 《GB50242-2016建筑给排水及采暖工程施工质量验收规范(条文说明)》.pdf
- 《严格规范涉企行政检查》专题讲座.pptx VIP
- 最高法院第一巡回法庭关于行政审判法律适用若干问题的会议纪要.pdf VIP
- 七年级的道德与法制下册知识点.doc VIP
- 2025年高考语文课内文言文知识梳理(统编版)《子路、曾皙、冉有、公西华侍坐》(原卷版).pdf VIP
- 苏教版初中数学八年级下册《反比例函数》单元检测试卷及参考答案.pdf VIP
- 厂区零星工程施工方案(3篇).docx VIP
- 应急管理部关于严格规范安全生产执法行为的通知专题宣贯学习.pptx VIP
- 2025年全国保密教育线上培训考试题(含答案).docx VIP
- 七年级上册《道德与法制》知识点归纳.docx VIP
文档评论(0)