收藏 分销(赏)

单片机三.pptx

上传人:w****g 文档编号:4235971 上传时间:2024-08-28 格式:PPTX 页数:46 大小:1.28MB
下载 相关 举报
单片机三.pptx_第1页
第1页 / 共46页
单片机三.pptx_第2页
第2页 / 共46页
单片机三.pptx_第3页
第3页 / 共46页
单片机三.pptx_第4页
第4页 / 共46页
单片机三.pptx_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、1无条件转移指令本小类共有4条。前2条是绝对转移指令,后2条是相对转移指令。本小类指令执行的结果,一定改变程序的顺序执行,发生转移。页的概念:将2KB的地址空间分成大小相等的8块,每块称之为一页。每一页包含256个地址连续的内存单元。表示2K的地址空间要11位地址码,高3位是页数(页面地址),低8位是页内地址。同一页的各单元页数相同,页内地址从0排到255。第1页/共46页1.绝对转移(2KB地址内)指令AJMP addr11双字节指令。机器码第一字节的高半字节是页数乘以2,低半字节是1,第二字节是页内地址。表3-5给出地址高3位、页数、机器码第一字节的高半字节的对应关系。a a1010a a

2、9 9a a8 80 00 00 00 01 1a a7 7a a6 6a a5 5a a4 4a a3 3a a2 2a a1 1a a0 0第2页/共46页MCS-51系列单片机可寻址64KB地址空间,而寻址64KB地址空间需要16位地址码,一个16位地址码如果低11位不变,高5位可有25=32种变化。只给出地址码低11位,实际对应了64KB地址空间中32个单元的地址。也就是说转移到这32个地址中任意一个地址的指令机器码是完全一样的。如指令 AJMP 11111111111B 的机器码是E1 FF。转移的地址随16位地址中高5位的变化,可以是07FFH(当高5位为00000B时)、0FFF

3、H(当高5位为00001B时)、17FFH(当高5位为00010B时)、1FFFH(当高5位为00011B时)。然而指令在具体执行时,只能是转移到这32个地址其中之一。究竟是哪个地址,和这条指令所在的地址有关。第3页/共46页MCS-51系列单片机可寻址64KB地址空间,因此可分成32个2KB。这里在每个地址连续的2KB地址空间中,所有单元地址码的高5位都是一样的,地址码低11位从0排到2047。指令的操作为:(PC)(PC)+2 (PC100)addr11第一个操作表达式表示PC当前值为排在这条无条件转移指令的下一条指令的地址,第二个操作表达式表示PC值高5位不变,低11位按指令给出的11位

4、地址变更。所以转移的目的地址与本指令下面一条指令在同一个2KB地址空间,而不是其他31个2KB地址空间。第4页/共46页在编程手工汇编时,我们首先判断目的地址与本指令下面一条指令是否在同一个2KB地址空间,在同一个2KB地址空间,就可以使用AJMP指令,将16位目的地址码的低11位作为AJMP指令的操作数;若不在同一个2KB地址空间,就要改用其他的转移指令。第5页/共46页对教材中要求特别注意的“特殊情形”的图示。AJMP指令与目的地址不在同一个2KB地址空间,AJMP指令转向下一个2KB地址空间。0000 0000 0000 0000B0000 0111 1111 1111BE10000 1

5、000 0000 0000BFF0000 1000 0000 0001B0000 1111 1111 1111B2KB2KB第6页/共46页2.长转移(64KB地址内)指令LJMP addr16三字节指令。机器码的第一字节02H;第二字节为地址的高8位;第三字节为地址的低8位。指令的操作表达式为:(PC)(PC)+3 (PC)addr16第7页/共46页3.相对短转移(-128+127B地址内)指令SJMP rel双字节指令。机器码的第一字节为80H;第二字节为相对地址值,也称相对偏移量。指令的操作表达式为:(PC)(PC)+2 (PC)(PC)+相对地址在用汇编语言编程时,指令中的相对地址r

6、el往往用要转移目的地址的标号(符号地址)表示。在机器汇编时,可自动算出相对地址值,而手工汇编时,则需要自己计算。第8页/共46页在用汇编语言编程时,用字符$表示本条指令的地址,这样当前PC值就等于$+2。($+2)+rel=目的地址 rel=目的地址-$-2 注:当指令机器码为三字节时,当前PC值就等于$+3,计算rel就要减3。例如,写出指令SJMP$的机器码,并剖析执行该指令的结果。rel=$-$-2=-2=FEH,机器码为80H、FEH。在执行该指令后,程序将仍转回此该指令继续执行,于是将不断地执行这一指令,计算机不做其他工作,进入等待状态。第9页/共46页4.相对长转移(64KB地址

7、内)指令JMP A+DPTR单字节指令。机器码为73H。指令的操作表达式为:(PC)(A)+(DPTR)指令的执行结果不会改变DPTR及A中原来的内容。第10页/共46页例如,已知累加器A的内容为0、2、4、6、8五个偶数中的一个,又标号TAB的真实地址为1800H,试剖析下列程序段的执行结果。MOV DPTR,#TABJMP A+DPTR1800 TAB:AJMP 100HAJMP 200HAJMP 300HAJMP 400HAJMP 500H当(A)=0时,程序转到1800H处,执行AJMP 100HAJMP 100H指明转移地址的低11位为001 0000 0000B;而这时的PC值是1

8、802H,以二进制写出的高5位为00011B,合在一起为0001 1001 0000 0000B,即1900H。程序最后转到1900H继续执行。同理,当(A)分别=2、4、6、8,程序最后转到1A00H、1B00H、1C00H、1D00H继续执行。第11页/共46页2条件转移指令本小类共有8条。它们都在满足条件的情形下才程序转移;条件如不满足,仍按原来顺序继续执行。都是相对寻址。1.累加器内容为零转移指令JZ rel双字节指令。机器码的第一字节为60H;第二字节为相对地址值。2.累加器内容不为零转移指令JNZ rel双字节指令。机器码的第一字节为70H;第二字节为相对地址值。第12页/共46页

9、3.累加器内容与某片内RAM单元(低128字节)或某专用寄存器内容不等转移指令CJNE A,direct,rel三字节指令。机器码的第一字节为B5H;第二字节为直接地址;第三字节为相对地址值。4.累加器内容与立即数不等转移指令 CJNE A,#data,rel三字节指令。机器码的第一字节为B4H;第二字节为立即数;第三字节为相对地址值。第13页/共46页5.某工作寄存器内容与立即数不等转移指令CJNE Ri,#data,rel三字节指令。机器码的第一字节因i值不同而为B8HBFH;第二字节为立即数;第三字节为相对地址值。6.某片内RAM单元内容与立即数不等转移指令CJNE Rj,#data,r

10、el三字节指令。机器码的第一字节因j值不同而为B6H、B7H;第二字节为立即数;第三字节为相对地址值。第14页/共46页以上4条CJNE指令是比较转移指令。指令的形式是:CJNE 前数,后数,rel。比较就是前数减后数,但与减法不同,差不回送前数。当前数不等于后数,即差不等于零时,转移;而当前数等于后数,即差等于零时,继续顺序执行下一条指令。此外,指令对进位标志有影响。后数前数,C=1;后数前数,C=0。可见,根据跳与不跳及C=0还是1,很容易鉴别出等于、大于、小于这三种不同结果。相等?相等?C=1?Y Y=Y Y N N 100 Y R0100 N R0=100 第41页/共46页4位操作类

11、指令汇总一览表第42页/共46页位操作类指令中:传送、取反、清零、置位指令执行时间为1个机器周期;与、或、转移指令执行时间为2个机器周期。第43页/共46页例如,将P1.0的内容送片内RAM20H单元的最低位,可通过连续执行下列两条指令达到要求。MOV C,P1.0MOV 00H,C以上第一条指令中P1.0用的是点表示方式,第二指令中00H用的是位地址表示方式。前一条指令的机器码是A2H、90H,后一条指令的机器码是92H、00H。第44页/共46页3调子指令本小类有4条。前2条是调子;后2条是返主。1.绝对调子(2KB地址内)指令ACALL addr11双字节指令。机器码第一字节的高半字节是

12、页数乘以2再加1,低半字节是1,第二字节是页内地址。表3-6给出地址高3位、页数、机器码第一字节的高半字节的对应关系。a a1010a a9 9a a8 81 10 00 00 01 1a a7 7a a6 6a a5 5a a4 4a a3 3a a2 2a a1 1a a0 0第45页/共46页下列程序段将在P1.0引脚输出方波,如图所示共5个周期,每3个机器周期电平改变一次。MOV R7,#10 LOOP:CPL P1.0DJNZ R7,LOOP DONE:根据例子编一个根据例子编一个在在P1.7P1.7引脚输出引脚输出6 6个方波的程序段,个方波的程序段,要求每要求每5 5个机器周个机器周期电平改变一次。期电平改变一次。第46页/共46页

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服