最新微机原理与控制第三章(春季)PPT课件.ppt
《最新微机原理与控制第三章(春季)PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微机原理与控制第三章(春季)PPT课件.ppt(141页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微机原理与控制第三章(春季)微机原理与控制微机原理与控制工学院工学院3.1指令格式指令格式l单片机要执行某种操作,用户必须按照格式编写指令,单片单片机要执行某种操作,用户必须按照格式编写指令,单片机才能识别并准确操作。指令的编码规则称为指令格式。机才能识别并准确操作。指令的编码规则称为指令格式。l3.1.1指令的格式指令的格式l1指令的一般格式指令的一般格式lMCS-51单片机指令的一般格式为:操作码单片机指令的一般格式为:操作码操作数。例如操作数。例如指令:指令:74H30H。l1)操作码操作码用来表示执行什么样的操作,例如传送、加、减用来表示执行什么样的操作,例如传送、加、减等。等。MCS
2、-51系列单片机的操作码为系列单片机的操作码为8位二进制的机器码,位二进制的机器码,在指令中为第一字节。用机器码写成的指令是机器指令,也在指令中为第一字节。用机器码写成的指令是机器指令,也称为指令代码。称为指令代码。微机原理与控制微机原理与控制工学院工学院微机原理与控制微机原理与控制工学院工学院微机原理与控制微机原理与控制工学院工学院微机原理与控制微机原理与控制工学院工学院微机原理与控制微机原理与控制工学院工学院微机原理与控制微机原理与控制工学院工学院微机原理与控制微机原理与控制工学院工学院3.1指令格式指令格式l4)位操作指令,有位操作指令,有12条。条。l位操作指令又称布尔变量操作指令,共
3、分为位传送、位位操作指令又称布尔变量操作指令,共分为位传送、位置位、位运算和位控制转移指令等四类。其中,位传送、置位、位运算和位控制转移指令等四类。其中,位传送、位置位和位运算指令的操作数不是以字节为单位进行操位置位和位运算指令的操作数不是以字节为单位进行操作的,而是以字节中某位为单位进行的;位控制转移指作的,而是以字节中某位为单位进行的;位控制转移指令不是以检测某个字节的结果为条件而转移的,而是以令不是以检测某个字节的结果为条件而转移的,而是以检测字节中的某一位的状态来转移的。检测字节中的某一位的状态来转移的。l5)控制转移指令,有控制转移指令,有22条。条。l控制转移指令分为条件转移、无条
4、件转移、调用和返回控制转移指令分为条件转移、无条件转移、调用和返回等指令。这类指令的共同特点是可以改变程序执行的流等指令。这类指令的共同特点是可以改变程序执行的流向,或者是使向,或者是使CPU转移到另一处执行,或者是继续顺序转移到另一处执行,或者是继续顺序地执行。无论是哪一类指令,执行后都会改变程序计数地执行。无论是哪一类指令,执行后都会改变程序计数器器PC中的值。中的值。微机原理与控制微机原理与控制工学院工学院3.1指令格式指令格式l3.1.3指令的存放空间指令的存放空间l指令是单片机执行某种操作的命令,用户若要单片机完成一件事情,指令是单片机执行某种操作的命令,用户若要单片机完成一件事情,
5、必须先编写指令,再转成机器码形式,从键盘等设备输入到程序存储必须先编写指令,再转成机器码形式,从键盘等设备输入到程序存储器存放。存放在程序存储器的哪个空间,用户应首先给程序计数器器存放。存放在程序存储器的哪个空间,用户应首先给程序计数器PC一个首地址,指令就从这个首地址开始存放,一个字节存放到一一个首地址,指令就从这个首地址开始存放,一个字节存放到一个单元后,程序计数器个单元后,程序计数器PC自动加自动加1,指令的下一字节存放在,指令的下一字节存放在PC当前当前值的地址单元。值的地址单元。l3.1.4指令常用的缩写符号说明指令常用的缩写符号说明l在描述在描述MCS一一51指令系统的功能时,经常
6、使用一些缩写符号,各符指令系统的功能时,经常使用一些缩写符号,各符号的含义如下:号的含义如下:l(1)A累加器累加器ACC。常用。常用ACC表示其地址,用表示其地址,用A表示其名称。表示其名称。l(2)AB累加器累加器ACC和寄存器和寄存器B组成的寄存器对。通常在乘、除法指组成的寄存器对。通常在乘、除法指令中出现。令中出现。微机原理与控制微机原理与控制工学院工学院3.1指令格式指令格式l(3)Rn(n=07),选定的当前工作寄存器,范围为,选定的当前工作寄存器,范围为R0R7。l(4)Ri(i=0或或1),工作寄存器,工作寄存器R0或或R1。l(5)间接寻址符号,简称间址符,常与间接寻址符号,
7、简称间址符,常与Ri配合用,如配合用,如Ri,表示指令对,表示指令对Ri寄存器间接寻址。寄存器间接寻址。l(6)#data8位立即数,位立即数,“#”表示后面的表示后面的data是立即数而不是立即数而不是直接地址。是直接地址。l(7)direct表示片内表示片内RAM存储单元的存储单元的8位直接地址,立即位直接地址,立即数和直接地址可用二进制码表示,后缀为数和直接地址可用二进制码表示,后缀为“B”;也可用十;也可用十六进制码表示,后缀为六进制码表示,后缀为“H”;如果是以字母开头的十六进;如果是以字母开头的十六进制数,在其前面应加一个制数,在其前面应加一个“0”。如,二进制码。如,二进制码10
8、101000B也可转成十六进制码也可转成十六进制码A8H,但必须写成,但必须写成“0A8H”。微机原理与控制微机原理与控制工学院工学院3.1指令格式指令格式l(8)DPTR:表示以:表示以DPTR为数据指针的间接寻址,用于对外部为数据指针的间接寻址,用于对外部64KRAMROM寻址。寻址。l(9)rel以补码形式表示的以补码形式表示的8位地址偏移量,范围为位地址偏移量,范围为-128+127。l(10)Bit位地址。位地址。l(11)$:当前指令的地址。:当前指令的地址。l指令中还经常使用到下列符号,含义如下:指令中还经常使用到下列符号,含义如下:l加;加;l减;减;l乘;乘;l除;除;微机原
9、理与控制微机原理与控制工学院工学院3.1指令格式指令格式l 逻辑与;逻辑与;l 逻辑或;逻辑或;l逻辑异或;逻辑异或;l大于;大于;l不等于;不等于;l取代或替换;取代或替换;l(X)表示表示X寄存器或寄存器或X地址单元中的内容;地址单元中的内容;l(X)表示以表示以X寄存器或寄存器或X地址单元中的内容为地址的存储单元中地址单元中的内容为地址的存储单元中的内容;的内容;l()将将X寄存器的内容取反;寄存器的内容取反;lrrr机器指令三位值由工作寄存器机器指令三位值由工作寄存器Rn确定,确定,R0R7对应的对应的rrr分分别为别为000111。微机原理与控制微机原理与控制工学院工学院3.1指令格
10、式指令格式l例例31已知数据存储器各单元内容如已知数据存储器各单元内容如图图31所示,说明所示,说明(50H)、(A)、()、(50H)各为多少各为多少?l解解(50H):表示地址为:表示地址为50H存储单元里的内容存储单元里的内容01110000B。l(A):表示累加器:表示累加器A中的内容,因中的内容,因A的地址为的地址为0EOH,所以,所以(A)为为00100001B。l():表示地址为:表示地址为50H存储单元里的内容取反,为存储单元里的内容取反,为10001111B。l(50H):以:以50H存储单元的内容存储单元的内容70H为地址的存储单元内的内容,为地址的存储单元内的内容,为为0
11、0111001B。微机原理与控制微机原理与控制工学院工学院图31 00100001 00111001 011100000EOH70H 50H 微机原理与控制微机原理与控制工学院工学院3.2寻址方式寻址方式l指令包含操作码和操作数,有些指令直接给出参与运算和操作的指令包含操作码和操作数,有些指令直接给出参与运算和操作的数,但更多指令只是以各种方式给出操作数所在的地址。单片机数,但更多指令只是以各种方式给出操作数所在的地址。单片机通过地址信息寻找操作数的方式,称为寻址方式。寻址方式越多,通过地址信息寻找操作数的方式,称为寻址方式。寻址方式越多,表明计算机的功能越强,灵活性越大。表明计算机的功能越强
12、,灵活性越大。l在在MCS一一51单片机中,操作数的存放范围是很宽的,可以放在片单片机中,操作数的存放范围是很宽的,可以放在片外外ROMRAM中,也可以放在片内中,也可以放在片内ROMRAM以及特殊功能寄以及特殊功能寄存器存器SFR中。为了适应这一操作数范围内的寻址,中。为了适应这一操作数范围内的寻址,MCS一一51的指的指令系统共使用了七种寻址方式,它们是立即寻址、直接寻址、寄令系统共使用了七种寻址方式,它们是立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。微机原理与控制微机原理与控制工学院工学院3.2寻址方式
13、寻址方式l3.2.1立即寻址立即寻址l指令中的操作数只是数据,而不是地址,这样的操作数指令中的操作数只是数据,而不是地址,这样的操作数就称为立即数,立即数直接参与操作,这种寻址方式称就称为立即数,立即数直接参与操作,这种寻址方式称为立即寻址。其实立即寻址并没有寻址过程。这类指令为立即寻址。其实立即寻址并没有寻址过程。这类指令的立即数大多数是一个字节的的立即数大多数是一个字节的8位二进制数。指令中,操位二进制数。指令中,操作数前有作数前有“#”符号,据此可以判定是立即寻址,并有相应符号,据此可以判定是立即寻址,并有相应的操作码。例如,指令:的操作码。例如,指令:lMOVA,#64H;A64Hl这
14、条指令的功能是把数据这条指令的功能是把数据64H(立即数立即数)送到累加器送到累加器A中,中,在在MCS一一51指令系统中有相应操作码为指令系统中有相应操作码为74H,立即寻址,立即寻址的示意如的示意如图图32所示,设程序计数器所示,设程序计数器PC=70H。微机原理与控制微机原理与控制工学院工学院图3-2 立即寻址的示意图微机原理与控制微机原理与控制工学院工学院3.2寻址方式寻址方式l3.2.2直接寻址直接寻址l指令中直接给出操作数所在地址的寻址方式称为直接寻址。指令中直接给出操作数所在地址的寻址方式称为直接寻址。l例如,指令:例如,指令:MOVA,64H;A(64H)l这条指令的功能是把内
15、部数据存储器地址为这条指令的功能是把内部数据存储器地址为64H的存储单的存储单元内容送至累加器元内容送至累加器A,这个指令的操作码为,这个指令的操作码为0E5H,直接寻,直接寻址的示意图如址的示意图如图图33所示,设程序计数器所示,设程序计数器PC=38H。由图。由图可知,地址为可知,地址为64H的存储单元内容为的存储单元内容为87H,则指令执行结,则指令执行结果是将果是将87H送到送到ACC。微机原理与控制微机原理与控制工学院工学院图3-3 直接寻址的示意图微机原理与控制微机原理与控制工学院工学院3.2寻址方式寻址方式l应注意直接寻址方式与立即寻址方式的区别:虽然两者指令的第二应注意直接寻址
16、方式与立即寻址方式的区别:虽然两者指令的第二字节相同,但在助记符指令中相差一个字节相同,但在助记符指令中相差一个“#”号,由于符号指令与机器号,由于符号指令与机器指令有一一对应的关系,故操作码不同,所以执行结果不一样,而指令有一一对应的关系,故操作码不同,所以执行结果不一样,而在操作码中含有寻址方式的信息。在操作码中含有寻址方式的信息。l3.2.3寄存器寻址寄存器寻址l由指令指出某一个寄存器的内容作为操作数,这种寻址方式称为寄由指令指出某一个寄存器的内容作为操作数,这种寻址方式称为寄存器寻址。寄存器寻址对所选的工作寄存区存器寻址。寄存器寻址对所选的工作寄存区R0R7进行操作,操作进行操作,操作
17、码字节的低码字节的低3位位000111指明了所用的寄存器。例如,指令:指明了所用的寄存器。例如,指令:lMOVA,R7;A(R7)微机原理与控制微机原理与控制工学院工学院3.2寻址方式寻址方式l这条指令的功能是把寄存器这条指令的功能是把寄存器R7的内容送人累加器的内容送人累加器A中,但中,但数据存储器的数据存储器的4个工作寄存器区都有寄存器个工作寄存器区都有寄存器R7,并都有相,并都有相应地址,怎样确定应地址,怎样确定R7的地址呢的地址呢?首先由程序状态字寄存器首先由程序状态字寄存器(PSW)中的中的D3位和位和D4位决定寄存器区,再与操作码低位决定寄存器区,再与操作码低3位位组合组合(n=7
18、,为,为111)形成地址形成地址0FH,就是工作寄存器区,就是工作寄存器区1区区中的中的R7寄存器。寄存器寻址方式执行过程如寄存器。寄存器寻址方式执行过程如图图34所示。所示。l3.2.4寄存器间接寻址寄存器间接寻址l由指令指出某一个寄存器的内容作为操作数的地址,这种由指令指出某一个寄存器的内容作为操作数的地址,这种寻址方式称为寄存器间接寻址。特别注意:寄存器的内容寻址方式称为寄存器间接寻址。特别注意:寄存器的内容不是操作数,而是操作数所在的存储器地址。例如,指令:不是操作数,而是操作数所在的存储器地址。例如,指令:lMOVA,Ril这条指令中,这条指令中,i=0指指R0;i=1,则指,则指R
19、1。微机原理与控制微机原理与控制工学院工学院图3-4 寄存器寻址方式微机原理与控制微机原理与控制工学院工学院3.2寻址方式寻址方式l指令功能是将以寄存器指令功能是将以寄存器R0或或R1内容为地址的存储单元中的数据内容为地址的存储单元中的数据送入送入A。执行这条指令首先应找到。执行这条指令首先应找到Ri地址,地址,Ri的的8位地址位地址A7A0中:中:A7A6A5=000,A2A1=00,A0由由i决定,决定,A4A3由程序状态字由程序状态字寄存器寄存器PSW中中D4D3位决定,其作用实际是选定工作寄存器区域。位决定,其作用实际是选定工作寄存器区域。寄存器间接寻址执行过程如寄存器间接寻址执行过程
20、如图图35所示,图中所示,图中i=1,将以工作寄,将以工作寄存器区存器区l的的R1内容内容64H为地址的存储单元的数据为地址的存储单元的数据51H送人送人A。l3.2.5变址寻址变址寻址l变址寻址也称基地址寄存器加变址寄存器间接寻址,它是以程序变址寻址也称基地址寄存器加变址寄存器间接寻址,它是以程序计数器计数器PC或数据指针或数据指针DPTR作为基地址寄存器,以累加器作为基地址寄存器,以累加器A作为作为变址寄存器,把两者内容相加形成操作数的地址。这种寻址方式变址寄存器,把两者内容相加形成操作数的地址。这种寻址方式用于读取程序存储器中常数表,或访问外部数据存储器。例如,用于读取程序存储器中常数表
21、,或访问外部数据存储器。例如,指令:指令:lMOVCA,A+DPTR;A(A)+(DPTR)微机原理与控制微机原理与控制工学院工学院图3-5 寄存器间接寻址方式微机原理与控制微机原理与控制工学院工学院3.2寻址方式寻址方式l这条指令的功能是把这条指令的功能是把DPTR的内容作为基地址,的内容作为基地址,DPTR是是16位寄存器,其高位寄存器,其高8位在位在DPH中,低中,低8位在位在DPL中。把累中。把累加器加器A的内容作为地址偏移量,两者相加后得到的内容作为地址偏移量,两者相加后得到16位地位地址,把该地址对应的程序存储器址,把该地址对应的程序存储器ROM单元中的内容送到单元中的内容送到A中
22、,中,A中原数据自动擦除。寻址过程示意图如中原数据自动擦除。寻址过程示意图如图图36所所示。示。l3.2.6位寻址位寻址lMCS一一51指令系统有一些指令是用于位的操作。位操作指令系统有一些指令是用于位的操作。位操作指令能对内部指令能对内部RAM中的位寻址区和某些有位地址的特殊中的位寻址区和某些有位地址的特殊功能寄存器进行位操作,也就是说可对位地址空间的每功能寄存器进行位操作,也就是说可对位地址空间的每个位进行位变量传送、状态控制、逻辑运算等操作,常个位进行位变量传送、状态控制、逻辑运算等操作,常用的位处理器是程序状态字寄存器的用的位处理器是程序状态字寄存器的CY位。例如,指令:位。例如,指令
23、:lMOVC,06H;CY(06H)微机原理与控制微机原理与控制工学院工学院图3-6 变址寻址方式微机原理与控制微机原理与控制工学院工学院3.2寻址方式寻址方式lC累加器只有一位,指令是位寻址方式,操作码是累加器只有一位,指令是位寻址方式,操作码是0A2H,06H是是位地址。指令含义是将内部位地址。指令含义是将内部RAM的的20H单元的单元的D6位的内容送入累位的内容送入累加器加器C,其指令执行过程如,其指令执行过程如图图37所示。这条指令应区别于指令所示。这条指令应区别于指令“MOVA,06H”,A是是8位累加器,意思是将位累加器,意思是将RAM中中06H单元的内单元的内容送入容送入A中,操
24、作码是中,操作码是0E5H。l3.2.7相对寻址相对寻址l相对寻址以程序计数器相对寻址以程序计数器PC的当前值作为基地址,与指令中给定的的当前值作为基地址,与指令中给定的相对偏移量相对偏移量rel相加,作为程序逻辑的转移地址。这种寻址方式用相加,作为程序逻辑的转移地址。这种寻址方式用于相对转移指令中。于相对转移指令中。微机原理与控制微机原理与控制工学院工学院图3-7 位寻址方式微机原理与控制微机原理与控制工学院工学院3.3数据传送指令数据传送指令l在在MCS一一51单片机中,数据传送是最基本和最主要操作。数据传送单片机中,数据传送是最基本和最主要操作。数据传送操作可以在片内操作可以在片内RAM
25、和和SFR内进行,也可以在累加器内进行,也可以在累加器A和片外存储和片外存储器之间进行。指令中必须指定传送数据的源地址和目的地址,以便器之间进行。指令中必须指定传送数据的源地址和目的地址,以便机器执行指令时把源地址中内容传送到目的地址中,但不改变源地机器执行指令时把源地址中内容传送到目的地址中,但不改变源地址中内容。在这类指令中,除以累加器址中内容。在这类指令中,除以累加器A为目的操作数寄存器指令为目的操作数寄存器指令会对奇偶标志位会对奇偶标志位P有影响外,其余指令执行时均不会影响任何标志有影响外,其余指令执行时均不会影响任何标志位。位。lMCS一一51单片机的数据传送指令共有单片机的数据传送
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 微机 原理 控制 第三 春季 PPT 课件
限制150内