欢迎来到天天文库
浏览记录
ID:50166164
大小:941.00 KB
页数:130页
时间:2020-03-09
《单片机原理及应用 教学课件 作者 谢辉 主编 黄滔 李焱 副主编第3单元P89C5x单片机的指令系统及编程举例.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3单元P89C5x单片机的指令系统及编程举例了解P89C5x单片机的指令系统的构成。掌握P89C5x单片机的指令系统的寻址方式。掌握P89C5x单片机的指令的功能和使用方法。掌握汇编语言的程序结构的设计。本章内容:3.1指令系统简介3.1.1指令概述单片机所需执行指令的集合即为单片机的指令系统。单片机的指令系统称为机器语言,机器语言即指令的二进制编码。为了容易理解和编程,使用易于阅读和辨认的指令符号来代替机器码,我们常称这些符号为助记符,用助记符的形式表示的单片机指令就是汇编语言。3.1.2指令格式1、汇编语言的语句格式P89C
2、5x单片机的汇编语言指令格式如图3-1所示:整个语句必须在一行内写完,分为4个部分。第1部分为标号,标号实际上是符号地址,标号值代表这条指令在程序存储器中的存放地址。标号可以从字母开始,后跟1~8个英文字母或数字,并以冒号“:”结尾。标号可以省略。第2部分为操作码,它是指令操作功能的描述,由2~5个英文字符组成,它反映了指令的功能。第3部分为操作数,根据不同的指令,可以有1个、2个、3个操作数,或者根本没有操作数。它与操作助记符之间至少有一个空格,可以有多个空格,操作数之间用逗号“,”分开。它反映的是指令的对象。第4部分为注释,它
3、以分号“;”开始,是用户对该条指令或程序的说明,注释必须在一行之内写完,换行时需另外以分号“;”开始,注释内容可以为任何字符,注释也可以省略。2.指令编码格式不同指令翻译成机器码后字节数也不一定相同。按照机器码个数,指令可以分为以下三种:单字节指令、双字节指令、三字节指令。如图1.指令分类P89C5x单片机的指令系统的汇编指令共有111条指令,33种功能,42种助记符。(1)按功能可分为5类:数据传送类指令(共29条)算数运算类指令(共24条)逻辑运算及移位类指令(共24条)控制转移类指令(共17条)布尔变量操作类指令(共17条)
4、3.1.3指令分类及符号说明(2)按字节数可以分为3类:单字节指令(49条)双字节指令(46条)三字节指令(16条)(3)按指令执行的时间可分为3类:单机器周期指令(64条)双机器周期指令(45条)四机器周期指令(2条)2.常用符号说明(1)Rn(n=1~7):指当前选中的工作寄存器组R0~R7中的某个寄存器。(2)Ri(i=0~1):指当前选中的工作寄存器组中能用作间址寄存器的R0、R1。(3)#data:8位立即数。(4)#data16:16位立即数。(5)direct:片内RAM单元(包括SFR)的直接地址。(6)addr1
5、1:11位目的地址。(7)addr16:16位目的地址。(8)rel:补码形式表示的8位地址偏移量。以下一条指令第一字节地址为基址,地址偏移量范围为−128~+127。(9)bit:片内RAM或SFR的直接寻址位地址。(10)@:间接寻址方式中,表示间址寄存器的符号。(11)/:位操作指令中,表示对该位先求反再参与操作,但不影响该位原值。(12)C:最高位进位或借位标志位或布尔处理器的累加器。(13)(×):表示由×所指地址单元或寄存器中的内容。(14)((×)):表示以×所指地址单元或寄存器中的内容为地址的存储单元中的内容。(1
6、5)→:数据传送方向。本节思考题单片机的指令由哪几部分构成?单片机的指令分为哪几类?列举指令中常见的符号,并说明它们的功能3.2P89C5x单片机的寻址方式寻址方式就是找到操作数或指令地址的方式。在指令系统中操作数是一个重要的组成部分,它指出了参加运算的数或数所在的地址单元。寻址方式越多,则计算机的功能就越强,灵活性就越大,就能更有效的处理各种数据。89C5x单片机的寻址方式有:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址加变址寻址、相对寻址、位寻址。3.2.1立即寻址操作数为立即数,即将操作数直接写在指令中。操作数为8位
7、或者16位的数据,用符号“#”表示标示,以区别直接地址。例如,指令MOVA,#E6H执行的操作是将立即数E6H送到累加器A中,该指令就是立即数寻址。注意:立即数前面必须加“#”号,以区别立即数和直接地址。指令的执行过程如图3-3所示。又例如:MOVDPTR,#3000H;把16位立即数3000H传送到数据指针DPTR中,这是单片机指令系统中一条16位立即数寻址指令。图3-3立即数寻址示意图3.2.2直接寻址把存放操作数的内存单元的地址直接写在指令中。可以直接寻址的存储器主要有内部RAM区和特殊功能寄存器SFR区。例如,指令MOVA
8、,7FH执行的操作是将内部RAM中地址为7FH的单元内容传送到累加器A中,其操作数7FH就是存放数据的单元地址,因此该指令采用的是直接寻址方式。如果内部RAM7FH单元的内容是80H,那么指令MOVA,7FH的执行过程如图3-4所示。图3-4直接寻
此文档下载收益归作者所有