MCS-51单片机指令系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

单片机原理及其接口技术主目录上一页下一页结束第3章MCS-51单片机指令系统教学目标3.1MCS-51单片机指令系统概述3.2寻址方式3.3数据传送类指令3.4算术与逻辑运算指令3.5控制转移类指令与位操作类指令本章小结思考题与习题单片机原理及其接口技术主目录上一页下一页结束教学目标1.理解MCS-51指令的基本格式和各组成部分的功能。2.了解MCS-51指令分类情况。3.熟悉和理解指令系统中常用符号的书写形式及含义。4.理解MCS-51的7种寻址方式的形式、寻址范围和特点。5.熟悉和掌握MCS-51的111条指令的形式、功能和简单应用。单片机原理及其接口技术主目录上一页下一页结束1、指令:2、指令系统:一种确定的CPU,它可以执行什么操作/可执行多少种操作,完全由CPU设计师确定,用户只能了解、应用这些操作以完成自己的工作。规定CPU执行何种操作的命令,由二进码组成,称为机器码。指令由操作码和操作数两部分组成。规定CPU执行操作的全部命令的集合。3、程序:指令按照要求有序排列。3.1MCS-51单片机指令系统概述3.1.1指令、指令系统的概念单片机原理及其接口技术主目录上一页下一页结束7407H;240AH;编程举例:设计实现Y=7+10指令=操作码+操作数MOVA,#07H;ADDA,#0AH;用助记符号写出的二进制代码(机器语言),称为CPU的汇编语言。汇编语言与二进码指令一一对应。0111010000000111B;0010010000001010B;单片机原理及其接口技术主目录上一页下一页结束3.1.2符号指令的格式一般格式:[标号:]操作助记符[目的操作数][,源操作数][;注释]每条指令通常由操作码和操作数两部分组成操作码表示计算机执行该指令将进行何种操作操作数表示参加操作的数的本身或操作数所在的地址带方括号【】部分不是每条指令都必须有的例:MAIN:MOVA,#32H;将数32H送到ACC中指令=操作码+操作数单片机原理及其接口技术主目录上一页下一页结束3.1.2符号指令的格式注:在两个操作数的指令中,通常目的操作数写在左边,源操作数写在右边。操作数个数无操作数单操作数两操作数三操作数一般格式:[标号:]操作助记符[目的操作数][,源操作数][;注释]单片机原理及其接口技术主目录上一页下一页结束指令一般有功能、时间和空间三种属性:功能属性:时间属性:空间属性:是指每条指令都对应一个特定的操作功能;是指一条指令执行所用的时间,一般用机器周期来表示;是指一条指令在程序存储器中存储所占用的字节数。单片机原理及其接口技术主目录上一页下一页结束83.1.3指令的字节数指令长度:1字节(49),2字节(46),3字节(16)。10100011INCDPTR)1DPTRDPTR(MOVA,Rn1110rrr1通用寄存器二进制编码1.一字节指令:单片机原理及其接口技术主目录上一页下一页结束92.二字节指令:第一字节:操作码第二字节:操作数MOVA,#data位二进制操作数801110100立即数单片机原理及其接口技术主目录上一页下一页结束103.三字节指令:第一字节:操作码第二、三字节:操作数(数据、地址)MOVdirect,#data立即数直接地址01010011立即数直接地址单片机原理及其接口技术主目录上一页下一页结束11指令字节数总结1、操作码占一个或者不到一个字节。2、一个操作数占一个或者两个字节。3、一个地址占一个或者两个字节,或者一个半。4、A、B、DPTR、Rn不单独占一个字节,隐藏在操作码中。单片机原理及其接口技术主目录上一页下一页结束12单片机原理及其接口技术主目录上一页下一页结束133.1.4指令的分类MCS-51单片机指令系统具有功能强、指令短、执行快等特点,共有111条指令。数据传送(29条)算术操作(24条)逻辑操作(4条)程序转移(17条)位操作(17条)功能属性单字节指令(49条)双字节指令(46条)三字节指令(16条)空间属性单机器周期指令(64条)双机器周期指令(45条)4个机器周期的指令(2条)(乘法、除法)时间属性单片机原理及其接口技术主目录上一页下一页结束3.1.5符号指令及其注释中常用的符号(1)Ri和Rn:(2)#data:(3)#data16:(4)rel:(5)addr16和addr11:表示当前工作寄存器区中的工作寄存器。i取0或1,表示R0或R1。n取0~7,表示R0~R7。表示包含在指令中的8位立即数。表示包含在指令中的16位立即数。以补码形式表示的8位相对偏移量,范围为-128~+127,主要用在相对寻址的指令中。分别表示16位直接地址和11位直接地址。单片机原理及其接口技术主目录上一页下一页结束3.1.5符号指令及其注释中常用的符号(6)direct:(7)bit:(8)(X):(9)((X)):(10)/:(11)→:表示直接寻址的8位直接地址。表示可位寻址的直接位地址。表示X单元中的内容。表示以X单元的内容为地址的存储器单元内容,即(X)作地址,该地址单元的内容用((X))表示。“/”表示对该位操作数取反。“→”表示操作流程,将箭尾一方的内容送入箭头所指另一方的单元中去。单片机原理及其接口技术主目录上一页下一页结束3.2MCS-51的寻址方式1.寻址方式共有7种,即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、变址寻址、相对寻址和位寻址,如表3.1所示。2.寻址方式的种类寻找操作数的方法定义为指令寻址方式。若不特别声明,我们后面提到的寻址方式均指源操作数的寻址方式。单片机原理及其接口技术主目录上一页下一页结束表3.1寻址方式及对应的存储器空间寻址方式寻址空间立即寻址程序存储器ROM直接寻址片内RAM低128字节、SFR寄存器寻址片内RAM工作寄存器R0~R7,A,B,DPTR寄存器间址片内RAM低128字节:@R0,@R1片外RAM:@R0,@R1,@DPTR变址寻址程序存储器ROM:@A+PC,@A+DPTR相对寻址程序存储器256字节范围内:PC+偏移量位寻址片内RAM的位寻址区(20H~2FH字节地址)可位寻址的SFR单片机原理及其接口技术主目录上一页下一页结束1.操作数在寄存器中,指令中直接给出该寄存器名称。具有较高的传送和运算速度。3.2.1寄存器寻址例3.1MOVA,R0;A(R0)2.寻址空间R0~R7ABDPTR单片机原理及其接口技术主目录上一页下一页结束例3.2MOVA,R0;设(R0)=30H,PSW=00H,求程序执行后A、R0内容。00H7FH30H30H80HFFHAE8HFFFFHMOVA,R00000HROMSFRRAM结果:(A)=30HPC(R0)=30H单片机原理及其接口技术主目录上一页下一页结束20采用寄存器寻址的指令如下:MOVP1,A;将累加器A的内容送到P1口MOVP1,R4;将寄存器R4的内容送到P1口CLRA;将累加器A清0CPLA;将累加器A中的内容取反RLA;将累加器A的内容循环左移单片机原理及其接口技术主目录上一页下一页结束1.操作数放在地址指示的存储单元中,操作码后的字节是操作数的直接地址。3.2.2直接寻址2.寻址空间片内RAM低128字节SFR(常采用符号形式)如:MOVA,50H如:MOVA,SP单片机原理及其接口技术主目录上一页下一页结束例3.3MOVA,60H;设(60H)=2EH,求程序执行后A、60H内容。60H7FH2EH2EH80HFFHAFFFFHMOVA,60H0000HROMSFRRAM结果:(A)=2EHE5H60H00H单片机原理及其接口技术主目录上一页下一页结束23注意:1、若直接寻址的地址是SFR中的某一个时,可用其物理地址,也可用名称符号MOVA,SP;使用堆栈指针的名称符号MOVA,81H;使用堆栈指针的物理地址单片机原理及其接口技术主目录上一页下一页结束24注意:2、累加器有A、ACC和E0H三种表示形式,寻址方式不一样,但功能相同INCA;寄存器寻址INCACC;直接寻址INC0E0H;直接寻址单片机原理及其接口技术主目录上一页下一页结束25注意:3、字节地址和位地址的区别MOVA,20H;20H字节地址内容送给ASETB20H;20H位置1MOVC,20H;20H位地址内容送给C单片机原理及其接口技术主目录上一页下一页结束1.操作数在以寄存器中内容为地址的单元中,指令中寄存器前面必须加上符号“@”。3.2.3寄存器间接寻址2.寻址空间片内RAM低128字节片外RAM3.间址寄存器R0或R1DPTRMOVMOVX单片机原理及其接口技术主目录上一页下一页结束例3.4MOVA,@R0;设(R0)=50H,(50H)=6EHE6HFFFFHMOVA,@R00000HROM结果:(A)=6EH50H7FH6EH6EH80HFFHASFRRAM50HR0A((R0))单片机原理及其接口技术主目录上一页下一页结束28•寄存器间址指令可以拓宽寻址范围。@Ri用于片内片外256B的RAM寻址。@DPTR可以覆盖片外64KB的ROM/RAM.•寄存器间址指令不能用于寻址特殊功能寄存器SFR,SFR只能用寄存器寻址或者直接寻址.MOVR0,#81H;SP的物理地址MOVA,@R0;SFR只能直接寻址、寄存器寻址!注意:单片机原理及其接口技术主目录上一页下一页结束1、操作数直接出现在指令中,紧跟在操作码的后面,作为指令的一部分与操作码一起存放在程序存储器中,可以立即得到并执行,不需要经过别的途径去寻找,故称为立即寻址。2、汇编指令中,在一个数的前面冠以#符号作前缀,就表示该数为立即寻址。3.2.4立即寻址3、寻址空间:ROM单片机原理及其接口技术主目录上一页下一页结束例3.5MOVA,#07H;7FH07H80HFFHAFFFFHMOVA,#07H0000HROMSFRRAM结果:(A)=07H74H07H00H单片机原理及其接口技术主目录上一页下一页结束31采用立即数寻址的指令如下:MOVP1,#55H;将立即数55H送P1口MOV20H,#55H;将立即数55H送20H单元MOVA,#0F0H;将立即数0F0H送累加器AMOVR4,#0FH;将立即数0FH送寄存器R4中MOVR0,#20H;将立即数20H送寄存器R0口单片机原理及其接口技术主目录上一页下一页结束1.以一个基地址加上一个偏移量地址形成操作数地址。3.2.5变址寻址3.寻址空间:ROM基址寄存器:DPTRPC偏移量寄存器:A2.操作数地址:单片机原理及其接口技术主目录上一页下一页结束33将基址寄存器与偏移量寄存器的内容相加,结果作为操作数在ROM中的地址。DPTR或PC是基址寄存器,累加器A是偏移量寄存器。MOVCA,@A+DPTR;A(A+DPTR)MOVCA,@A+PC;A(A+PC)该类寻址方式主要用于查表操作。3.2.5变址寻址单片机原理及其接口技术主目录上一页下一页结束34MOVCA,@A+DPTR55H程序存储区02HA0302H03HDPTR00HΣ0302H①②③图3.5变址寻址示意图单片机原理及其接口技术主目录上一页下一页结束例3.6MOVCA,@A+DPTR;7FH0FH80HFFHAFFFFHMOVCA,@A+DPTR0000HROMSFRRAM结果:(A)=88H93H88H00H24H2400H+0FH=240FH240FHDPLDPH88H00H单片机原理及其接口技术主目录上一页下一页结束36指程序计数器PC的当前内容与指令中的操作数相加,其结果作为跳转指令的转移地址(也称目的地址)。该类寻址方式主要用于跳转指令。SJMPrel;PCPC+2+rel将PC当前的内容与rel(-128~127)相加,结果再送回PC中,成为下一条将要执行指令的地址。3.2.6相对寻址PC的当前值:读出该2字节或3字节的跳转指令后,PC指向的下条指令的地址。单片机原理及其接口技术主目录上一页下一页结束37SJMP54H54H程序存储区54HA2001H20HPC02HΣ2056HXX80

1 / 180
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功