
第五次课(共2学时)一、授课题目:单片机的寻址方式二、教学目标和任务:1.掌握指令、指令系统的定义。2.了解指令系统的分类、指令的格式、指令中的常用符号。3.掌握立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址加变址间接寻址。4.掌握不同寻址方式对应的存储空间,掌握不同存储空间可用的寻址方式。三、教学重难点:重点:不同寻址方式对应的存储空间、不同存储空间可用的寻址方式。难点:不同寻址方式对应的存储空间、不同存储空间可用的寻址方式。四、授课过程:回顾:简要的回顾上一节课的主要知识点,STC15F2K60S2单片机的并行I/0口的工作方式及其设置方法、不同工作方式下的带负载能力、典型发光二极管驱动电路、外部晶振时钟电路和复位电路。0.引入指令指的是CPU按照人的意图来完成某种操作的命令,由于单片机只能识别机器语言,指令通常是用机器语言来描述的。1
1 第五次课(共 2 学时) 一、授课题目: 单片机的寻址方式 二、教学目标和任务: 1. 掌握指令、指令系统的定义。 2. 了解指令系统的分类、指令的格式、指令中的常用符 号。 3. 掌握立即寻址、直接寻址、寄存器寻址、寄存器间接 寻址、基址加变址间接寻址。 4. 掌握不同寻址方式对应的存储空间,掌握不同存储空 间可用的寻址方式。 三、教学重难点: 重点:不同寻址方式对应的存储空间、不同存储空间可用 的寻址方式。 难点:不同寻址方式对应的存储空间、不同存储空间可用 的寻址方式。 四、授课过程: 回顾:简要的回顾上一节课的主要知识点,STC15F2K60S2 单片机的并行 I/O 口的工作方式及其设置方法、不同工作方式 下的带负载能力、典型发光二极管驱动电路、外部晶振时钟电 路和复位电路。 0.引入 指令指的是 CPU 按照人的意图来完成某种操作的命令,由 于单片机只能识别机器语言,指令通常是用机器语言来描述的

指令系统指的是单片机所能识别的所有机器语言指令的集合,一方面指令系统是根据硬件进行设计的,另一方面指令系统也反映了硬件的功能。由于机器语言难以被人识别,因此编程中往往使用汇编语言和高级语言。汇编语言和机器语言一一对应,是机器语言简单翻译而来的,而高级语言则更接近与人的描述。第四章指令系统中我们将学习的是汇编语言。1.指令的分类、格式单片机共有111条指令,按照字节数可分为:49条单字节指令、45条双字节指令和17条三字节指令。按照指令周期可以分为:16个指令周期指令。指令的字节数和指令周期的长短之间没有关系。指令也可以按照功能分为:数据传送指令、算数运算指令、逻辑运算指令、跳转指令、位操作指令等。指令的格式如下:【标号】:操作码【第一操作数】,【第二操作数】【;注释】标号:标志着该条指令的入口地址,可选项操作码:必须有,标志该指令的操作操作数:可以是0~3个,逗号隔开,表示操作数或者操作数的地址注释:用分号和前面隔开,可选项该部分给学生强调一条指令必须有操作码。2.指令中的符号该部分了解即可。2
2 指令系统指的是单片机所能识别的所有机器语言指令的 集合,一方面指令系统是根据硬件进行设计的,另一方面指令 系统也反映了硬件的功能。 由于机器语言难以被人识别,因此编程中往往使用汇编语 言和高级语言。汇编语言和机器语言一一对应,是机器语言简 单翻译而来的,而高级语言则更接近与人的描述。第四章指令 系统中我们将学习的是汇编语言。 1. 指令的分类、格式 单片机共有 111 条指令,按照字节数可分为:49 条单字 节指令、45 条双字节指令和 17 条三字节指令。按照指令周期 可以分为:1~6 个指令周期指令。指令的字节数和指令周期的 长短之间没有关系。指令也可以按照功能分为:数据传送指令、 算数运算指令、逻辑运算指令、跳转指令、位操作指令等。 指令的格式如下: 【标号】: 操作码 【第一操作数】,【第二操作数】 【; 注释】 标号:标志着该条指令的入口地址,可选项 操作码:必须有,标志该指令的操作 操作数:可以是 0~3 个,逗号隔开,表示操作数或者操作 数的地址 注释:用分号和前面隔开,可选项 该部分给学生强调一条指令必须有操作码。 2. 指令中的符号 该部分了解即可

Rn:n=(0~7),表示当前工作寄存器中的一个Ri:i=(0、1),间接寻址寄存器dir:8位直接地址,当十六进制直接地址以字母开头时,前面要加0#data:8位立即数#data16:16位立即数DPTR:16位数据指针*rel:相对偏移量(为一字节补码)用于相对转移指令中*addr16:16位地址*addr11:11位地址*bit:位地址3.寻址方式寻址:在单片机的存储空间中寻找指令规定的操作数据的地址,并将操作数取出来。操作数分为两类:源操作数和目的操作数,紧跟操作码的为目的操作数,远离操作码的为源操作数。如果只说寻址方式,指的是源操作数的寻址方式。3.1立即寻址操作数以立即数的形式给出,操作数前面加,字母开头的操作数前要加0。操作数位于程序F1ash区域3.2直接寻址指令中给出的是操作数的地址,对应的寻址空间为内部基本RAM的低128字节和特殊功能寄存器区。字母开头前要加3
3 Rn: n=(0~7),表示当前工作寄存器中的一个 Ri: i=(0、1),间接寻址寄存器 dir : 8 位直接地址,当十六进制直接地址以字母开头时, 前面要加 0 #data: 8 位立即数 #data16: 16 位立即数 DPTR:16 位数据指针 *rel : 相对偏移量(为一字节补码)用于相对转移指令 中 *addr16:16 位地址 *addr11: 11 位地址 *bit:位地址 3. 寻址方式 寻址:在单片机的存储空间中寻找指令规定的操作数据的 地址,并将操作数取出来。 操作数分为两类:源操作数和目的操作数,紧跟操作码的 为目的操作数,远离操作码的为源操作数。如果只说寻址方式, 指的是源操作数的寻址方式。 3.1 立即寻址 操作数以立即数的形式给出,操作数前面加#,字母开头 的操作数前要加 0。操作数位于程序 Flash 区域 3.2 直接寻址 指令中给出的是操作数的地址,对应的寻址空间为内部基 本 RAM 的低 128 字节和特殊功能寄存器区。字母开头前要加

0.3.3寄存器寻址操作数存放在寄存器中。寻址对象:A,B,DPTR,RO~R7(32B的工作寄存器组区,通过PSW中的RS1和RSO选择用的哪一组)注意事项:1.A、B即可用于寄存器寻址,也可用于直接寻址A:用作直接地址时写作ACCB:仅在乘除指令中为寄存器寻址,其余均为直接寻址。2.SFR中仅A、B、DPTR为寄存器寻址,其余均为直接寻址3.4寄存器间接寻址寄存器中存放的是操作数地址。和寄存器寻址用放在寄存器前面和寄存器寻址分开。能够进行寄存器间接寻址的有:RO、R1、DPTR。寄存器间接寻址方式的寻址范围:(1)基本RAM,RO或RI为间接寻址寄存器,它可寻址内部地址RAM的256单元内容。(2)扩展RAM64KB,采用DPTR、RO、R1作为间接寻址寄存器,寻址外部数据存储器的64KB空间。(3)采用Ri间接寻址可以寻址片外256B字节的地址但是一般并不采用,因为Ri中存放的是低8位地址,还需要配合P2中的高八位地址形成16位地址。(4)@Ri可以寻址内部RAM和外部RAM,用MOV和MOVX4
4 0。 3.3 寄存器寻址 操作数存放在寄存器中。寻址对象:A,B,DPTR, R0~R7(32B 的工作寄存器组区,通过 PSW 中的 RS1 和 RS0 选 择用的哪一组) 注意事项: 1. A、B 即可用于寄存器寻址,也可用于直接寻址 A:用作直接地址时写作 ACC B:仅在乘除指令中为寄存器寻址,其余均为直接寻址。 2. SFR 中仅 A、B、DPTR 为寄存器寻址,其余均为直接寻 址 3.4 寄存器间接寻址 寄存器中存放的是操作数地址。和寄存器寻址用@放在寄 存器前面和寄存器寻址分开。能够进行寄存器间接寻址的有: R0、R1、DPTR。 寄存器间接寻址方式的寻址范围: (1)基本 RAM,R0 或 R1 为间接寻址寄存器,它可寻址内 部地址 RAM 的 256 单元内容。 (2)扩展 RAM 64KB,采用 DPTR、R0、R1 作为间接寻址 寄存器,寻址外部数据存储器的 64KB 空间。 (3)采用 Ri 间接寻址可以寻址片外 256B 字节的地址但 是一般并不采用,因为 Ri 中存放的是低 8 位地址,还需要配 合 P2 中的高八位地址形成 16 位地址。 (4)@Ri 可以寻址内部 RAM 和外部 RAM,用 MOV 和 MOVX

区分片内和片外。3.5基址加变址寻址以DPTR或PC寄存器内容加上A累加器内容之和形成操作数的地址。仅有三条:MOVCA,@A+DPTR、MOVCA,@A+PC、JMP@A+PC该部分内容是指令系统的基础,需要熟练掌握寻址方式的判断才能理解之后所学的指令。需要通过例题使同学们充分掌握。例题:判断如下指令中源操作数和目的操作数的寻址方式1、MOVA,40H2、MOVRO,A3、MOVP1,#80H4、MOV@R0,20H5、MOVDPTR,#2000H6、MOV40H,30H7、MOVX @DPTR,A8、MOVDOH,RO9、MOV10H,#10H10、MOV A,@RO11、MOVP2,P112、POP ACC13、MOVA,B14、MUL AB15、MOVR0,30H5
5 区分片内和片外。 3.5 基址加变址寻址 以 DPTR 或 PC 寄存器内容加上 A 累加器内容之和形成操 作数的地址。仅有三条: MOVC A, @A+DPTR、MOVC A,@A+PC、JMP @A+PC 该部分内容是指令系统的基础,需要熟练掌握寻址方式的 判断才能理解之后所学的指令。需要通过例题使同学们充分掌 握。 例题:判断如下指令中源操作数和目的操作数的寻址方式 1、MOV A,40H 2、MOV R0,A 3、MOV P1,#80H 4、MOV @R0,20H 5、MOV DPTR,#2000H 6、MOV 40H,30H 7、MOVX @DPTR,A 8、MOV D0H,R0 9、MOV 10H,#10H 10、MOV A,@R0 11、MOV P2,P1 12、POP ACC 13、MOV A,B 14、MUL AB 15、MOV R0,30H

4.各存储空间所对应寻址方式总结程序F1ash:立即寻址、基址加变址寻址内部RAM低128字节:直接寻址、寄存器间接寻址内部RAM高128字节:寄存器间接寻址SFR:直接寻址扩展RAM:寄存器间接寻址五、作业1、指令和指令系统的定义2、指令由哪两部分组成?3、51单片机寻址方式有哪种?4、每种寻址方式对应于哪些存储空间?5、每个寻址空间可用的寻址方式为?六、参考文献1.丁向荣编,单片机微机原理与接口技术(第2版),北京:电子工业出版社,20182.张毅刚编,单片机原理及应用:C51编程+Proteus仿真(第2版),北京:高等教育出版社,20163.丁元杰编,单片微机原理及应用(第三版),北京:机械工业出版社,2011.4.郭文川编,MCS-51单片机原理接口及应用,北京:电子工业出版社,20135.周航慈编,单片机应用程序设计技术(修订版),北京:北京航天航空大学出版社,20026.严洁编,单片机原理及其接口技术,北京,机械工业出版社,6
6 4. 各存储空间所对应寻址方式总结 程序 Flash:立即寻址、基址加变址寻址 内部 RAM 低 128 字节:直接寻址、寄存器间接寻址 内部 RAM 高 128 字节:寄存器间接寻址 SFR:直接寻址 扩展 RAM:寄存器间接寻址 五、作业 1、指令和指令系统的定义 2、指令由哪两部分组成? 3、51 单片机寻址方式有哪几种? 4、每种寻址方式对应于哪些存储空间? 5、每个寻址空间可用的寻址方式为? 六、参考文献 1. 丁向荣编,单片机微机原理与接口技术(第 2 版),北京:电子 工业出版社,2018. 2. 张毅刚编, 单片机原理及应用:C51编程+Proteus仿真(第2版), 北京:高等教育出版社,2016. 3. 丁元杰编,单片微机原理及应用(第三版),北京:机械工业出 版社,2011. 4. 郭文川编,MCS-51 单片机原理接口及应用,北京:电子工业出 版社,2013. 5. 周航慈编, 单片机应用程序设计技术(修订版),北京:北京航 天航空大学出版社,2002. 6. 严洁编, 单片机原理及其接口技术,北京,机械工业出版社

2010.七、课后记寻址方式对理解单片机内部工作非常重要,本节课需要充分穿插例题,让学生们充分掌握寻址方式和存储空间的对应关系。7
7 2010. 七、课后记 寻址方式对理解单片机内部工作非常重要,本节课需要充 分穿插例题,让学生们充分掌握寻址方式和存储空间的对应关 系