单元2AT89S52系列单片机寻址方式及指令系统_第1页
单元2AT89S52系列单片机寻址方式及指令系统_第2页
单元2AT89S52系列单片机寻址方式及指令系统_第3页
单元2AT89S52系列单片机寻址方式及指令系统_第4页
单元2AT89S52系列单片机寻址方式及指令系统_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 项目一项目一 片内存储器及特殊功能寄存器片内存储器及特殊功能寄存器 第一部分第一部分 项目要求项目要求 在在KeilKeil C51 Vision2 C51 Vision2集成开发环境下,集成开发环境下,在编辑窗口编辑给定程序,观察片内在编辑窗口编辑给定程序,观察片内RAMRAM工工作寄存器区、内部作寄存器区、内部RAMRAM位寻址区、位寻址区、RAMRAM间接间接与直

2、接寄存器区、内部与直接寄存器区、内部RAMRAM间接寻址区、内间接寻址区、内部部RAMRAM特殊功能寄存器区、外部特殊功能寄存器区、外部RAMRAM区区(XRAM)(XRAM)的数据,并根据要求进行修改,说明的数据,并根据要求进行修改,说明每条指令的寻址方式。每条指令的寻址方式。单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 寻址方式是指寻址方式是指CPUCPU寻找操作数或操作数寻找操作数或操作数地址的方法。具体来说寻址方式就是如何找地址的方法。具体来说寻址方式就是如何找到存放操作数的地址,

3、把操作数提取出来的到存放操作数的地址,把操作数提取出来的方法,它是计算机的重要性能指标之一,也方法,它是计算机的重要性能指标之一,也是汇编语言程序设计中最基本的内容之一。是汇编语言程序设计中最基本的内容之一。 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 二、二、AT89S52AT89S52单片机指令寻址单片机指令寻址 存放指令代码的地址称指令地址。指令存放是在存放指令代码的地址称指令地址。指令存放是在程序存储器中,是按顺序存放的,执行时也是按程序存储器中,是按顺序存放的,执行时也是按指令地址顺序执行,除非是转移。指令地址顺序执行,除非是转移。存放数据的地址称操作

4、数地址。数据的存放是任存放数据的地址称操作数地址。数据的存放是任意的,无规律。意的,无规律。操作数的来源为:操作数的来源为:A A操作数在指令中操作数在指令中B B操作数在存储器中操作数在存储器中C C操作数在寄存器中操作数在寄存器中D D操作数在操作数在I/OI/O端口中端口中 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 M0111010000100101操作码操作码立即数立即数00100101APCPC+1图图2.1 立即寻址(立即寻址(MOV A,#25H) PC+1PC操作码操作

5、码M100100000001100001010110立即数高位立即数高位立即数低位立即数低位0001100001010110DPHDPL图图2.2 立即寻址(立即寻址(MOV DPTR, #1856H) 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 图图2.3 直接寻址(直接寻址(MOV A,3CH)单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式

6、及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 【例例2-6】 MOV A,R1 ;A (R1) 1111111111111111图图2.4 寄存器寻址(寄存器寻址( MOV A, R1)单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 寄存器间接寻址可寻址范围如下:寄存器间接寻址可寻址范围如下:(1)内部内部RAM低低128单元,地址范围单元,地址范围00H7FH,用,用Ri(i=0,1)和和SP作为间址寄存器;作为间址寄存器;

7、(2)与与P2口配合使用,用口配合使用,用Ri指示低指示低8位地址,可寻址片位地址,可寻址片外数据存储器或外数据存储器或I/O口的口的64kB区域;区域;(3)DPTR间接寻址寄存器,可寻址片外程序存储器或间接寻址寄存器,可寻址片外程序存储器或数据存储器包括数据存储器包括I/O口的各自的口的各自的64kB区域。区域。单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 MOVC AMOVC A,A+DPTR A+DPTR

8、;A (A)+(DPTR)A (A)+(DPTR) 指令功能为指令功能为DPTRDPTR中的内容与中的内容与A A中的内容相加,中的内容相加,其和所指示的单元的数送入累加器其和所指示的单元的数送入累加器A A,如图所示。,如图所示。图图2.6 变址寻址(变址寻址(MOVC A, A+DPTR) 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 (六)相对寻址(六)相对寻址 是以程序计数器是以程序计数器PC的当前值为基地址,加的当前值为基地址,加上指令中给出的偏移量上指令中给出的偏移量rel作为转移目的地址。作为转移目的地址。 转移目的地址转移目的地址=下一条指令地址下

9、一条指令地址+rel 【例例2-9】 JC 80H 01000000单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 三、三、AT89S52 AT89S52 单片机标志位单片机标志位PSWCyA

10、CF0RS1RS0OVP位地址位地址D7HD6HD5HD4HD3HD2HD1H D0H单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 四、四、AT89S52AT89S52单片机指令系统简介单片机指令系统简介 80C51指令系统有指令系统有42种助记符,代表了种助记符,代表了33种功能,种功能,指令助记符与各种可能的寻址方式相结合,共构指令助记符与各种可能的寻址方式相结合,共构成成111条指令。条指令。 指令分类:指令分类: 数据传送类指令数据传送类指令(28) 算术运算类指令算术运算类指令(24) 逻辑运算类指令逻辑运算类指令(25) 控制转移类指令控制转移类指令

11、(17) 布尔处理类指令布尔处理类指令(17)单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 【例2.11】 要做“10+20” 的加法,可写成:汇编语言程序 机器语言程序MOV A,#0AH 74 0AHADD A,#14H 24 14H 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 1. 汇编语言指令格式汇编语言指令格式 标号标号:操作码:操作码 目的操作数目的操作数,源操作数源操作数;注释注释例如:例如: Loop: ADD A, R0 ;A + (R0) (A)2机器语言指令格式机器语言指令格式 7 70 0操作码操作码7 70

12、 07 70 0数据或寻址方式数据或寻址方式7 70 0数据或寻址方式数据或寻址方式7 70 0数据或寻址方式数据或寻址方式7 70 0单字节指令:单字节指令:双字节指令:双字节指令:三字节指令:三字节指令:操作码操作码操作码操作码操作码操作码单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 指令系统有指令系统有42种助记符,代表了种助记符,代表了33种功种功能,指令助记符与各种可能的寻址方式相结能,指令助记符与各种可能的寻址方式相结合,共构成合,共构成111条条指令。按指令的功能可分指令。按

13、指令的功能可分为五大类。为了便于理解,加强记忆,给出为五大类。为了便于理解,加强记忆,给出每个助记符的解释。每个助记符的解释。 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 1. 数据传送类指令(数据传送类指令(7种助记符,种助记符,28条指令)条指令)MOV:对内部数据寄存器:对内部数据寄存器RAM和特殊功能寄存和特殊功能寄存器器SFR的数据进行传送。的数据进行传送。MOVC:读程序存储器数据表格的数据传送。:读程序存储器数据表格的数据传送。MOVX:对外部:对外部RAM的数据传送。的数据传送。XCH:字节交换。:字节交换。XCHD:低半字节交换。:低半字节交换

14、。PUSH:入栈。:入栈。POP:出栈。:出栈。单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 【例例3】 MOV 90H, #40H ;P140H MOV P1, #40H ;PI40H MOV R0, #90H ;R090H MOV R0, #40H ;(90H)40H 注意:注意: (1) 目的操作数不能采用立即寻址。目的操作数不能采用立即寻址。 (2) Ri中的中的i范围为范围为0和和1。 (3) Rn中的中的n的范围为的范围为07。 (4) 每条指令中最多只能有每条指令中最多只能有1个个Rn或或Ri。 单元单元2 AT89S52单片机寻址方式及指令系统单片

15、机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 【例例7】 将内部将内部RAM 80H单元的内容送单元的内容送入外部入外部RAM 70H单元。程序如下:单元。程序如下: MOV R0,#80H MOV A,R0 MOV R0,#70H MOVX R0,A此例中访问内部此例中访问内部RAM和访问外部和访问外部RAM均均通过通过R0间接寻址,不同的是访问内部间接寻址,不同的是访问内部RAM用操作码用操作码MOV,访问外部,访问外部RAM使用操作使用操作码码MOVX,二者不能

16、混淆。,二者不能混淆。单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 ADDADD:加法。:加法。 ADDCADDC:带进位加法。:带进位加法。 SUBBSUBB:带借位减法。:带借位减法。 DADA:十进制调整。:十进制调整。 INCINC:加:加1 1。 DECDEC:减:减1 1。 MULMUL:乘法。:乘法。 DIVDIV:除法。:除法。单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系

17、统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 【例例9 9】 试分析执行以下程序后,各有关单试分析执行以下程序后,各有关单元的结果。元的结果。解:程序如下:解:程序如下: MOV R1MOV R1,#7FH#7FH MOV 7EH MOV 7EH,#00H#00H MOV 7FH MOV 7FH,#40H#40H DEC R1 DEC R1 DEC R1 DEC R1 DEC R1 DEC R1 执行结果执行结果:(R1)=7EH (7EH)=0FFH (7FH)=3FH(R1)=7EH (7EH)=0FFH (7FH)=3FH单元单元2 AT89S52单片机

18、寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 例例1111:已知第一个:已知第一个BCDBCD码码12341234存放在存放在30H30H和和31H31H单元,其中(单元,其中(30H30H)= 34H= 34H,(,(31H31H)=12H=12H; 第二个第二个BCDBCD码码56785678存放在存放在40H40H和和41H41H单单元,其中(元,其中(40H40H

19、)= 78H= 78H,(,(41H41H)=56H=56H,求两数之和,结果存放在求两数之和,结果存放在50H50H、51H51H单元中。单元中。 分析:分析: 1 2 3 4 1 2 3 4 + 5 6 7 8 + 5 6 7 8 6 9 1 2 6 9 1 2 (51H51H)= 69H= 69H,(,(50H50H)=12H=12H 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 CLR C CLR C ;清;清C C MOV A MOV A,30H 30H ;A=34HA=34H ADD A ADD A,40H 40H ;A=34H+78H=ACHA=34

20、H+78H=ACH DA A DA A ;低;低4 4位:位:C9 C9 A=A+06H=ACH+06H=B2H A=A+06H=ACH+06H=B2H 高高4 4位:位:B9 B9 A=A+60H=B2H+60H=12H A=A+60H=B2H+60H=12H CY=1 CY=1 MOV MOV50H50H,A A ;(;(50H50H)= 12H= 12H MOV MOVA A,31H 31H ; A=12HA=12H ADDC ADDCA A,41H 41H ; A=12H+56H+CY=69HA=12H+56H+CY=69H DA DAA A ;低;低4 4位:位:9 9 不用调整不用

21、调整 高高4 4位:位:6 6 不用调整不用调整 MOVMOV51H51H,A A ;(;(51H51H)=69H=69H单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 3. 3. 逻辑运算及位移类指令(逻辑运算及位移类指令(1010种助记符,种助记符,1717条指条指令)令)ANLANL:逻辑与。:逻辑与。ORLORL:逻辑或。:逻辑或。XRLXRL:逻辑异或。:逻辑异或。CRLCRL:清:清0 0。CPLCPL:

22、取反。:取反。RLRL:循环左移。:循环左移。RLCRLC:带进位循环左移。:带进位循环左移。RRRR:循环右移。:循环右移。RRCRRC:带进位循环右移。:带进位循环右移。SWAPSWAP:低:低4 4位与高位与高4 4位交换。位交换。单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 例例1515:将累加器:将累加器A A中的高中的高4 4位由位由P1P1口的高口的高4 4位输出,位输出,P1P1口的低口的低4 4位不变。位不变。编程如下:编程如下:ANL A ANL A ,#1111000

23、0B #11110000B ;(;(A A)#11110000BA#11110000BA,保,保存存A A中的高中的高4 4位,低位,低4 4位为位为0 0MOV 40H MOV 40H , A A ;(;(A A) 40H40H, MOV A MOV A ,P1 P1 ;(;(P1P1)A AANL A ANL A ,#00001111B #00001111B ;(;(A A) #00001111BA#00001111BA,保,保存存P1P1中的低中的低4 4位。位。 ORL A ORL A ,40H 40H ;(;(40H40H)(A A)A A保留了保留了A A中的高中的高4 4位,位,

24、P1P1中的低中的低4 4位位MOV P1MOV P1,A A ;(;(A A)P1 P1 由由P1P1输出指定的内容输出指定的内容ENDEND单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统

25、单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 例:判断下面两种情况,例:判断下面两种情况,AJMP是否能正确转移到是否能正确转移到L0处去。处去。 AJMP L0 L0:MOVA,#12H设设“AJMP L0”存放在程序存储器存放在程序存储器27F0H单元,单元,“MOV A,#12H”存放在程序存储器存放在程序存储器2800H单元。单元。单元单元2 AT89S52单片机寻址方式及指令系统单片机寻址方式及指令系统 设设“AJMP AJMP L0”L0”存放在程序存储器存放在程序存储器27FEH27FEH单元,单元, “MOV A,MOV A,#12H”#12H”存

26、放在程序存储器存放在程序存储器2FBCH2FBCH单元。单元。分析:分析:第一种情况:第一种情况:CPUCPU执行到该条指令时,(执行到该条指令时,(AJMPAJMP是二字节指令)是二字节指令) PCPC的当前值的当前值 = 27F0H+2 = 27F2H = = 27F0H+2 = 27F2H = 00100111111100100010011111110010 目的地址目的地址 = 2800H = 0010100000000000= 2800H = 0010100000000000因为两条指令因为两条指令PCPC值的高值的高5 5位不相同,所以无法正确转移。位不相同,所以无法正确转移。第二种情况:第二种情况:PCPC的当前值的当前值 = 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论