三、单片机的指令系统

上传人:aa****6 文档编号:57166002 上传时间:2018-10-19 格式:PPT 页数:175 大小:2.15MB
返回 下载 相关 举报
三、单片机的指令系统_第1页
第1页 / 共175页
三、单片机的指令系统_第2页
第2页 / 共175页
三、单片机的指令系统_第3页
第3页 / 共175页
三、单片机的指令系统_第4页
第4页 / 共175页
三、单片机的指令系统_第5页
第5页 / 共175页
点击查看更多>>
资源描述

《三、单片机的指令系统》由会员分享,可在线阅读,更多相关《三、单片机的指令系统(175页珍藏版)》请在金锄头文库上搜索。

1、第三章 单片机的指令系统与汇编语言的程序设计,主要内容 讲解:MCS-51单片机的寻址方式、指令系统、基本程序结构及汇编语言的开发和调试。 重点:在于寻址方式、各种指令的应用、程序设计的规范、程序设计的思想及典型程序的理解和掌握。 难点:在于控制转移、位操作指令的理解及各种指令的灵活应用,以及程序设计的基本方法和针对具体的硬件设计出最合理的软件。,1 MCS-51单片机指令系统简介,1.1 MCS-51单片机指令系统概述,1.2 MCS-51单片机寻址方式,2 MCS-51单片机指令系统,2.1 数据传送类指令,2.2 算术运算类指令,2.3 逻辑运算类指令,单片机的指令系统部分,2.4 控制

2、转移类指令,1.3 MCS-51单片机指令格式,2.5 位操作类指令,2.6 指令系统单元练习题,3 汇编语言简介,3.1 汇编语言格式,3.2 汇编伪指令,4 汇编语言程序设计,5.1 指令助记符注释,4.2 简单和分支程序设计,4.3 循环和查表程序设计,单片机的指令系统部分-目录,4.4 子程序和运算程序设计,5 附录,4.1 汇编语言程序设计方法,一、概述,1、常用单位:(1)位(bit) 计算机所能表示的最小的、最基本的数据单 位,位通常是指一个二进制位。 位(2)字节(byte) 8位二进制10110111字节(3)字(word) 16位二进制码例: 1001 0011 1010

3、0110(4)字长 指计算机一次处理二进制数码位的多少例:51型单片机一次能处理8位二进制数8位字长8位机,2. 程序设计:就是编制计算机的程序,即应用计算机所能识别的、接受的语言把要解决的问题的步骤有序地描述出来。程序设计语言的种类: (1)机器语言:机器语言是用二进制代码表示的计算机惟一能识别和执行的最原始的程序设计语言。 (2)汇编语言:利用指令助记符来描述的程序设计语言。(3)高级语言:高级语言接近于人的自然语言,指令系统:一台计算机所能识别、执行的指令的集合就是它的指令系统。,单片机一般是空机,未含任何系统软件。因此在第一次使用前,必须对其进行编程,机器语言,汇编语言,高级语言,MO

4、V A,#06HADD A,#05H,74 06 24 05,Main ( ) unsigned char a;a=6; A+=5; ,3.按指令的功能分类:(1) 数据传送类指令(29条)(2) 算术运算类指令(24条)(3) 逻辑运算类指令(24条)(4) 控制转移类指令(17条) (5) 位操作类指令(17条),说明:51单片机的指令系统的讲述通常都以功能作为分类的标准,这样便于学习和理解,注意:即使按照功能划分,划分的范围也不是绝对的!,该条指令所在的地址称为符号地址,指示指令的操作功能,参数运算的数据,增加程序的可读性,4. 汇编语言指令格式【标号:】操作码 【操作数】,【操作数】【

5、;注释】,二、 MCS-51单片机寻址方式,寻址方式:就是如何找到存放操作数的地址,把操作数提取出来的方法。MCS51指令的系统的指令数的寻址方式主要有七种:立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、基寄存器加变址寄存器间接寻址、相对寻址、位寻址。,1. 立即寻址,立即寻址是将操作数直接存放在指令中,作为指令的一部分存放在代码段里。立即寻址中的数,称为立即数。,例如指令:MOV A,#30H 74H 30H,注:存储单元的地址与立即数在书写方面的区别,2. 直接寻址,直接寻址是将操作数的地址直接存放在指令中,访问数据存储区。,例如指令:MOV A,30H E5H 30H,写出执行下列操作

6、后,A累加器中的内容。 MOV A,#56H MOV 30H,#24H MOV A,30H A= -,注:可用:访问存储器低128单元;访问存储器高128单元特殊功能寄存器区;不可用:访问数据缓冲区高128单元。,观看DS1.ASM,练习:MOV R0, #25HMOV R1, #76HMOV A, R1MOV A, R0A = -,3. 寄存器寻址,寄存器寻址是指操作数存放在寄存器中。,例如指令:MOV A,R0,观看DS1.ASM,4. 寄存器间接寻址,寄存器间址是指操作数存放在以寄存器内容为地址的单元中。,例如指令:MOV A,R0,练习:MOV A, #68HMOV R0, #68HM

7、OV 68H, #23HMOV A, R0 A=-,注: 寄存器间接访问方式 可用于: 内存储器低128单元内存储器缓冲区高128单元 不可用于:内存储器高128单元特殊功能寄存器区,观看DS1.ASM,5. 变址寻址,变址寻址是指操作数存放在变址寄存器和基址寄存器的内容相加形成的数为地址的单元中。其中累加器A作变址寄存器、程序计数器PC或寄存器DPTR作基址寄存器。,例如指令:MOVC A, A+DPTR MOVC A, A+PC,注:访问程序存储器,6. 相对寻址,相对寻址是针对转移指令。 将程序计数器PC的当前值与指令第二字节给出的偏移量相加,从而形成转移的目标地址。 目标程序地址: P

8、CPC+2+REL 偏移量,例如指令:JZ 61H,位寻址,是指对片内RAM中20H2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址寻址。,7. 位寻址,例如:位寻址指令:MOV C,20H 此指令是将RAM中位寻址区20H位地址中的内容,送给位累加器C。 注:位寻址指令与字节地址寻址指令的区别:MOV A,20H 此指令是将内部RAM中20H单元中的内容送给累加器A。,小结: 掌握MCS51单片机的寻址方式是掌握指令对哪一个存贮器空间进行操作。 具有以下几点原则: (1)对程序存贮器只能采用基寄存器加变址寄存器间接寻址寻址方式。 (2)对特殊功能寄存器空间只能采用

9、直接寻址方式(可以用符号来代表地址),不能采用寄存器间接寻址方式。 (3)内部RAM高128B只能采用寄存器间接寻址方式,不能采用直接寻址方式。 (4)内部RAM低128B 既能采用寄存器间接寻址方式,又能采用直接寻址方式。 (5)外部扩展的数据存贮器只能采用MOVX指令访问。,练习:指出下列指令的寻址方式1、MOV A , R1 8、SJMP LP2、MOV 30H,R4 9、MOV 65H,C3、MOV 30H,#05H 10、CLR C4、MOV 30H,4AH5、MOV A,R16、MOVX A, DPTR 7、MOVC A, A+DPTR,一、指令的组成 MCS-51单片机汇编语言指

10、令由操作码和操作数两部分组成。指令格式为:操作码 操作数,二、指令中常用的符号, Rn: 表示当前工作寄存器R0R7中的一个。 Ri: 表示寄存器间接寻址,常常作间接寻址的地址指针。其中Ri代表R0和R1寄存器中的一个。 Direct: 表示内部数据存贮器单元的地址及特殊功能寄存器SFR的地址,对SFR而言,既可使用它的物理地址,也可直接使用它的名字。,1.3 MCS-51单片机指令格式, Bit: 表示内部RAM和SFR中的具有位寻址功能的位地址。 : 表示寄存器间接寻址或基址加变址寄存器间接寻址的前缀符号。 $: 表示当前指令的地址。, #date: 表示8位立即数,即8位常数,取值范围为

11、 #00H#0FFH #date16: 表示16位立即数,即16位常数,取值范围为#0000H#0FFFFH,2 MCS-51单片机指令系统,2.1 数据传送类指令(共29条),MCS51汇编语言有42种操作码助记符,33种操作功能,111种指令,可分为:数据传送类(29条)算术操作类(24条)逻辑操作类(24条) 控制转移类(17条) 位操作类 (17条),这类指令有:MOV,MOVX,MOVC,XCH,XCHD,SWAP,POP,PUSH共8种。,3.1 数据传送指令:,(1)内部数据存储器传送指令,格式: MOV DST,SRC,A,Rn,Rn direct Ri,direct Ri #

12、data A,以累加器A为目的操作数的指令(共4条),把源操作数的内容送ACC,源操作数的内容不变化。,以Rn为目的操作数的指令(共3条),源操作数的内容送入当前工作寄存器区的R0R7,以直接寻址的单元为目的操作数的指令(共5条),源操作数的内容送入直接地址指出的存贮单元。,MOV Direct ,A ;寄存器寻址 MOV Direct ,Rn ;寄存器寻址 MOV Direct ,Direct ;直接寻址 MOV Direct , Ri ;寄存器间接寻址 MOV Direct ,#data ;立即寻址,、以寄存器间接寻址的单元为目的操作数的指令(共3条),源操作数的内容送入R0或R1指出的内

13、部RAM中。,MOV Ri , A ;寄存器寻址 MOV Ri ,Direct ;直接寻址 MOV Ri ,#data ;立即寻址,MOV A,#20H ;A=_MOV A,40H ;A=_MOV R0,#50H ;R0= _ MOV A,R0 ;A=_MOV A,R0 ;A=_,已知A=40H,40H=#30H,50H=#10H, 求执行下列指令后A寄存器的内容。,MOV A,R6 ;A=_MOV R6,70H ;R6=_MOV R0,#50H ;R0=_MOV R1,#66H ;R1=_MOV 70H,50H ;70H=_MOV 40H,R0 ;40H=_MOV R1,#88H ;66H=

14、_,例:已知R1=66H,R6=30H,50H=#60H, 66H=#45H,70H=#40H,求下列指令执行后,目的操作地 址内的数据。,、16位数据传送指令(共1条),MOV DPTR ,#data16 ;立即寻址,把16位立即数送到数据指针DPTR。 高8位 DPH,低8位 DPL例如: MOV DPTR ,#8000H,(2)程序存储器传送指令(查表指令)(共2条),MOVC A, A+PC ; PC+1 PC (A)+ PC)A (1)MOVC A, A+DPTR ;(A)+ DPTR)A (2),指令(1)中,(A)作为无符号数和PC内容(下一条指令的起始地址)相加后得到一个16位的地址,将该地址的内容 A。指令(2)中,(A)作为无符号数和DPTR内容相加后得到一个16位的地址,将该地址的内容 A。,应用:通过数码管显示某楼的楼层数的软、硬件设计。,例如: (A)=30H,当前地址1000H,MOVC A,A+PC ;(?H) A,例如: ORG 8000H,MOV A, #30,MOVC A, A+PC ;(?H) A,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号