片机学习06(位指令转移指令).ppt_第1页
片机学习06(位指令转移指令).ppt_第2页
片机学习06(位指令转移指令).ppt_第3页
片机学习06(位指令转移指令).ppt_第4页
片机学习06(位指令转移指令).ppt_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.4.5 位操作指令,位传送,位清0,位求反,位置位,位逻辑与,位逻辑或,bit :位直接地址(00H7FH、80hF7H),位直接寻址方式 C :位累加器,位寄存器寻址方式,P.45,【例3-12】 MOV C , 06H ;20H.6Cy MOV P1.0 ,C ;CyP1.0,90H或90H.0,20H.6,Byte,TM,【例3-13】 CLR C ;0Cy CLR 27H ;024H.7位 CPL 08H ;21H.0 求反21H.0位 SETB P1.7 ;1P1.7位,24H.7,21H.0,97H或90H.7,P.45,【例B3-13】利用位逻辑指令, 模拟下图所示硬件逻辑电路功能。 参考子程序如下: PR2: MOV C, P1.1 ; (CY) (P1.1) ORL C, P1.2 ; (CY) (P1.1)(P1.2) ANL C, P1.0 ; (CY) A(P1.0 ) CPL C ; (CY) MOV F0, C ; B点逻辑值暂存于F0(F0即PSW.5位) MOV C, P1.3 ; (CY) (P1.3) ANL C, /P1.4 ; (CY) (P1.3) ORL C , F0 ; (CY) DB MOV P1.5, C ; 运算结果输出到P1.5端 RET,硬件逻辑电路图,=A点逻辑,=B点逻辑,=D点逻辑,【例B3-14】如下控制梯形图,请用MCS-51程序实现: MOV C , P1.3 ;取P1.3 ANL C , P1.2 ;串联P1.2 ORL C , P2.1 ;并联 P2.1 ANL C , /P2.0 ;串联 P2.0常闭点 MOV P2.0 , C ;输出 P2.0,输入开关量,输出驱动,请与可编程逻辑控制器的梯形图程序相比较,各自的实现原理与特点?,LD,OUT,3.4.4 控制转移类指令 指令助记符中只需写目标指令前的标号,P.43,(POP PC),无条件 转移,条件 转移,比较 转移,循环 控制,相减但不 存差值, 生成了Cy,减1后回存 再判00H否,执行相对转移:PC PC + rel ;rel=目标地址-下一指令址低8位,目标地址 下一指令址 + 偏移量,A=00H时转移,A00H时转移,Byte,TM,兼容于MCS-48,64K范围内,;单字节BCD码加法运算 0000 ORG 0000H 0000 802E SJMP MAIN 0002 0030 ORG 0030H 0030 7456 MAIN:MOV A , #56H 0032 2467 ADD A , #67H 0034 D4 DA A 0035 F530 MOV 30H , A 0037 80FE SJMP $ ; 0039 END,【例B3-16】单字节BCD码加法运算,(BCD.ASM),目标地址 0030 减下一址 - 0002 获rel字节 002E,+46补,PC,执行相对转移:PC PC + rel ;rel=目标地址-下一指令址低8位,目标地址 下一指令址 + 偏移量,0030H 0002H + 0046H,+48,+2,【例B3-15】编程序实现P1.3输出驱动LED以1秒为周期闪烁。 ORG 0000H 0000 C2 93 CLR P1.3 ;输出控制端清零 0002 7F 08 LOOP0: MOV R7,#8 ;软件延时0.5秒 0004 7E C8 LOOP7: MOV R6,#200 0006 7D 64 LOOP6: MOV R5,#100 0008 00 LOOP5: NOP 0009 DD FD DJNZ R5,LOOP5 000B DE F9 DJNZ R6,LOOP6 000D DF F5 DJNZ R7,LOOP7 000F B2 93 CPL P1.3 ;输出控制端求反 0011 80 EF SJMP LOOP0 ;循环 0013 END,目标地址 0002 减下一址 - 0013 获rel字节 FFEF,目标地址 0004 减下一址 000F 获rel字节 FFF5,执行相对转移:PC PC + rel ;rel=目标地址-下一指令址低8位,目标地址 下一指令址 + 偏移量,rel的单字节补码 rel= -128+127(相对于下一指令址的跳转偏移量),Relative,-3补,-7补,-17补,-11补,【例B3-15】 实现P1口输出驱动8只LED巡回点亮的控制程序 0000 ORG 0000H 0000 75816F MAIN:MOV SP,#6FH ;设定栈底指针 0003 759001 MOV P1,#0FEH ;置控制码初始值并输出P1口 0006 120010 LOOP:LCALL D1S ;调用延时1S子程序 0009 E590 MOV A,P1 ;读入P1口原控制码 000B 23 RL A ;调整控制码(循环左移一位) 000C F590 MOV P1,A ;输出新控制码到P1口 000E 80F6 SJMP LOOP ;反复循环执行上述控制程序 0010 7F08 D1S:MOV R7,#8 ;软件延时约1S子程序 0012 7EC8 D1S2:MOV R6,#200 0014 7DC8 D1S1:MOV R5,#200 0016 00 D1S0:NOP 0017 DDFD DJNZ R5,D1S0 0019 DEF9 DJNZ R6,D1S1 001B DFF5 DJNZ R7,D1S2 001D 22 RET ;子程序返回 END,观

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论