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

单片机原理与接口技术 教学课件 作者 徐瑞华 第三章.ppt

单片机原理与接口技术 教学课件 作者 徐瑞华 第三章.ppt

  1. 1、本文档共147页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 MCS - 51单片机指令系统 3、位状态控制指令(4条) 前两条指令为位清零指令。分别对Cy和直接位地址进行清零操作。后两条指令为位置1指令,分别对Cy和直接地址进行置1操作。 4、位条件转移指令(5条) 实例:用MCS-51单片机实现Y=X0*X1+X2*X3*X4+X5*X6逻辑运算的功能. 编程说明:为了使逻辑运算问题适合MCS-51单片机处理,首先选择P1口中的P1.0-P1.6作为输入变量,P1.7 作为输出变量. MOV C, P1.0 MOV C, P1.5 ANL C, P1.1 ANL C, P1.6 MOV 30H, C ORL C, 30H MOV C, P1.2 MOV P1.7, C ANL C, P1.3 END ANL C, P1.4 ORL C, 30H MOV 30H, C 3.3 汇编语言程序设计 3.3.1伪指令 所谓的伪指令就是仅在汇编的时候起作用,而机器执行的时候不起作用的指令.伪指令用于规定存放的首地址,为源程序预留存贮区,以及规定汇编语言程序何时结束等. (1)定位伪指令 格式:ORG n ORG规定紧接其后的程序或数据块的起始地址. ORG n规定其后的程序或数据块从地址n开始存放.n可以是十进制常数,也可以是十六进制常数. 下面的程序从1000H开始存放. ORG 1000H MOV R2, #08H MOV R0, 30H MOV R1, 40H LOOP:MOV A, @RO MOV @R1, A INC R0 INC R1 DJNZ R2,LOOP (2) 定义字节伪指令 格式:标号:DB X1,X2,X3,…Xn 把Xi存入从标号开始的连续单元中.此伪指令常用来建立常数表格,其中Xi为8位数据或ASCII码,表示ASCII码时应使用单引号’’.当Xi为数值常数时,取值范围为00-FFH;为字符串常数时,其长度不应该超过80个字符 比如:ORG 1000H DB 20H,21H,22H 此时,(1000H)=20H,(1001H)=21H,(1002H)=22H (3) 定义双字节伪指令 格式:标号:DW X1,X2,…Xn 此指令的功能是把Xi存入从标号开始的连续单元中,其中Xi为16位数值常数,16位数据占两个存储单元,先存高8位,再存低8位. (4)预留存贮区伪指令 格式:DS n 从标号指定单元开始,预留n个单元的存贮区.后 例如:ORG 2000H L1:DS 07H L2:DB 86H,0A7H 汇编后,从2000H开始保留7个字节单元,从2007H单元开始按DB命令给内存单元赋值. 注意:DB、DW、DS伪指令只能对程序存储器进行赋值和初始化工作,不能用来对数据存储器进行赋值和初始化。 5、赋值伪指令 格式:字符名称X EQU n 将数据或地址n赋给字符名称。使 X和n等值。其中n可以是单字节数据,也可以是双字节数据,还可以是工作寄存器,以及直接地址。 例如:LG EQU 10H DE EQU R0 MOV A, LG;将10H这个数给A MOV R1, DE;将R0里面的数据给R1 3、逻辑异或运算指令 注意: 1、“异或”运算可以对某存储单元中数据进行变换,完成其中某些位取反,而其他位不变。 2、还可以用于判别两操作数是否相等,若相等,结果全为0,否则不全为0。 4、循环移位指令 RR A ;其作用为将A内的内容循环右移 RL A ;其作用为将A内的内容循环左移 RLC A;指令的功能分别是将累加器A的内容带进位位Cy循环左移。 RRC A;指令的功能分别是将累加器A的内容带进位位Cy循环右移。 比如: 1、假设(A)=3AH,(Cy)=0 执行指令:RLC A 指令执行后:(A)=74H 从这个例题也可以看出,带进位循环左移指令可以实现乘以2的功能 2、假设(A)=7BH,(Cy)=0 执行指令:RRC A 指令执行后:(A)=3

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档