数据传送类指令_第1页
数据传送类指令_第2页
数据传送类指令_第3页
数据传送类指令_第4页
数据传送类指令_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、3.2数据传送类指令一、本课在教材中的地位与前后知识的联系:本课节选自中国劳动和社会保障出版社单片机原理及接口技术第三章第二节“数据传送类指令”,它是在前一节单片机指令常用表示方式和寻址方式的基础上,提出的五大类指令中的第一大类,是单片机所有指令中最重要、也是最常用的一类指令。它是其他四大类指令的基础,和其他四大类指令共同组成了MCS-51系列单片机的指令系统。二、对教材的分析与处理:数据传送类指令可以细分为三小种:第一种是数据传送MOVMOVXMOVC第二种是数据交换XCHXCHDSWAP第三种是数据压入弹出PUSHPOP在讲解这三种数据传送类的指令时,每一种的这几个指令都可以采用对比的方法

2、来使学生更好理解;另外,每一种的指令都可以列举事例进行讲解,用例子来增强对数据传送类指令的直观感觉。三、教学目标:1、基础知识目标:(1)掌握数据传送类指令的操作助记符MOVMOVCMOVXXCHXCHDSWAPPUSHPOP(2)掌握各数据传送类指令的执行过程。(3)会用数据传送类指令来书写简单的程序段。2、能力训练目标:通过对数据传送类指令执行过程的理解,培养学生的想象能力和对比分析能力,提高其运用知识的水平。3、创新素质目标:在分析和判断数据传送类指令的执行过程中。培养学生的逻辑推理能力,激发他们的学习兴趣,增强学生对未知事物的探索欲。四、教学过程和方法:本节课采用传统的教学过程:先复习

3、巩固上一节MCS-51系列单片机指令的格式和寻址方式,由此引出本节所讲的第一条指令、也是最重要的一条指令MOV然后逐次讲解MOVXMOVCXCHXCHDSWAPPUSHPO有数据传送类指令,并以例题的方式加深学生对这几条指令的理解。为了让学生更好的掌握数据传送类指令,充分利用对比分析(把MOVMOVCMOVffi行对比,把XCHXCHDSWA进行对比,把PUSHPOP行对比)方法,使学生在比较中加深记忆,更快的掌握这几个指令。五、课程教学安排:本课程共安排2学时六、具体教学过程:1、复习旧知:上一次课,我们重点了MCS-51系列单片机指令的寻址方式,现在给出具体的实例,请回答此指令的源操作数的

4、寻址方式:(见下表)MCS-51系列单片机指令寻址方式:寻址方式利用的变量举例立即数MOVA,#88HRgR7,A,CY,DPTRMOVA,R7立即数,单元中的内容MOVA,30H可寻址位MOVC,01HR0,R1,SPMOVA,R0R0,R1,DPTRMOVXA,DPTRA+DPTR,A+PCMOVCA,A+DPTPC编移量1000H:SJMP06H2、本节所授新课:一、内部RAMK据传送指令(MOV操作码助记符:MOV格式:MOV目的操作数,源操作数功能:传输字节变量,(目的操作数)一(源操作数)1、累加器A为目的操作数的数据传送指令:(4条)MOVA,#data(A)dataMOVA,R

5、n;(A)(Rn)MOVA,Ri;(A)(Ri)MOVA,direct;(A)(direct)例如:MOVA,#66H;(A)66HMOVA,R5;(A)(R5)MOVA,R1;若(R1)=10H,(10H)=08H,则(A)=08HMOVA,70H;(A)(70H)2、以寄存器Rn为目的操作数的数据传送指令:(3条)MOVRn,#data;(Rn)dataMOVRn,direct;(Rn)directMOVRn,A;(Rn)(A)例如:MOVR2,#68H;(R2)68HMOVR3,50H;(R3)(50H)MOVR4,A;若(A)=60H,贝U(R4)-60H3、以Ri为间址单元的目的操作

6、数的数据传送指令:(3条)MOVRi,#data;(Ri)dataMOVRi,direct;(Ri)(direct)MOVRi,A;(Ri)(A)例如:MOVR1,#68H;若(R1)=30H,则(30H尸68HMOVR0,70H若(R0)=40H,则(40H尸70HMOVR1,AB(R1)=50H,(A)=08H,则(50H尸08H4、以direct直接地址为目的操作数的数据传送令:(5条)MOVdirect,#data;(direct)(data)MOVdirect2,direct1;(direct2)(direct1)MOVdirect,Rn;(direct)(Rn)MOVdirect,

7、Ri;(direct)(Ri)MOVdirect,A;(direct)(A)例如:MOV30H,#68H;(30H)=6虹MOV30H,R0;若(R0)=40H,贝U(30H)=4OHMOV30H,A;若(A)=80H,则(30H)=80H5、16位数据传送指令:(1条)MOVDPTR#data16;(DPTR)#data16例如:MOVDPTR#1234H;(DPTR广1234H(DPTR)=1234H,(DPH)=12H(DPL)=34H例3-1分析下列程序段的功(1) MOVR1,#50HMOVR1,20H(2) MOVA,30HMOVR1,A已知(30H)=50H(1)答案:第一步(R

8、1)50H,第二步(50H)(20H)(2)答案:第一步(A)50H,第二步(R1)50H二、外部ROM累加器A的数据传送类指令(4条)操作码助记符:MOVX格式:MOVX目的操作数,源操作数功能:外部数据存储器与A之间进行数据传送1、MOVXDPTR,A;(DPTR)(A)2、MOVXA,DPTR;(A)一(DPTR)3、MOVXRi,A;(Ri)(A)4、MOVXA,Ri;(A)(Ri)例如:已知(A)=11H,执行下列程序,分析结果MOVR0,#50HMOVXR0,A答案:第一步(R0)50H,第二步(50H)11H三、程序存储器RO晌累加器A传送指令(2条)操作助记符:MOVC1、MO

9、VCA,A+DPTR;(A广(A)+(DPTR)该指令的源操作数采用变址寻址方式,执行该指令时将DPTR勺内容与累加器A中的内容相加形成新的地址,将该地址所指向的RO时的数据取出并把它传送到累加器A中.2、MOVCA,A+PC;(PC)(PC)+1,(A)(A)+(PC)该条指令地址,然后指令的源操作数也采用变址寻址方式,首先将PC的值修改为下一执行16位无符号数加法操作,即将PC的内容与A中的数据相加形成新的地址,将该地址所指向的ROMI元中的数据取出并送到累加器A中.四、数据交换类指令(5条)操作助记码:XCH,XCHD,SWAP1、XCHA,Rn;(A)?(Rn)2、XCHA,Ri;(A

10、)?(Ri)3、XCHA,direct;(A)?(direct)功能:都是累加器A内容与寄存器内容交换(全部交换)4、XCHDA,Ri(部分交换)功能:以Ri间址的内部RA睁元数据的低4位与累加器A低4位互换,高4位保持原来的数值不变.5、SWAPA(自我交换)功能:累加器的高位与低位互换。五、堆栈操作指令(2条)进栈指令:PUSH出栈指令:POP1、PUSHdirect;(sp)(sp)+1,(sp)(direct)功能:首先将堆栈指针SP加1,再把直接地址内容存入SP指示的内部RA睁元中.2、POPdirect;(direct)(SP),(SP)(SP)1功能:将堆栈指针SP指示的内部RA

11、睇元内容送入直接地址,然后堆栈指针SP减1.注:堆栈操作采取“先进后出”的原则,在中断系统中广泛的应用,来保护现场.六、本节课小结:功能操作码助记符操作数数据传送:内部RAM外部RAMROMMOVDirect,Rn,Ri,A-#dataDPTR#dataA?Rn,Ri,directDirectRn,Ri,directMOVXA?Ri,DPTAMOVCA+DPTRA+PC数据交换:字节交换半字节交换XCHA?Rn,Ri,directXCHDSWAPA彳氐4位?Rif氐4位A高4位?A低4位堆栈操作:压入堆栈弹出堆栈PUSH(SP)directPOP(SP)一direct七、课堂练习:1、若(R1)=50H,(50li=18H,执行指令后,(40li=18H.2、若(DPTR)=3000H,(A)=20H,执行指令M2VCA+CFTR后,(A)=?3、若(3=67H(R1)=08H,(08H)=2

温馨提示

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

评论

0/150

提交评论