最新单片机第7讲PPT课件

上传人:壹****1 文档编号:569762281 上传时间:2024-07-30 格式:PPT 页数:20 大小:644.50KB
返回 下载 相关 举报
最新单片机第7讲PPT课件_第1页
第1页 / 共20页
最新单片机第7讲PPT课件_第2页
第2页 / 共20页
最新单片机第7讲PPT课件_第3页
第3页 / 共20页
最新单片机第7讲PPT课件_第4页
第4页 / 共20页
最新单片机第7讲PPT课件_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《最新单片机第7讲PPT课件》由会员分享,可在线阅读,更多相关《最新单片机第7讲PPT课件(20页珍藏版)》请在金锄头文库上搜索。

1、单片机第单片机第7 7讲讲本次课内容:本次课内容:位操作类指令位操作类指令控制转移类指令控制转移类指令KEY:KEY: MOV DPTR,#KTAB MOV DPTR,#KTAB MOV A,40H MOV A,40H ADD A,A ADD A,A JMP A+DPTR JMP A+DPTRKTAB:KTAB: AJMP FUNC0 AJMP FUNC0 AJMP FUNC1 AJMP FUNC1 FUNC0: FUNC0: FUNC1: FUNC1: 应用:处理功能键。应用:处理功能键。 要求不同功能键执行不同要求不同功能键执行不同程序段。设每个功能键对应一程序段。设每个功能键对应一个键值

2、个键值 X(0XFH) X(0XFH)。 设设X X已存入片内已存入片内RAMRAM的的40H40H单元中。单元中。若若X=0X=0,则执行程序段,则执行程序段FUNC0FUNC0;若若X=1X=1,则执行程序段,则执行程序段FUNC1FUNC1; 。 4 4间接转移指令间接转移指令( (多分支转移指令多分支转移指令) ):JMP A+DPTRJMP A+DPTR ;PCPC(A+DPTR)A+DPTR) 指令机器码指令机器码 73H73H,指令转移范围,指令转移范围64KB64KB。(二)条件转移指令:1.A A判零转移指令:判零转移指令:2.JZ rel ;PCPC(PCPC)+2+2,

3、;若若A=00HA=00H,PCPC(PCPC)+ +relrel( (转移转移) ), 若若A00HA00H,PCPC不变不变( (不转移不转移) ) 条件转移指令形成程序的分支,赋予计算机判断决策能力。条件转移指令形成程序的分支,赋予计算机判断决策能力。条件转移指令形成程序的分支,赋予计算机判断决策能力。条件转移指令形成程序的分支,赋予计算机判断决策能力。 转移条件:转移条件:转移条件:转移条件:1)1)1)1)标志位的状态;标志位的状态;标志位的状态;标志位的状态; 2) 2) 2) 2)位地址中的状态。位地址中的状态。位地址中的状态。位地址中的状态。JNZ relJNZ relJNZ

4、relJNZ rel;PCPCPCPC(PCPCPCPC)+2+2+2+2, ;若;若;若;若A00H PCA00H PCA00H PCA00H PC(PCPCPCPC)+ rel(+ rel(+ rel(+ rel(转移转移转移转移) ) ) ) 若若若若A=00HA=00HA=00HA=00H,PCPCPCPC不变不变不变不变( ( ( (不转移不转移不转移不转移) ) ) ) 例:若(R1)=32H, (R2)=32H, (CY)=0H,则执行下列程序段程序转移地址是什么? MOV A,R1 SUBB A,R22000H:JNZ,10H2002H:JZ 20H转移目的地址为2002H+2

5、+20H=2024H。2. 2. 2. 2. 比较不相等转移指令:比较不相等转移指令:比较不相等转移指令:比较不相等转移指令: CJNE CJNE CJNE CJNE 操作数操作数操作数操作数1 1 1 1,操作数,操作数,操作数,操作数2 2 2 2,relrelrelrel相当于两个操作数相减,仅影响标志状态,不保存结果相当于两个操作数相减,仅影响标志状态,不保存结果。CJNE A,#data , rel ; 若(A) data ,则 (PC)=(PC)+3+rel, 转移 若(A) = data ,则 (PC)=(PC)+3, 不转移CJNE A,direct,rel;若(A)(dire

6、ct), 则转移(PC)=(PC) +3+ rel 若( A)= (direct),则不转移(PC)=(PC) +3,顺序执行。 CJNE Rn,#data , rel ; 若(Rn) data ,则 (PC)=(PC)+3+rel, 转移 若(Rn) = data ,则 (PC)=(PC)+3, 不转移CJNE Ri, #data , rel ; 若(Ri) data,则 (PC)=(PC) +3+ rel 若(Ri) = data,则不转移(PC)=(PC) +3,顺序执行。注意:上面4条指令执行后都影响CY标志位的状态:当比较的两操作数相等或左边的操作数大于右边的操作数时,CY清0,否则

7、为1。 3 3 3 3减1条件转移指令:DJNZ DJNZ 操作数,操作数,relrel 例:例:用于循环结构程序。设要求程序循环执行用于循环结构程序。设要求程序循环执行100100次。次。MOV RMOV R2 2,#100 #100 ;设循环计数器初值;设循环计数器初值 LOOP LOOP: ;多次循环程序段;多次循环程序段 DJNZ RDJNZ R2 2,LOOPLOOP;循环控制;循环控制 ;循环结束;循环结束初始化初始化初始化初始化循环体循环体循环体循环体控制变量的修改控制变量的修改控制变量的修改控制变量的修改循环次数的控制循环次数的控制循环次数的控制循环次数的控制包括包括包括包括D

8、JNZ Rn,rel; Rn=(Rn)-1 若(Rn) 0,则转移: PC=(PC) +2+ rel 若(Rn) =0,则不转移:PC=(PC) +2,顺序执行。DJNZ direct,rel; direct=(direct)-1 若(direct) 0,则转移: PC=(PC) +3+ rel 若(direct) =0,则不转移:PC=(PC) +3,顺序执行。(三)子程序调用和返回指令子程序调用和返回指令也使程序发生转移。1 1、长调用指令、长调用指令: :LCALL addr16LCALL addr16;PCPC(PCPC)+3, +3, ;SPSP(SPSP)+1+1,(SP)(SP)

9、(PCPC)0 07 7;SPSP(SPSP)+1+1,(SP)(SP)(PCPC)8 81515;PCaddr16PCaddr16addr16addr16为子程序起始地址,编程时可用标号代替。为子程序起始地址,编程时可用标号代替。 指令机器码:指令机器码:12 addr12 addr8 81515 addr addr0 07 7 指令调用范围:指令调用范围:64KB64KB子程序调用过程:子程序调用过程: 与转移指令不同:转移时,与转移指令不同:转移时,先用堆栈保存当前地址。先用堆栈保存当前地址。2 2、绝对调用指令、绝对调用指令ACALL addr11ACALL addr11;PC(PC)

10、+2, PC(PC)+2, ;SP(SP)+1SP(SP)+1,(SP)(PC)(SP)(PC)0 07 7 ;SP(SP)+1SP(SP)+1,(SP)(PC)(SP)(PC)8 81515 ;PCPC100 addr11addr11,高,高5 5位不变位不变addr11addr11为为1111位子程序起始地址,编程时可用标号代替。位子程序起始地址,编程时可用标号代替。指令调用范围:指令调用范围:2KB2KB 指令机器码:指令机器码: A10 A9 A8 1 0 0 0 1 (第第1字节)字节)A7 A6A5A4A3A2A1A0 (第第2字节)字节)RETRET ;PCPC15158 8(S

11、P)(SP),SP(SP)-1SP(SP)-1, ;PCPC7 70 0 (SP)(SP),SP(SP)-1SP(SP)-1指令机器码:指令机器码:22H22HRETRET指令从堆栈弹出保存的指令从堆栈弹出保存的PCPC地址,实现子程序返回。地址,实现子程序返回。( (四四) ) 空操作指令空操作指令NOP ;pcNOP ;pc(PC)+1,不作任何操作,不作任何操作3、子程序返回指令、子程序返回指令:3.4.5 3.4.5 位操作指令位操作指令(一)位传送:MOV C,bit ;Cy(bit)MOV bit,C ;(bit)Cy例:将位地址例:将位地址20H20H的一位数传送到位地址的一位数

12、传送到位地址30H30H中:中:MOV CMOV C,20H20HMOV 30HMOV 30H,C C(二)位清(二)位清0 0、置、置1 1、取反、取反(CLR(CLR、SETBSETB、CPL)CPL): :CLR C CLR C ;Cy0Cy0CLR 40HCLR 40H;( (位地址位地址40H)040H)0对片内RAM中位寻址区操作。位累加器Cy和位地址bit。(三)逻辑运算(ANL、ORL):例:设 Cy=1,(位地址40H)=1,执行指令 ANL C,40H 后, Cy= ? ,(位地址40H)= ?位地址表示法:位地址表示法:位地址位地址 40H40H,位寄存器,位寄存器 F

13、F0 0 ,字节加位,字节加位 ACC.ACC.0 00习题:设累加器习题:设累加器A A中数据为中数据为 29H=0010 29H=00101 1001B001B,Cy=0Cy=0, 执行指令执行指令 ORL CORL C,0E3H 0E3H 后,后, Cy= ? Cy= ?11ANL C,40H ;CC(40H)ANL C,40H ;CC(40H)2.2.判位转移指令判位转移指令: :JB bitJB bit,relrel ;(bit)=1(bit)=1转移,否则不转移转移,否则不转移 JNB bitJNB bit,relrel ;(bit)=0(bit)=0转移,否则不转移转移,否则不转

14、移3. 3. 3. 3. 判位清判位清判位清判位清0 0 0 0转移指令:转移指令:转移指令:转移指令:JBC bitJBC bitJBC bitJBC bit,relrelrelrel ;(bit)=1(bit)=1(bit)=1(bit)=1转移转移转移转移, , , ,且且且且(bit)=0(bit)=0(bit)=0(bit)=0, 否则不转移否则不转移否则不转移否则不转移1. 1. 判判判判CyCy转移指令:转移指令:转移指令:转移指令: JC rel JC rel ;Cy=1Cy=1则转移,则转移,则转移,则转移,Cy=0Cy=0不转移不转移不转移不转移 JNC rel JNC rel ;Cy=0Cy=0则转移,则转移,则转移,则转移,Cy=1Cy=1不转移不转移不转移不转移(四)位控制转移指令:本次课小结: (1)位操作 :MOV、ANL、ORL、CPL、CLR、SETB。 (2)位控制:JC、JNC、JB、JNB、JBC。作业:作业:P64 1、17、18控制转移类指令控制转移类指令位操作类指令位操作类指令1) 无条件转移:(LJMP、AJMP、SJMP、JMP)2)条件转移指令:(JZ、JNZ、CJNE、DJNZ)3)子程序调用和返回指令:(LCALL、 ALCALL、RET)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号