单片机原理与应用(陈桂友)第四章指令系统.pptVIP

单片机原理与应用(陈桂友)第四章指令系统.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理与应用(陈桂友)第四章指令系统

第4章 指令系统 ;4.1 8051单片机的助记符语言 ;4.1.2 操作码 ;4.1.3 操作数 ;4.2 指令格式及分类 ;4.2.2 指令代码格式 ;4.2.3 指令中的符号约定 ;4.3 寻址方式 ;2.直接寻址 ;3.寄存器寻址 ;4.寄存器间接寻址 ;5.变址寻址 ;6.相对寻址 ;7.位寻址 ;4.4 数据传送类指令 ;4.4.1 数据传送指令 ;;;;;二、外部数据存储器(或扩展I/O口)与累加器A传送指令——MOVX;三、程序存储器向累加器A传送指令——MOVC;;;4.4.2 数据交换指令 ;;4.4.3 栈操作指令 ;;4.5 逻辑操作类指令 ;;4.5.1 对累加器A进行的逻辑操作 ;3. 累加器A左右移位 RL A ;累加器左循环移位 RLC A ;累加器通过C左循环移位 RR A ;累加器右循环移位 RRC A ;累加器通过C右循环移位 SWAP A ;交换累加器两个半字节(4位循环移位) 左移一位相当于乘2。 例 MOV A ,#01H ;01H送累加器A RL A ;02H送A RL A ;04H送A RL A ;08H送A 右移一位相当于除2,上述累加器(A)=08H,执行指令: RR A ;(A)←04H RR A ;(A)←02H RR A ;(A)←01H 将使累加器内容又变为1。 通过进位标志CY的移位可用于检查一个字节中各位的状态或用于逐位输出的情况。 ;OUTP2:RRC A ;通过C右移一位 MOV P1,A MOV P2.0,C ;该位输出到P2.0 RET ;返回 该程序逐位将A中的最低位移入进位位C,并由P2.0输出。如果反复调用该程序,并且在每次调用之间加上一定的延时,就会形成“跑马灯”的效果。;4.5.2 双操作数指令 ; 2. 直接地址单元(内部RAM、SFR)与累加器A、立即数之间的逻辑操作 ANL(ORL,XRL) direct, A ANL(ORL,XRL) direct, #data 指令完成内部数据RAM和SFR中直接寻址单元与累加器A、立即数之间的逻辑与(或,异或)操作。 例1 设P1内容为0AAH,A中内容为15H,则执行: ANL P1,#0F0H ;(P1)=0A0H ORL P1,#0FH ;(P1)=0AFH XRL P1,A ;(P1)=0BFH 逻辑操作是按位进行的,所以,“ANL”指令常用来屏蔽字节中的某些位,该位欲清除用“0”去“与”,该位欲保留用“1”去“与”;“ORL”指令常用来使字节中的某些位置“1”,欲保留(不变)的位用“0”去“或”,欲置位的位用“1”去“或”;“XRL”指令用来对字节中某些位取反。欲取反的位用“1”去“异或”,欲保留的位用“0”去“异或”。; 例 设两位用ASCⅡ码表示的数分别保存在40H、41H单元中把其转换成两位BCD数,并以压缩形式存入40H单元中。可编程序如下: ANL 40H,#0FH ;40H的ASCⅡ码变成BCD码 MOV A, 41H ANL A,#0FH ;41H的ASCⅡ码变成BCD码 RL A ;左移4位 RL A RL A RL A ORL 40H, A ;结果存40H单元中 若使用4位环移指令,将会使程序更简炼。 ANL 40H,#0FH ;40H的ASCⅡ码变成BCD码 MOV A, 41H ; ANL A,#0FH ;41H的ASCⅡ码变成BCD码 SWAP A ;高、低4位交换 ORL 40H, A ;结果存40H单元中 注意:当用逻辑与、或、异或指令修改一个并行I/O口输出内容时,则原始值将从该输出口的锁存器中读取,而不是从该输出口的引脚上读取。;4.6 算术运算类指令

您可能关注的文档

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档