大工10秋《单片机原理及应用》辅导资料六.doc

大工10秋《单片机原理及应用》辅导资料六.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大工10秋《单片机原理及应用》辅导资料六.doc

单片机原理及应用辅导资料六 主 题:课件第章 内 容: 我们这周主要学习课件第三章单片机寻址方式第3节的相关内容。希望通过下面的内容能使同学们加深对单片机相关知识的理解。 一、学习要求 掌握指令系统中各种寻址方式的操作过程指令的功能和对状态标志位的影响数据传送类指令PSW的状态。 传送类指令可以分成两大类。一是采用MOV操作符,称为一般传送指令;二是采用非MOV操作符,称为特殊传送指令,如:MOVC、MOVX、PUSH、POP、XCH、XCHD及SWAP。 (1)一般传送 ①16位传送 这条指令的功能是将源操作数data16(通常是地址常数)送入的操作数DPTR中。源操作数的寻址方式为立即寻址。 例如执行指令 MOV DPTR,#1234H 后,(DPH)=12H,(DPL)=34H。 ②8位传送 8位的传送指令属于字节传送,指令完成的任务是将源字节内容拷贝到目的字节,而源字节的内容不变。通用格式为:MOV 目的字节 ,源字节。 由于在5种源字节中,只有#data不能用做目的字节。所以可以用4种目的字节为基础构造4类指令。相应的源字节选择依据是:源字节与目的字节不相同(除direct外);寄存器寻址与寄存器间接寻址间不相互传送。 (2)特殊传送指令 MOVC、MOVX、PUSH、POP、XCH、XCHD和 SWAP。 功能分别为:ROM查表、外部RAM读写、堆栈操作和交换指令。 ROM查表 DPTR内容为基址 该指令首先执行16位无符号数加法,将获得的基址与变址之和作为16位的程序存储器地址,然后将该地址单元的内容传送到累加器A。指令执行后DPTR的内容不变。 PC内容为基址 取出该单字节指令后PC的内容增1,以增1后的当前值去执行16位无符号数加法,将获得的基址与变址之和作为16位的程序存储器地址。然后将该地址单元的内容传送到累加器A。指令执行后PC的内容不变。 读写片外RAM 读片外RAM MOVX A,@DPTR;A ←((DPTR16位DPTR为间址寄存器读片外RAM,可以寻址整个64K字节的片外RAM空间。指令执行时,在DPH中的高8位地址由P2口输出,在DPL中的低8位地址由P0口分时输出,并由ALE信号锁存在地址锁存器中。 MOVX A,@Ri;A ←((RiR0或R1为间址寄存器,也可以读整个64K字节的片外RAM空间。指令执行时,低8位地址在R0或R1中由P0口分时输出,ALE信号将地址信息锁存在地址锁存器中(多于256字节的访问,高位地址由P2口提供)。 读片外RAM的MOVX操作,使P3.7引脚输出的信号选通片外RAM单元,相应单元的数据从P0口读入累加器中。 写片外RAM MOVX @DPTR,A;((DPTR))←(A)。该指令以16位DPTR为间址寄存器写外部RAM,可以寻址整个64K字节的片外RAM空间。指令执行时,在DPH中高8位地址由P2口输出,在DPL中的低8位地址,由P0口分时输出,并由ALE信号锁存在地址锁存器中。 MOVX @Ri,A;((Ri))←(A)。该指令以R0或R1为间址寄存器,也可以写整个64K字节的片外RAM空间。指令执行时,低8位地址在R0或R1中由P0口分时输出,ALE信号将地址信息锁存在地址锁存器中(多于256字节的访问,高位地址由P2口提供)。 写片外RAM的“MOVX”操作,使P3.6引脚的信号有效,累加器A的内容从P0口输出并写入选通的相应片外RAM单元。 ③堆栈操作 堆栈是在内部RAM中按“后进先出”的规则组织的一片存储区。此区的一端固定,称为栈底;另一端是活动的,称为栈顶。栈顶的位置(地址)由栈指针SP指示(即SP的内容是栈顶的地址)。在80C51中,堆栈的生长方向是向上的(地址增大)。 系统复位时,SP的内容为07H。通常用户应在系统初始化时对SP重新设置。SP的值越小,堆栈的深度越深。 PUSH direct;SP ←(SP 1,(SP)←(direct)。 POP direct;direct←((SPSP ←(SP1。 例如:若(SP)=07H,(40H)=88H,执行指令 PUSH 40H 后,(SP)=08H,(08H)=88H。若(SP)=5FH,(5FH)=90H,执行指令 POP 70H 后,(SP)=5EH,(70H)=90H。 ④数据交换 对于单一的MOV类指令,传送通常是单向的,即数据是从一处(源)到另一处(目的)的拷贝。而交换类指令完成的传送是双向的,是两字节间或两半字节间的双向交换 。 字节交换 例如:若(R0)=80H,(A)=20H。执行指令 XCH A,R0 后,(A)=80H,(R0)=20H。 半字节交换 XCHD指令的功能是间址操作数的低半字

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档