网站大量收购独家精品文档,联系QQ:2885784924

第四章程序设计基础.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.将二进制数转成ASCII码 例4.8:将A中的二进制数(0-F)转化为相应的ASCII码 CNV: ADD A,#90H DA A ADC A,#40H DA A RET 如果执行ADD A,#90H和DA A两条指令后产生进位,则说明被转换二进制数不大于09H,否则小于0AH,后两条指令在于产生正确的高位ASCII代码;二进制数大于09H时为4H;二进制数大于0AH时为3H。 第三十页,共五十二页。 3.BCD码十进制转换成二进制 例4.9:假设在内部RAM中40H单元内存中存有一个BCD十进制数,设计一段程序把这个数转换成二进制数,并存入41H单元中。用(40H)÷16,商就是二进制数的高4位,余数就是二进制数的低4位,把这高、低4位组合,便是对应的二进制数。程序如下: MOV A,40H MOV B,#16 DIV AB SWAP A ADD A,B MOV 41H,A 第三十一页,共五十二页。 4.3.2 算术和逻辑运算类程序设计 1.多字节加/减运算 利用ADDC/SUBB指令及Cy标志位,能实现多字节的加/减运算。运算时,从低字 节到高字节顺序进行。若参与运算是无符号数,在产生进位(加法)或借位(减法)时,将置位Cy。若参与运算的是有符号补码,因原始输入的数据最高位为符号位,故溢出标志OV将指示溢出的情况。 第三十二页,共五十二页。 例4.10有二个多字节数相减,被减数的最低字节以R0为指针,减数的最低字节以R1为指针,数据长度由R2指示。减法结果送入原被减数所在的各单元。最后检查是否有溢出。程序如下: 第三十三页,共五十二页。 SUBSTR:CLR C;清借位 SUBSI: MOV A,@R0;取被减数字节 SUBB A,@R1 ;取减数字节 MOV @R0, A ;存差字节 INC R0;指向下一个字节 INC R1 DJNZ R2, SUBSI ;循环是否完成 JB OV, OVFU ;判溢出 RET ;OV=0,无溢出,返回 OVFU:(溢出处理) ;OV=1溢出 RET 第三十四页,共五十二页。 2.查找最大值 例4.11:在内部RAM 30H-37H单元中存有8个无符号数,设计一段程序找出其中最大值存入40H中。 首先取(30H),40H,后继的字节取到A中将(A)与(40H)比较,将大数存入(40H)中。程序如下: 第三十五页,共五十二页。 2.查找最大值 第三十六页,共五十二页。 3.延时程序 在单片机应用程序中,经常需要延时来达到控制目的。实现延时有两种方法:一种采用内部定时/计数器来实现。在以后章节中叙述:另一种是采用软件延时方法。下面来介绍软件延时。 例4.12:已知单片机的晶振频率fosc=12MHz,试计算执行下面程序需要多少时间? DLYl: MOV R2,#data ;执行时需1个机器周期 LOOP: NOP ;执行时需1个机器周期 DJNZ R2 LOOP ;执行时需2个机器周期 RET ;执行时需2个机器周期 第三十七页,共五十二页。 第4章 程序设计基础 4.1 MCS-51单片机汇编语言的伪指令 MCS-51单片机中除了前面讲述的指令系统中111条指令外,还有另一类指令,这类指 令称为伪指令。例如在程序的开头处有ORG,程序结束处END,等等。这些指令在汇编后 不产生机器码,只是在程序进行汇编时,向汇编软件提供程序中的一些特殊信息。比如,程序起止,定义的数据,表格存放位置等。 第一页,共五十二页。 下面介绍单片机汇编语言程序设计中,常用的伪指令有以下几种: 1. 起始伪指令ORG ORG伪指令的功能是规定这条下面源程序和数据的起始地址格式为:ORG Addrl6. 例如:ORG 2000H START: MOV A 即规定标号START所在地址为2000H,也就是第一条指令从2000H开始存放。一般说来,ORG Addrl6,表示了一个源程序或数据块的起始地址。在一段程序中允许多次使用ORG指令,以规定不同的程序段或数据块的起始位置,并规定地址从小到大,不允许重叠。 第二页,共五十二页。 2.结束伪指令END END伪指令用来指示源程序到

文档评论(0)

虾虾教育 + 关注
官方认证
内容提供者

有问题请私信!谢谢啦 资料均为网络收集与整理,收费仅为整理费用,如有侵权,请私信,立马删除

版权声明书
用户编号:8012026075000021
认证主体重庆皮皮猪科技有限公司
IP属地重庆
统一社会信用代码/组织机构代码
91500113MA61PRPQ02

1亿VIP精品文档

相关文档