最新单片机原理与应用第二章幻灯片.ppt





《最新单片机原理与应用第二章幻灯片.ppt》由会员分享,可在线阅读,更多相关《最新单片机原理与应用第二章幻灯片.ppt(145页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机原理与应用第二章单片机原理与应用第二章第第2章章 MCS-51单片机指令系统与汇编语单片机指令系统与汇编语言程序设计言程序设计主要内容:主要内容: MCS-51单片机的寻址方式、指令系统、基本程序结构及汇编语言的开发和调试。重点在于寻址方式、各种指令的应用、程序设计的规范、程序设计的思想及典型程序的理解和掌握。难点在于控制转移、位操作指令的理解及各种指令的灵活应用,以及程序设计的基本方法和针对具体的硬件设计出最合理的软件。(3 3)赋值伪指令)赋值伪指令EQUEQU 格式:字符名称格式:字符名称x EQU x EQU 赋值项赋值项n n 功能:将赋值项功能:将赋值项n n的值赋予字符名称
2、的值赋予字符名称x x。程序中凡出现。程序中凡出现该字符名称该字符名称x x就等同于该赋值项就等同于该赋值项n n,其值在整个程序中有,其值在整个程序中有效。赋值项效。赋值项n n可以是常数、地址、标号或表达式。在使可以是常数、地址、标号或表达式。在使用时,必须先赋值后使用。用时,必须先赋值后使用。 “ “字符名称字符名称”与与“标号标号”的区别是的区别是“字符名称字符名称”后无后无冒号,而冒号,而“标号标号”后面有冒号。后面有冒号。3伪指令 (4)定义字节伪指令 DBDB 格式格式:标号: DB x1, x2, xn 功能功能:将8位数据(或8位数据组)x1, x2, xn顺序存放在从当前程
3、序存储器地址开始的存储单元中。xi可以是8位数据、ASCII码、表达式,也可以是括在单引号内的字符串。两个数据之间用逗号“,”分隔。 xi为数值常数时,取值范围为00HFFH。xi为ASCII码时,要使用单引号,以示区别。xi为字符串常数时,其长度不应超过80个字符。 3伪指令 (5 5)定义双字节伪指令)定义双字节伪指令 DWDW 格式:格式: 标号标号: DW x: DW x1 1, x, x2 2, x, xn n 功能:将双字节数据功能:将双字节数据 或双字节数据组或双字节数据组 顺序存放在从标顺序存放在从标号指定地址单元开始的存储单元中。其中,号指定地址单元开始的存储单元中。其中,x
4、 xi i为为1616位数位数值常数,占两个存储单元,先存高值常数,占两个存储单元,先存高8 8位(存入低位地址单位(存入低位地址单元中),后存低元中),后存低8 8位(存入高位地址单元中)。位(存入高位地址单元中)。3伪指令 (6 6)预留存储空间伪指令)预留存储空间伪指令DSDS 格式:格式: 标号标号: DS n: DS n 功能:从标号指定地址单元开始,预留功能:从标号指定地址单元开始,预留n n个存储单元,个存储单元,汇编时不对这些存储单元赋值。汇编时不对这些存储单元赋值。n n可以是数据,也可可以是数据,也可以是表达式。以是表达式。3伪指令 (7 7)定义位地址符号伪指令)定义位地
5、址符号伪指令BITBIT 格式:字符名称格式:字符名称x BIT x BIT 位地址位地址n n 功能:将位地址功能:将位地址n n的值赋予字符名称的值赋予字符名称x x。程序中凡出现。程序中凡出现该字符名称该字符名称x x就代表该位地址。位地址就代表该位地址。位地址n n可以是绝对地可以是绝对地址,也可以是符号地址。址,也可以是符号地址。 3伪指令 (8 8)数据地址赋值伪指令)数据地址赋值伪指令DATADATA 格式:字符名称格式:字符名称x DATA x DATA 表达式表达式n n 功能:把表达式功能:把表达式n n的值赋值给左边的字符名称的值赋值给左边的字符名称x x。n n可可以是
6、数据或地址,也可以是包含所定义的以是数据或地址,也可以是包含所定义的“字符名称字符名称x”x”在内的表达式,但不能是汇编符号。在内的表达式,但不能是汇编符号。 DATADATA与与EQUEQU的主要区别是:的主要区别是:EQUEQU定义的定义的“字符名称字符名称”必须先定义后使用,而必须先定义后使用,而DATADATA定义的定义的“字符名称字符名称”没没有这种限制。所以,有这种限制。所以,DATADATA伪指令通常用在源程序的伪指令通常用在源程序的开头或末尾。开头或末尾。 3伪指令 2.1.2 指令的分类指令的分类 MCS-51 MCS-51指令系统有指令系统有111111条指令,可按下列几种
7、方式分条指令,可按下列几种方式分类:类:按指令字节数分类按指令字节数分类 单字节指令(单字节指令(4949条)、双字节指令(条)、双字节指令(4646条)和三字条)和三字节指令(节指令(1616条)。条)。2. 2. 按指令执行时间分类按指令执行时间分类 单机器周期指令(单机器周期指令(6565条)、双机器周期指令(条)、双机器周期指令(4444条)条)和四机器周期指令(和四机器周期指令(2 2条)。条)。3. 3. 按功能分类按功能分类 数据传送指令(数据传送指令(2929条)、算术操作指令(条)、算术操作指令(2424条)、条)、逻辑操作指令(逻辑操作指令(2424条)、控制转移指令(条)
8、、控制转移指令(1717条)和条)和位操作指令(位操作指令(1717条)。条)。 2.1.3 指令中的常用符号指令中的常用符号 RnRn(n=0n=07 7):表示当前工作寄存器:表示当前工作寄存器R0R0R7R7中的任一个寄存器。中的任一个寄存器。 R Ri i(i=0i=0或或1 1):表示通用寄存器组中用于间接寻址的两个寄存器:表示通用寄存器组中用于间接寻址的两个寄存器R0, R1R0, R1。 #data#data:表示:表示8 8位直接参与操作的立即数。位直接参与操作的立即数。 #data16#data16:表示:表示1616位直接参与操作的立即数。位直接参与操作的立即数。 dire
9、ctdirect:表示片内:表示片内RAMRAM的的8 8位单元地址。位单元地址。 addr11addr11:表示:表示1111位目的地址,主要用于位目的地址,主要用于ACALLACALL和和AJMPAJMP指令中。指令中。 addr16addr16:表示:表示1616位目的地址,主要用于位目的地址,主要用于LCALLLCALL和和LJMPLJMP指令中。指令中。 relrel:用补码形式表示的:用补码形式表示的8 8位二进制地址偏移量,取值范围为位二进制地址偏移量,取值范围为 128128+127+127,主要用于相对转移指令,以形成转移的目的地址。,主要用于相对转移指令,以形成转移的目的地
10、址。 DPTRDPTR:数据指针,用于寄存器间接寻址方式和变址寻址方式。:数据指针,用于寄存器间接寻址方式和变址寻址方式。2.1.3 指令中的常用符号 bitbit:表示片内:表示片内RAMRAM的位寻址区,或者是可以位寻址的的位寻址区,或者是可以位寻址的SFRSFR的位地址。的位地址。 A A(或(或ACCACC)、)、 B B :表示累加器、:表示累加器、 B B寄存器。寄存器。 C C:表示:表示PSWPSW中的进位标志位中的进位标志位C Cy y。 :在间接寻址方式中,表示间接寻址寄存器指针的前缀标志。:在间接寻址方式中,表示间接寻址寄存器指针的前缀标志。 $ $:表示当前的指令地址。
11、:表示当前的指令地址。 / /:在位操作指令中,表示对该位先求反后再参与操作。:在位操作指令中,表示对该位先求反后再参与操作。 (X X):表示由:表示由X X所指定的某寄存器或某单元中的内容。所指定的某寄存器或某单元中的内容。 (X)(X):表示由:表示由X X间接寻址单元中的内容。间接寻址单元中的内容。 :表示指令的操作结果是将箭头右边的内容传送到左边。:表示指令的操作结果是将箭头右边的内容传送到左边。 :表示指令的操作结果是将箭头左边的内容传送到右边。:表示指令的操作结果是将箭头左边的内容传送到右边。 、 、 :表示逻辑或、与、异:表示逻辑或、与、异或。或。 寻址方式寻址方式:在计算机中
12、,说明操作数所在地址的方在计算机中,说明操作数所在地址的方法称为指令的寻址方式。法称为指令的寻址方式。 计算机执行程序实际上是在不断寻找操作数并进行计算机执行程序实际上是在不断寻找操作数并进行操作的过程。操作的过程。 每种计算机在设计时已决定了它具有哪些寻址方式,每种计算机在设计时已决定了它具有哪些寻址方式,寻址方式越多,计算机的灵活性越强,指令系统也就寻址方式越多,计算机的灵活性越强,指令系统也就越复杂。越复杂。 MCS-51MCS-51单片机的指令系统提供了单片机的指令系统提供了7 7种寻址方式,分种寻址方式,分别为立即寻址、直接寻址、寄存器寻址、寄存器间接别为立即寻址、直接寻址、寄存器寻
13、址、寄存器间接寻址、变址寻址、相对寻址和位寻址。一条指令可能寻址、变址寻址、相对寻址和位寻址。一条指令可能含多种寻址方式。含多种寻址方式。2.2 MCS-512.2 MCS-51单片机的寻址方式单片机的寻址方式 2.2.1 立即寻址立即寻址 定义:将立即参与操作的数据直接写在指令中,这种将立即参与操作的数据直接写在指令中,这种寻址方式称为立即寻址。寻址方式称为立即寻址。 特点:指令中直接含有所需的操作数。该操作数可以指令中直接含有所需的操作数。该操作数可以是是8 8位的,也可以是位的,也可以是1616位的,常常处在指令的第二字位的,常常处在指令的第二字节和第三字节的位置上。立即数通常使用节和第
14、三字节的位置上。立即数通常使用#data#data或或#data16#data16表示,在立即数前面加表示,在立即数前面加“#”#”标志,用以和直标志,用以和直接寻址中的直接地址(接寻址中的直接地址(direcdirec或或bitbit)相区别。)相区别。 2.2 MCS-512.2 MCS-51单片机的寻址方式单片机的寻址方式 2.2.2 直接寻址 定义:将操作数的地址直接存放在指令中,这种寻址定义:将操作数的地址直接存放在指令中,这种寻址方式称为直接寻址。方式称为直接寻址。特点:指令中含有操作数的地址。该地址指出了参与特点:指令中含有操作数的地址。该地址指出了参与操作的数据所在的字节单元地
15、址或位地址。计算机执操作的数据所在的字节单元地址或位地址。计算机执行它们时便可根据直接地址找到所需要的操作数。行它们时便可根据直接地址找到所需要的操作数。寻址范围:寻址范围:ROMROM、片内、片内RAMRAM区、区、SFRSFR和位地址空间。和位地址空间。 2.2 MCS-512.2 MCS-51单片机的寻址方式单片机的寻址方式 2.2.3 寄存器寻址寄存器寻址定义:操作数存放在定义:操作数存放在MCS-51MCS-51内部的某个工作寄存器内部的某个工作寄存器RnRn(R0R0R7R7)或部分专用寄存器中,这种寻址方式称为寄存器寻址。)或部分专用寄存器中,这种寻址方式称为寄存器寻址。特点:由
16、指令指出某一个寄存器的内容作为操作数。存放操特点:由指令指出某一个寄存器的内容作为操作数。存放操作数的寄存器在指令代码中不占据单独的一个字节,而是嵌作数的寄存器在指令代码中不占据单独的一个字节,而是嵌入(隐含)到操作码字节中。入(隐含)到操作码字节中。寻址范围:四组通用寄存器寻址范围:四组通用寄存器RnRn(R0R0R7R7)、部分专用寄存器)、部分专用寄存器( A, B, DPTR, Cy A, B, DPTR, Cy )。)。2.2 MCS-512.2 MCS-51单片机的寻址方式单片机的寻址方式 2.2.4 寄存器间接寻址寄存器间接寻址定义:指令给出的寄存器中存放的是操作数据的单元地址。
17、定义:指令给出的寄存器中存放的是操作数据的单元地址。这种寻址方式称为寄存器间接寻址,简称为寄存器间址。这种寻址方式称为寄存器间接寻址,简称为寄存器间址。特点:指令给出的寄存器中存放的是操作数地址。寄存器间特点:指令给出的寄存器中存放的是操作数地址。寄存器间接寻址是一种二次寻找操作数地址的寻址方式,寄存器前边接寻址是一种二次寻找操作数地址的寻址方式,寄存器前边必须加前缀符号必须加前缀符号“ ”。不能用于寻址特殊功能寄存器。不能用于寻址特殊功能寄存器SFRSFR。 寻址范围:内部寻址范围:内部RAMRAM低低128B128B(只能使用(只能使用R0R0或或R1R1作间址寄作间址寄存器)、外部存器)
18、、外部RAMRAM(只能使用(只能使用DPTRDPTR作间址寄存器)。对于外作间址寄存器)。对于外部低部低256256单元单元RAMRAM的访问,除可以使用的访问,除可以使用DPTRDPTR外,还可以使用外,还可以使用R0R0或或R1R1作间址寄存器。作间址寄存器。2.2 MCS-512.2 MCS-51单片机的寻址方式单片机的寻址方式 2.2.5 变址寻址变址寻址 定义定义:操作数存放在变址寄存器(累加器操作数存放在变址寄存器(累加器A)和基址寄存器)和基址寄存器(DPTR或或PC)相加形成的)相加形成的16位地址单元中。这种寻址方式称位地址单元中。这种寻址方式称为基址加变址寄存器间接寻址,
19、简称为变址为基址加变址寄存器间接寻址,简称为变址寻址。寻址。 特点特点:指令操作码中隐含作为基址寄存器用的:指令操作码中隐含作为基址寄存器用的DPTRDPTR(或(或PC PC )和)和作为变址用的累加器作为变址用的累加器A A。在执行变址寻址指令时,。在执行变址寻址指令时,MCS-51MCS-51单片机单片机先把基地址(先把基地址( DPTRDPTR或或PC PC 的内容)和地址偏移量(的内容)和地址偏移量(A A的内容)相的内容)相加,以形成操作数地址,再由操作数地址找到操作数,并完成加,以形成操作数地址,再由操作数地址找到操作数,并完成相应的操作。变址寻址方式是单字节指令。相应的操作。变
20、址寻址方式是单字节指令。2.2 MCS-512.2 MCS-51单片机的寻址方式单片机的寻址方式 寻址范围寻址范围:只能对程序存储器只能对程序存储器ROM进行寻址,主要进行寻址,主要用于查表性质的访问。用于查表性质的访问。 注意注意:累加器累加器A中存放的操作数地址相对基地址的偏中存放的操作数地址相对基地址的偏移量的范围为移量的范围为00HFFH(无符号数)。(无符号数)。MCS-51单单片机共有以下三条变址寻址指令:片机共有以下三条变址寻址指令: MOVC A, A+PC ;(A)(A)+(PC)+1 MOVC A, A+DPTR ;(A)(A)+(DPTR) JMP A+DPTR ;(PC
21、)(A)+(DPTR) 2.2 MCS-512.2 MCS-51单片机的寻址方式单片机的寻址方式 2.2.6 相对寻址相对寻址定义定义:将程序计数器:将程序计数器PCPC的当前值(取出本条指令后的的当前值(取出本条指令后的PCPC值)与指值)与指令第二个字节给出的偏移量(令第二个字节给出的偏移量(relrel)相加,形成新的转移目标地址。)相加,形成新的转移目标地址。称为相对寻址方式。称为相对寻址方式。特点特点:相对寻址方式是为实现程序的相对转移而设计的,为相对:相对寻址方式是为实现程序的相对转移而设计的,为相对转移指令所使用,其指令码中含有相对地址偏移量,能生成浮动转移指令所使用,其指令码中
22、含有相对地址偏移量,能生成浮动代码。代码。如:如: SJMP rel ; ; (PCPC)(PCPC) + 2 + rel+ 2 + rel相对转移指令的目的地址指令地址指令字节数偏移量相对转移指令的目的地址指令地址指令字节数偏移量寻址范围寻址范围:只能对程序存储器:只能对程序存储器ROMROM进行寻址。相对地址偏移量进行寻址。相对地址偏移量(relrel)是一个带符号的)是一个带符号的8 8位二进制补码,其取值范围为位二进制补码,其取值范围为 128128127127(以(以PCPC为中间的为中间的256256个字节范围)。个字节范围)。 2.2 MCS-512.2 MCS-51单片机的寻址
23、方式单片机的寻址方式 2.2.7 位寻址位寻址定义定义:指令中给出的操作数是一个可单独寻址的位地址,:指令中给出的操作数是一个可单独寻址的位地址,这种寻址方式称为位寻址方式。这种寻址方式称为位寻址方式。特点特点:位寻址是直接寻址方式的一种,其特点是对:位寻址是直接寻址方式的一种,其特点是对8 8位位二进制数中的某一位的地址进行操作。二进制数中的某一位的地址进行操作。寻址范围寻址范围:片内:片内RAMRAM低低128B128B中位寻址区、部分中位寻址区、部分SFRSFR(其中(其中有有8383位可以位寻址)。位可以位寻址)。可位寻址的位地址的表示形式如下:可位寻址的位地址的表示形式如下:(1 1
24、)直接使用位地址形式。如:)直接使用位地址形式。如: MOV 00H, C ;MOV 00H, C ;(00H00H)(C Cy y) 其中:其中:00H00H是片内是片内RAMRAM中中20H20H地址单元的第地址单元的第0 0位。位。2.2 MCS-512.2 MCS-51单片机的寻址方式单片机的寻址方式 (2 2)字节地址加位序号的形式。如:)字节地址加位序号的形式。如: MOV 20H.0, C ; ; (20H.020H.0)(C Cy y) 其中:其中:20H.020H.0是片内是片内RAMRAM中中20H20H地址单元的第地址单元的第0 0位。位。(3 3)位的符号地址(位名称)
25、的形式。对于部分特殊)位的符号地址(位名称)的形式。对于部分特殊功能寄存器,其各位均有一个特定的名字,所以可以用功能寄存器,其各位均有一个特定的名字,所以可以用它们的位名称来访问该位。如:它们的位名称来访问该位。如: ANL C, P ; ; (C C) (C C)(P P) 其中:其中:P P是是PSWPSW的第的第0 0位,位,C C是是PSWPSW的第的第7 7位。位。 (4 4)字节符号地址(字节名称)加位序号的形式。对)字节符号地址(字节名称)加位序号的形式。对于部分特殊功能寄存器(如状态标志寄存器于部分特殊功能寄存器(如状态标志寄存器PSWPSW),还),还可以用其字节名称加位序号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 单片机 原理 应用 第二 幻灯片

限制150内