欢迎来到天天文库
浏览记录
ID:50066795
大小:414.50 KB
页数:96页
时间:2020-03-08
《单片机原理及应用 教学课件 作者 娄国焕 第3章+MCS-51单片机指.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章MCS-51单片机指令系统内容提要:本章详细介绍了MCS-51单片机的指令系统和寻址方式。介绍了指令系统的分类,并结合示例说明了指令的功能及应用。重点:单片机指令系统的寻址方式;指令功能。难点:单片机指令系统的寻址方式。3.1MCS-51指令系统简介MCS-51单片机共有111条指令,其中单字节指令49条,双字节指令45条,三字节指令17条。当系统时钟为12MHz时,大多数指令的执行时间仅需1μs,乘法指令也只需4μs,指令的平均执行时间不到2μs。MCS-51单片机指令系统具有占有内存空间少、执行速度快的优点,有很强的实时处理能力,特
2、别适合于现场控制的场合。1.指令格式MCS-51单片机指令系统是一个具有255种代码的集合,绝大多数指令包含两个基本部分:操作码和操作数。操作码表明指令要执行的操作的性质;操作数说明参与操作的数据或数据所存放的地址。MCS-51单片机指令系统中所有指令是以机器语言形式表示的,可分为单字节、双字节和三字节3种格式。由于用二进制代码表示的机器语言阅读困难且难以记忆,因此,人们采用汇编语言指令来编写程序。本章介绍的MCS-51指令系统就是以汇编语言来描述的。汇编语言指令是指令系统最基本的书写方式,由操作码、目的操作数、源操作数等组成。格式如下:标号
3、:操作码目的操作数,源操作数;注释标号:是指令地址的标志符号,由用户定义的符号组成。必须以英文字母开头,后跟1~8个字母、数字或下横线符号“-”,并以“:”结尾,用户定义的标号不能和汇编保留符号重复。标号可有可无,某条指令一旦赋予标号,标号代表该指令第一个字节所存放的存储单元的地址,故标号又称为符号地址,在其他指令的操作数中可引用该标号作为引用地址。操作码:由2~5个英文字母组成的功能助记符,用来表示指令的操作功能,不能缺省。MCS-51指令系统中共有42种助记符,带表了33种不同的功能。操作数:是指令操作所需的数据、地址或符号(标号)。通常
4、右边操作数为源操作数,左边为目的操作数。根据指令的功能不同,操作数的个数有1、2、3个,也可以没有。操作数之间用逗号“,”分开。操作数可以是多种进制的立即数和直接地址:二进制加后缀B、十进制加后缀D或不加、十六进制加后缀H(以字母开头需加前导0),工作寄存器、标号地址、表达式等。注释:可有可无,加入注释主要是为了便于阅读程序,程序设计者对程序段的作用、关键指令、进入和退出子程序的条件等加以注释,以提高程序的可读性。注释和源程序一起存储、打印。但是汇编时不被翻译,因而在目标程序的机器代码中并不出现,不会影响程序的执行。注释必须以分号“;”开始,
5、当注释占有多行时,每一行都必须以“;”开始。2.常用符号说明MCS-51单片机指令系统汇编指令中的符号约定如下:Rn:n=0-7,当前选中的8个工作寄存器R0-R7之一;Ri:i=0,1,当前选中的用于间接寻址的两个工作寄存器R0、R1之一;Direct:8位直接地址,可以使RAM单元地址(00H--7FH),或特殊功能寄存器(SFR)地址(80H--FFH);#data:8位或16位立即数;addr:程序存储器地址,常在后面跟有数字,如addr11表示11位地址;rel:8位偏移地址,表示相对跳转的偏移字节,按下一条指令的第一个字节计算,在
6、-128~+127取值范围内;DPTR:16位数据指针;bit:位地址,内部RAM20H~2F中可寻址位和SFR中的可寻址位;A:累加器;B:寄存器,用于乘除指令中;C:进位标志或进位位,或位操作指令中的累加器;@:寄存器间接寻址前缀;PC:程序计数器,16位PSW:程序状态字SP:堆栈指针$:程序计数器当前值3.2寻址方式3.2.1立即寻址方式指令的操作数直接出现在指令字节中,这种寻址方式称为立即寻址(也叫立即数寻址)。一般用#标记作前缀,立即数寻址只能作源操作数,不能当作目的操作数。【例3-1】MOV A,#30H其寻址示意图如图3.1所
7、示001100000111010030H程序存储器累加器A操作码立即数PCPC+1图3.1立即寻址示意图3.2.2直接寻址方式直接寻址是指在指令中含有操作数的直接地址,该地址指出了参与操作的数据所在的字节地址或位地址。该方式访问以下三种存储空间:(1)特殊功能寄存器。(2)内部RAM的低128字节(对于8032/8052等单片机,其内部高128字节RAM(80H—FFH)不能用直接寻址方式访问,而只能用寄存器间接寻址方式访问)。(3)位寻址空间。【例3-3】MOV A,R0;A←(R0)MOV SP,#70H;SP←70HMOV B,A;B←
8、(A)3.2.4寄存器间接寻址方式由指令指出某一个寄存器的内容作为操作数,这种寻址方式称为寄存器间接寻址。寄存器间接寻址使用当前工作寄存器区中的R0或R1作为地址指
此文档下载收益归作者所有