- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实用程序.doc
单片机实用程序 tamsex 发表于 2006-4-10 19:43:00
MCS-51单片机实用子程序(1)(一)mcs-51定点运算子程序库及其使用说明定点运算子程序库文件名为dq51.asm,为便于使用,先将有关约定说明如下:1.多字节定点操作数:用[r0]或[r1]来表示存放在由r0或r1指示的连续单元中的数据。地址小的单元存放数据的高字节。例如:[r0]=123456h,若(r0)=30h,则(30h)=12h,(31h)=34h,(32h)=56h。2.运算精度:单次定点运算精度为结果最低位的当量值。3.工作区:数据工作区固定在psw、a、b、r2~r7,用户只要不在工作区中存放无关的或非消耗性的信息,程序就具有较好的透明性。
(1) 标号: bcda功能:多字节bcd码加法
入口条件:字节数在r7中,被加数在[r0]中,加数在[r1]中。出口信息:和在[r0]中,最高位进位在cy中。影响资源:psw、a、r2 堆栈需求: 2字节
bcda: mov a,r7 ;取字节数至r2中mov r2,aadd a,r0 ;初始化数据指针mov r0,amov a,r2add a,r1mov r1,aclr cbcd1: dec r0 ;调整数据指针dec r1mov a,@r0addc a,@r1 ;按字节相加da a ;十进制调整mov @r0,a ;和存回[r0]中djnz r2,bcd1 ;处理完所有字节ret
(2) 标号: bcdb功能:多字节bcd码减法
入口条件:字节数在r7中,被减数在[r0]中,减数在[r1]中。出口信息:差在[r0]中,最高位借位在cy中。影响资源:psw、a、r2、r3 堆栈需求: 6字节
bcdb: lcall neg1 ;减数[r1]十进制取补lcall bcda ;按多字节bcd码加法处理cpl c ;将补码加法的进位标志转换成借位标志mov f0,c ;保护借位标志lcall neg1 ;恢复减数[r1]的原始值mov c,f0 ;恢复借位标志retneg1: mov a,r0 ;[r1]十进制取补子程序入口xch a,r1 ;交换指针xch a,r0lcall neg ;通过[r0]实现[r1]取补mov a,r0xch a,r1 ;换回指针xch a,r0ret
(3) 标号: neg功能:多字节bcd码取补
入口条件:字节数在r7中,操作数在[r0]中。出口信息:结果仍在[r0]中。影响资源:psw、a、r2、r3 堆栈需求: 2字节
neg: mov a,r7 ;取(字节数减一)至r2中dec amov r2,amov a,r0 ;保护指针mov r3,aneg0: clr cmov a,#99hsubb a,@r0 ;按字节十进制取补mov @r0,a ;存回[r0]中inc r0 ;调整数据指针djnz r2,neg0 ;处理完(r2)字节mov a,#9ah ;最低字节单独取补subb a,@r0mov @r0,amov a,r3 ;恢复指针mov r0,aret
(4) 标号: brln功能:多字节bcd码左移十进制一位(乘十)
入口条件:字节数在r7中,操作数在[r0]中。出口信息:结果仍在[r0]中,移出的十进制最高位在r3中。影响资源:psw、a、r2、r3 堆栈需求: 2字节
brln: mov a,r7 ;取字节数至r2中mov r2,aadd a,r0 ;初始化数据指针mov r0,amov r3,#0 ;工作单元初始化brl1: dec r0 ;调整数据指针mov a,@r0 ;取一字节swap a ;交换十进制高低位mov @r0,a ;存回mov a,r3 ;取低字节移出的十进制高位xchd a,@r0 ;换出本字节的十进制高位mov r3,a ;保存本字节的十进制高位djnz r2,brl1 ;处理完所有字节ret
(5) 标号: muld功能:双字节二进制无符号数乘法
入口条件:被乘数在r2、r3中,乘数在r6、r7中。出口信息:乘积在r2、r3、r4、r5中。影响资源:psw、a、b、r2~r7 堆栈需求: 2字节
muld: mov a,r3 ;计算r3乘r7mov b,r7mul abmov r4,b ;暂存部分积mov r5,amov a,r3 ;计算r3乘r6mov b,r6mul abadd a,r4 ;累加部分积mov r4,aclr aaddc a,bmov r3,amov a,r2 ;计算r2乘r7mov b,r7mul abadd a,
您可能关注的文档
- 单双目摄像头.doc
- 单向全波整流及滤波电路.doc
- 单向度整理笔记.doc
- 单向度的人课程大纲.doc
- 单向拉索幕墙的工程应用——成都东站单向拉索幕墙工程.doc
- 单向杂凑函数.doc
- 单向板课程设计任务书---班.doc
- 单向止回阀.doc
- 单向沟通和双向沟通.doc
- 单向离合器在发动机附件系统的应用__朱艳红.doc
- 2025年个人养老金制度对人工智能产业投资市场的机遇与挑战研究报告.docx
- 2025年环评公众参与机制在环境保护公众参与中的公众参与效果提升策略研究报告.docx
- 教育精准扶贫2025年农村教育信息化建设与教育扶贫项目融合研究.docx
- 2025年3D打印技术在航空航天制造业中的应用策略报告.docx
- 动漫产业链2025年协同创新与版权保护策略报告.docx
- 饮料行业新型甜味剂安全性与法规合规性深度分析报告.docx
- 2025年教育游戏化在英语口语教学中的应用报告.docx
- 2025年农村土地流转规范化管理中的土地流转政策调整与优化报告.docx
- 2025年商业银行金融科技人才金融科技市场洞察与培养策略分析.docx
- 医疗行业人才培养与流动机制改革前瞻:2025年行业报告.docx
文档评论(0)