第5章节MCS—51单片机的程序的设计.ppt

第5章节MCS—51单片机的程序的设计.ppt

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

第五章 MCS-51单片机的程序设计 5.1.1单片机程序设计语言 设计语言基本分类: 机器语言 汇编语言 高级语言 5.1.2 程序设计步骤 5.1.3 程序流程图 5.2.1 MCS-51伪指令 伪指令是不能执行的指令,在汇编时起控制作用。 5.2.1 MCS-51伪指令 5.2.2 汇编语言程序的格式 汇编语言程序的每一句程序一般由四部分组成,即标号、操作码、操作数和注释。 5.3.1 16位加减法程序 例5-1:已知两个16位二进制数分别存放在R1R0和R3R2中,试求其和,并将结果存入R1R0中。 5.3.2 顺序程序 特点:按指令的排列顺序一条条地执行,直到全部指令执行完毕为止。 5.3.2 顺序程序 5.3.3 分支程序 5.3.3 分支程序 void main (void){ char data *x,*y; x=0x30; y=0x31; if (*x0){ *y = *x+1;} else if(*x = = 0){ *y = 0;} else { *y = -1;} } 5.3.4 循环程序 5.3.4 循环程序 5.3.4 循环程序 5.3.4 循环程序 5.3.4 循环程序 5.3.4 循环程序 5.3.4 循环程序 5.3.5 查表程序 5.3.5 查表程序 5.3.5 查表程序 5.3.5 查表程序 5.3.6 散转程序 5.3.6 散转程序 5.3.7 子程序 5.3.7 子程序 5.3.7 子程序 5.3.7 子程序 用DPTR作基址寄存器时,源程序如下: ORG 0100H MOV DPTR,#TABLE ;表首地址送DPTR MOV A,#03 ;被查数字3→A MOVC A,@A+DPTR ;查表求段码 SJMP $ TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 例5-9A:用查表法求数码管显示的段码 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 散转程序是指通过修改某个参数后,程序可以有三个以上的流向,多用于键盘程序。 常用的指令是JMP @A+DPTR,该指令是把16位数据指针DPTR的内容与累加器A中的8位无符号数相加,形成地址,装入程序计数器PC,形成散转的目的地址。 在C51语言程序设计中,常用switch/case语句处理多路分支的情况。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. C51源程序如下: 假定工作寄存器R7在0区,则对应的内部RAM地址为07H。 unsigned char data Opr_data _at_ 0x07; // 定义R7地址 switch (Opr_data){ case 0: …… //OPR1对应的程序段 break; // 转向对应的散转地址人口 …… case 7: …… //OPR7对应的程序段 break; default: break; } 例5-10:根据R7的内容,转向各自对应的操作程序(R7=0,转入OPR0;…… ;R7=n,转入OPRn。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. (1)要给每个子程序起一个名字,也就是入口地址的代号。 (2)要能正确地传递参数。即首先要有入口条件,说明进入子程序时,它所要处理的数据放在何处。另外,要有出口条件,即处理的结果存放在何处。 (3)注意保护现场和恢复现场。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. SQR: PUSH DPH ;保护现场

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档