单片机指令系统教学方法改革和探索.docVIP

  • 2
  • 0
  • 约4.19千字
  • 约 9页
  • 2018-08-25 发布于福建
  • 举报

单片机指令系统教学方法改革和探索.doc

单片机指令系统教学方法改革和探索

单片机指令系统教学方法改革和探索   摘要:指令系统是单片机学习的重点和难点之一,它直接影响了编程的效果。针对80C51系列单片机指令繁多及初学者难以理解和记忆的问题,提出了以数据处理流程为依据的三类指令划分法,并归纳了以A、Rn、direct和@Ri四种典型数据存储单元为基本框架的指令记忆图,以便学生更好地理解和记忆指令。多年的教学实践表明教学效果良好。   关键词:指令系统;单片机;教学方法;80C51   作者简介:柏受军(1975-),男,安徽无为人,安徽工程大学电气工程学院,讲师;瞿成明(1973-),男,安徽庐江人,安徽工程大学电气工程学院,副教授。(安徽#8194;芜湖#8194;241000)   基金项目:本文系安徽工程大学电子信息工程专业校级特色专业项目的研究成果。   中图分类号:G642.3#8195;#8195;#8195;#8195;#8195;文献标识码:A#8195;#8195;#8195;#8195;#8195;文章编号:1007-0079(2011)35-0143-02   目前,许多高校单片机类课程都是以80C51系列为基础来讲授的,这是因为在未来相当长的时间内,8位单片机仍有巨大发展空间,同时80C51本身也有了很大的发展,以它为教学对象,既符合教学的典型性,又不失内容的先进性。[1]但是80C51系列单片机共有111条指令,初学者对此有畏惧心理。本文依据单片机数据处理的流程,将指令分为数据传送、运算和控制转移等三类指令,并提出一种以四种典型的目的操作数为基本框架的指令记忆图,帮助学生理解和记忆单片机指令。   一、三类指令划分法   很多单片机类教材按功能将全部指令划分为数据传送、算术运算、逻辑运算、控制转移和位操作五类学习,[2-4]由于位操作指令中也有传送、逻辑和转移指令,这样会造成初学者不能把相关内容进行对比学习。本文根据单片机处理数据的流程,可以简单地将单片机处理数据的过程划分为三个阶段,即数据的准备和保存阶段、数据的运算阶段以及程序的控制转移阶段。数据的准备和保存阶段,就是选择合适的寻址方式将参与运算的数据传送到相关寄存器或存储单元中,同时将运算的结果保存到相关的寄存器或存储单元中,实现这一功能的指令称为数据传送类指令。数据的运算阶段,就是对准备好的数据进行算术和逻辑运算,实现这一功能的指令是运算类指令,又可细分为算术运算类指令和逻辑运算类指令。程序的控制转移阶段,就是根据数据运算的结果控制程序的转移,实现不同的控制功能,实现这一功能的指令称为控制转移类指令。由此可将除NOP指令外全部指令划分为数据传送、数据运算和控制转移三类,其中数据传送类指令共31条,运算类指令共58条,控制转移类指令21条。这种新的划分方法相比于传统的五类划分法,更加方便学生理解和记忆这些指令,特别是学生在编程时,能够更准确地选择相应指令实现程序的功能。   1.数据传送类指令   数据传送类指令是编程时使用最频繁的一类指令,根据数据存放的空间,可将数据传送类指令划分为片内RAM数据传送、片外RAM数据传送以及ROM数据传送,其中片内RAM数据传送指令种类较为复杂,可再分为MOV传送指令、堆栈指令以及交换指令。学习传送类指令时要注意以下几点。   (1)片内RAM数据传送的助记符大多数为MOV,指令数较多;片外RAM数据传送的助记符为MOVX,只有4条指令,用于读写片外RAM或其他器件的数据;ROM数据传送的助记符为MOVC,只有2条称之为查表指令,用于查找存放于ROM中的表格数据。   (2)片内RAM数据MOV传送指令,指令数多,较为复杂,其目的操作数有6种形式,分别是累加器A、直接地址direct、工作寄存器Rn、寄存器间接地址@Ri、16位的数据指针DPRT、位地址bit(C)。   (3)片内RAM数据传送指令中,有2条堆栈指令PUSH direct、POP direct,用于保护和恢复现场数据。   (4)MOV传送类指令和堆栈指令执行完毕后,源操作数不改变,目的操作数修改为源操作数,可认为是“复制”性质。如果要求在进行数据传送时,不丢失目的操作数,可使用交换指令,共5条指令,其中包括SWAP A指令。   2.运算类指令   数据准备好以后,就可以对数据做算术或逻辑运算了。算术运算类指令和大多数教材的划分一致,共24条,相对简单,只是在学习过程中应注意以下几点。   (1)算术运算指令都是针对单字节二进制无符号数的,如果要进行带符号或多字节进制数运算,需编写程序,通过执行程序实现。   (2)加法指令有不带进位加法和带进位加法两种,而减法指令只有带借位减法一种。另外,加法有十进制调整指令,而减法没有。   (3)加1指令有5条,而减1指令只有4条,没

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档