《单片机讲义讲》PPT课件.ppt

上传人:wuy****n92 文档编号:80479074 上传时间:2023-03-23 格式:PPT 页数:33 大小:511KB
返回 下载 相关 举报
《单片机讲义讲》PPT课件.ppt_第1页
第1页 / 共33页
《单片机讲义讲》PPT课件.ppt_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《《单片机讲义讲》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《单片机讲义讲》PPT课件.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第3 3章章 AT89C51 指令系统指令系统 单片机原理与应用单片机原理与应用 第七讲第七讲 主要内容主要内容 第3章AT89C51指令系统 1.3.3.3 逻辑操作与移位指令 2.3.3.4 控制转移类指令 3.3.3.5 位操作类指令 1第第3 3章章 AT89C51 指令系统指令系统 3.3.3 逻辑操作与移位指令这类指令主要包括与、或、异或、求反、清零、移位等操作指令。逻辑操作与移位指令如表3-3(略)所示。共有24条,按参与运算的操作数的个数可分为:单操作数逻辑运算和双操作数逻辑运算两大类。下面分别予以介绍2第第3 3章章 AT89C51 指令系统指令系统 1逻辑与指令“与”指令

2、是将源操作数与目的操作数按位相与,其结果送入目的操作数中。“与”指令可以屏蔽操作数的某些位,即使操作数某些位清零,其他位保持不变。这类指令的助记符为ANL,共有6条ANLA,RnANLA,directANLA,RiANLA,#dataANLdirect,AANLdirect,#data例:设(A)=0A3H,(R0)=0F0HANLA,R0结果(A)=0A0H;A的低四位清零 3第第3 3章章 AT89C51 指令系统指令系统2逻辑或指令“或”指令是将源操作数与目的操作数按位相或,其结果送入目的操作数中。“或”指令可以使操作数的数据位置1,即使操作数某些位置1,其他位保持不变。这类指令的助记符

3、为ORL,共有6条ORLA,RnORLA,directORLA,RiORLA,#dataORLdirect,AORLdirect,#data例:设(A)=52HORLA,#0FH结果(A)=5FH;逻辑或指令用做置位4第第3 3章章 AT89C51 指令系统指令系统 3逻辑异或指令“异或”指令是将源操作数与目的操作数按位相异或,即不同为1,相同为0,其结果送入目的操作数。“异或”指令可以使操作数的数据位取反,即使操作数某些位取反,其他位保持不变。这类指令的助记符为XRL,共有6条XRLA,RnXRLA,directXRLA,RiXRLA,#dataXRLdirect,AXRLdirect,#d

4、ata例1:设(A)=5FHXRLA,#0FH;(A)=50H例1:设(A)=5FH(R7)=5FHXRLA,R7;(A)=00H 5第第3 3章章 AT89C51 指令系统指令系统4累加器清零与取反,是单字节指令CLRA;机器码E4H指令功能是将累加器A的内容清零。CPLA;机器码F4H指令功能是将累加器A的内容按位取反,即累加器A中各位1变0,0变1。例(A)=55HCPLA;(A)=0AAHCLRA;(A)=00H上面介绍了逻辑类运算指令,逻辑指令特点是按位进行6第第3 3章章 AT89C51 指令系统指令系统 5移位指令AT89C51移位指令有四种,都是对累加器A进行操作。这组移位指令

5、只能对操作数移一位,若要移多位,则要通过编写程序完成。7第第3 3章章 AT89C51 指令系统指令系统图3-4左循环移位指令示意图RLA(1)RLA的指令功能是将累加器A的内容左循环移位。如图3-4所示,累加器A的最高位移入最低位,同时其他各位依次左移。8第第3 3章章 AT89C51 指令系统指令系统图3-5带进位左循环移位指令示意图 RLC A(2)RLCA的指令功能是将累加器A的内容和进位标志一起左循环移位。如图3-5所示,累加器A的最高位移入进位位CY,同时其他各位依次左移,CY位移入累加器A的最低位。9第第3 3章章 AT89C51 指令系统指令系统图3-6右循环移位指令示意图RR

6、A(3)RRA的指令功能是将累加器A的内容右循环移位。如图3-6所示,累加器A的最低位移入最高位,同时其他各位依次右移。10第第3 3章章 AT89C51 指令系统指令系统图3-7带进位右循环移位指令示意图RRCA(4)RRCA的指令功能是将累加器A的内容和进位标志一起右循环移位。如图3-7所示,累加器A的最低位移入进位位CY,同时其他各位依次右移,CY位移入累加器A的最高位。11第第3 3章章 AT89C51 指令系统指令系统 3.3.4 控制转移类指令控制转移类指令主要以改变程序计数器PC内容为目标,用来控制程序执行的流向。它主要分为以下几类,如表3-4所示。12第第3 3章章 AT89C

7、51 指令系统指令系统表3-4 控制转移类指令13第第3 3章章 AT89C51 指令系统指令系统14第第3 3章章 AT89C51 指令系统指令系统 1无条件转移指令无条件转移指令是指当程序执行到这条指令时,程序将无条件地转移到指令指向的地址单元取指运行。(1)AJMP为短转移指令。2k(2)LJMP为长转移指令。64K(3)SJMP为相对转移指令。(-128+127)(4)“JMPA+DPTR”为间接转移指令,用它可实现分支转移。64K注意:转移范围15第第3 3章章 AT89C51 指令系统指令系统 2有条件转移指令有条件转移指令是指根据指令中给出的条件进行判断,若条件成立,则程序转向指

8、定的目的地址执行,否则顺序执行程序。有条件转移指令的目标地址都在相对于该指令的下一条指令为-128+127的区域内这类指令共有6条JZrelJNZrel;判零转移指令CJNEA,direct,relCJNEA,#data,relCJNERn,#data,relCJNERi,#data,rel;比较转移指令这类指令不影响任何操作数。16第第3 3章章 AT89C51 指令系统指令系统1)累加器判零指令JZ指令的功能是判断累加器A的值。若累加器A的值为0,则程序转移到目标地址;否则,顺序执行程序。JNZ指令的功能是判断累加器A的值。若累加器A的值不为0,则程序转移到目标地址;否则,顺序执行程序。例

9、:设(A)=01HJZLABEL1DECAJZLABEL217第第3 3章章 AT89C51 指令系统指令系统2)比较转移指令这组比较指令的功能是将目的操作数的内容和源操作数的内容进行比较。若不相等,则程序转移到目标地址;否则,则顺序执行程序。CJNEA,direct,relCJNEA,#data,relCJNERn,#data,relCJNERi,#data,rel;比较转移指令3)减1条件转移指令这组指令的功能是先将操作数的内容减1,然后判断结果。如果不为0,则转移到目标地址;否则,则顺序执行程序。DJNZRn,relDJNZdirect,rel这类指令的功能是,每执行一次本命令,将指定的

10、Rn或direct的内容减1并判断其是否为0,若不为0,转向目的地址,若为0,则结束循环程序18第第3 3章章 AT89C51 指令系统指令系统 3空操作指令NOP 执行这条指令除PC内容加1外,不影响任何标志位和其他寄存器。NOP指令常用来产生一个机器周期的延迟。4调用与返回指令在程序设计中,有些如延时、显示等具有一定功能的程序在一个系统中常常被多次使用,为了避免重复编写相同功能的程序,使程序编写和调试更加容易,通常把这些具有一定功能的经常被反复使用的程序段作为子程序。19第第3 3章章 AT89C51 指令系统指令系统1)短调用指令短调用指令 ACALL指令的目标地址是指令的目标地址是11

11、位。在调用子程序时,该指令与位。在调用子程序时,该指令与AJMP指令类似,要求调用子程序的入口地址与指令类似,要求调用子程序的入口地址与ACALL指令后面指指令后面指令的第一个字节在同一个令的第一个字节在同一个2 K页面的程序存储器区域中。页面的程序存储器区域中。2)长调用指令长调用指令 LCALL指令的目标地址是指令的目标地址是 16位。可在位。可在64 K程序存储器区域范围程序存储器区域范围内调用任何一个子程序。内调用任何一个子程序。3)返回指令返回指令 RET是子程序返回指令。它使是子程序返回指令。它使CPU从子程序返回到调用指令的从子程序返回到调用指令的下一条指令。下一条指令。20第第

12、3 3章章 AT89C51 指令系统指令系统 上面介绍了控制转移指令:该节学习重点:上面介绍了控制转移指令:该节学习重点:1.条件转移指令,其寻址方式为相对寻址,寻址范围为(-128-+127);2.无条件转移指令范围,不同指令有不同的转移范围。3.无条件转移指令和调用指令LCALLACALL指令的区别。两者不同之处在于调用指令在转移前,要执行完该指令后PC内容自动压入堆栈,才做addr16(或addr12)送入PC的工作,其中addr16(或addr12)就是子程序的首地址或子程序的入口地址。执行子程序中,遇到RET就从堆栈中将原压入堆栈的地址弹回给PC,继续主程序的执行。21第第3 3章章

13、 AT89C51 指令系统指令系统 3.3.5 位操作类指令AT89C51有一个完整的位处理机,用于对位地址进行操作,在3.2节中已经说明,只有内部RAM20H2FH单元和单元地址能被8整除的特殊功能寄存器能够进行位操作,所有的位操作都是直接寻址方式进行的。在位处理器中,位的传送和逻辑运算是通过进位标志CY来完成的,CY的作用相当于CPU中的累加器A。位操作指令共17条,如表3-5所示。22第第3 3章章 AT89C51 指令系统指令系统表3-5 位操作指令类型助记符操作码功能字节机器周期位传送MOVC,bitMOVbit,CA2bit92bitC(bit)bitC2212位修正CLRCCLR

14、bitCPLCCPLbitSETBCSETBbitC3C2bitB3B2bitD3D2bitC0bit0Cbit(/bit)C1bit1121212111111位逻辑运算ANLC,bitANLC,/bitORLC,bitORLC,/bit82bitB0bit72bitA0bitCC(bit)CC(/bit)CC(bit)CC(/bit)22222222判位转移JCrelJNCrelJBbit,relJNBbit,rel40rel50rel20bitrel30bitrelC=1,转C=0,转(bit)=1,转(bit)=0,转22332222JBCbit,rel10bitrelbit=1转bit

15、03223第第3 3章章 AT89C51 指令系统指令系统 1位数据传送指令这组指令的功能是将源操作数位地址单元的值传送给目标操作数指向的位地址单元中,源操作数内容不变。例3.24MOVC,07H;MOVC,20H.7 等效其机器码均为0A2H07H;将内部RAM20H单元的最高位的值送入CY中MOVP1.0,C;将CY的值送入P1口的D0位24第第3 3章章 AT89C51 指令系统指令系统2位修正指令(1)CLRC使进位标志位内容CY清零;(2)CLRbit使位地址单元内容清零;(3)CPLC使进位标志位内容取反;(4)CPLbit使位地址单元内容取反;(5)SETBC使进位标志位内容置1

16、;(6)SETBbit使位地址单元内容置1。25第第3 3章章 AT89C51 指令系统指令系统 3位逻辑运算指令(1)ANLC,bit指令功能是把源操作数位的内容与目标操作数CY的内容进行与运算,结果送入CY中;(2)ANLC,/bit指令功能是对源操作数位取反后,再与目标操作数进行与运算,结果存入CY中,但不改变源操作数本身的值;设(20H)=00H;CY=1例ANLC,/20H.7结果CY=1;(20H)=00H;26第第3 3章章 AT89C51 指令系统指令系统(3)ORLC,bit指令功能是把源操作数位的内容与目标操作数CY的内容进行或运算,结果送入CY中;(4)ORLC,/bit

17、指令是对源操作数位取反后,再与目标操作数进行或运算,结果存入CY中,但不改变源操作数本身的值。27第第3 3章章 AT89C51 指令系统指令系统 4位条件转移类指令位判断转移指令都是条件转移指令,转移的目标地址都是用相对偏移量表示的,转移范围相对于该指令的下一条指令-128+127范围内。使用这些指令编程时,只用一个标号或16位数来表示转移目标地址。28第第3 3章章 AT89C51 指令系统指令系统(1)JC指令功能:若进位标志CY为1,则转移到目标地址执行程序,否则顺序执行程序;(2)JNC指令功能:若进位标志CY为0,则转移到目标地址执行程序,否则顺序执行程序;(3)JB指令功能:若位

18、地址单元内容为1,则转移到目标地址执行,否则顺序执行程序;29第第3 3章章 AT89C51 指令系统指令系统(4)JNB指令功能:若位地址单元内容为0,则转移到目标地址执行,否则顺序执行程序;(5)JBC指令功能:若进位标志CY为1,则转移到目标地址执行程序,且将CY清零,否则顺序执行程序。30第第3 3章章 AT89C51 指令系统指令系统例1:ORG0100HCLRC;(CY)=0JCL1;L1,L2为标号CPLC;(CY)=1JCL2;条件满足转L2例2:ORG0100HSETBC;(CY)=1简写C=1JNCL1;C=0转L1;C=1顺序执行CPLC;C=0JNCL2;C=0转L23

19、1第第3 3章章 AT89C51 指令系统指令系统例3:判直接寻址位转移MOVP1,#0CAH;CAH=11001010BMOVA,#56H;56H=01010110BJBP1.2,L1;P1.2为0,不转JNBACC.3,L2;ACC.3为0,转L2例4:MOVA,#43H;43H=01000011BJBCACC.2,L1;ACC.2=0,不转JBCACC.6,L2;ACC.6=1,转L2且将ACC.6清0(A)=03H32第第3 3章章 AT89C51 指令系统指令系统 单片机原理与应用单片机原理与应用 第七讲第七讲 小结小结第3章AT89C51指令系统 1.3.3.3 逻辑操作与移位指令 2.3.3.4 控制转移类指令 3.3.3.5 位操作类指令 学习要点:1.不同逻辑指令操作的指令格式 2.控制转移类指令的方式与范围 3.位操作指令的指令方式与转移条件 RAM 内直接可寻址的位地址、特殊功能寄存器的位 地址。33

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁