51单片机指令系统和汇编语言程序设计.ppt
《51单片机指令系统和汇编语言程序设计.ppt》由会员分享,可在线阅读,更多相关《51单片机指令系统和汇编语言程序设计.ppt(86页珍藏版)》请在三一办公上搜索。
1、第3章 51单片机汇编指令系统和汇编语言程序设计,指令、汇编语言、寻址等概念51单片机指令集数据传送指令算术运算逻辑运算控制转移位运算汇编语言程序模块设计顺序、条件分支、循环程序、子程序,3.1 汇编指令和汇编语言,机器指令:微型计算机和单片机真正能够执行的指令都是二进制数的机器指令。每一种或者每一系列的单片机(MCU Family)都有自己专有的机器指令集(Instruction Set),且各不相同,不具有可移植性。汇编指令(Assembly Instruction):采用英文单词助记符和机器指令一一对应起来,即是汇编指令。例如ADD A,B INC A汇编指令是人们相对容易掌握的最底层指
2、令。每种汇编指令集都是专适用于某种CPU的。,汇编指令和汇编语言最大的问题是不具有跨CPU的可移植性,更换了不同的CPU系列就必须全部更换程序代码,代价大周期长。但是汇编语言也具有速度最快,效率最高,保密性最好的有点,在大企业、高技术设备的开发上还广泛应用。单片机C语言开发:是指在基础ANSI C语言基础上添加了适用于单片机内存管理和特殊功能寄存器等的定义。利用C语言开发的单片机程序具有易于理解,容易移植,容易实现复杂的运算和控制功能,因此目前大多数单片机都有对应的C语言开发环境。但是首先学习并理解汇编语言程序思路仍然是进行C语言开发前的必备基础。,MCS-51指令系统的特点,1、执行速度快,
3、存储效率高,MCS-51指令系统共有111条指令,按字节分,单字节指令49条,双字节指令45条,三字节指令17条,按周期分,单周期指令64条,双周期指令45条,四周期指令2条,设时钟频率为12MHz,则指令执行的时间分别为:,1s 58,2s 40,4s 2,占居空间,占居时间,51单片机寻址方式(7种),立即寻址,直接寻址,寄存器寻址,寄存器间接寻址,基址寄存器加变址寄存器间接寻址,相对寻址,位寻址,3.2 寻址方式,寻址方式:汇编指令中提供(寻找)操作数的方式称为寻址方式。,(1)立即寻址举例:ADD A,#28H其中#28H就一个立即数,表示28H是一个常数,存在程序存储器里。,(2)直
4、接寻址举例:MOV A,30H MOV A,SBUF指在汇编指令中直接给出被访问单元的地址。直接寻址的范围只能是片内00H7FH内存单元和特殊功能寄存器区。特殊功能寄存器的名字本质上就是直接内存地址。,(3)寄存器寻址举例:MOV A,R3 R0,R1,R2.R7指被访问的单元是通用寄存器R0R7。,(4)寄存器间接寻址举例:MOV A,R0 此时R0是一个内存地址指针变量,被访问的单元是R0所指向的地址单元。例如R0=30H,则上例实际上访问的是片内RAM的30H单元。而R0本身是指针变量,可以指向一片连续的地址单元,可用于连续循环赋值等。,(5)基址寄存器加变址寄存器寻址举例:MOVC A
5、,A+DPTR 此时DPTR是一个地址指针,指向一个程序存储器中常数数组的首地址,称为基址(Base address),A中存储的是该数组中对应元素的下标(变址),A+DPTR则表示把该下标对应的数组元素读取出来。,(6)相对寻址举例:SJMP MAIN此时MAIN是一个语句标号,代表的是一条指令所在地址,该指令地址和SJMP MAIN这条语句的地址范围差值在-128+127之内,即一个字节有符号数范围。用于程序跳转中的短跳转语句。,(7)位寻址举例:MOV C,20H位指令具有鲜明的特征,其操作单元都是位单元。最典型的例子是一个操作数是CY位,此时20H指的就是片内20H2FH内的位寻址区2
6、0H位了。这个叫做位寻址。,数据传送(29条),算术运算(24条),逻辑运算(24条),控制转移(17条),布尔处理(17条),51单片机的汇编指令集,介绍描述指令符号的意义,当前选中寄存器区的8个工作寄存器(R0R7),Rn,Ri,direct,-8位内部RAM单元地址 00H7FH,专用特殊功能寄存器SFR的地址80HFFH,立即数(8位),#data,#data16,立即数(16位),n=07,i=0、1,addr16,16位目的地址,用于LCALL、LJMP指令 地址范围64KB ROM空间,addr11,11位目的地址,用于ACALL、AJMP指令 地址范围2KB ROM空间,rel
7、,DPTR,数据地址指针,可做16位间址寄存器,bit,内RAM或SFR中的直接位寻址,A,累加器,B,专用寄存器,用于MUL和DIV指令,C,位累加器(PSW.7),进位/借位标志,间址或基址寄存器前缀如 Ri,A+DPTR,/,位操作的前缀,表示对该位操作数取反,(X),X中的内容,((X)),由X寻址的单元中的内容,箭头左边的内容被箭头右边的内容所代替,DPTR,A+PC,寻址方式与相应的寻址空间,利用的变量,使用的空间,方 式,一、数据传送类(29条),用到的指令助记符有5种:,片内传送 MOV(MOV指令只能访问片内RAM),片外传送 MOVX(MOVX指令只能访问片外RAM),查表
8、传送 MOVC(MOVC只能访问程序存储器),累加器交换 XCH、XCHD、SWAP堆栈操作 PUSH、POP这两类指令只能操作片内RAM,1、MOV类传送指令,格式:MOV 目的字节,源字节,功能:把源字节内容送目的字节,源字节内容不变,以累加器A为目的字节的传送:,立即数送累加器,MOV A,#data,;立即数#data送累加器A,寄存器内容送累加器,MOV A,Rn(n=07),内RAM或SFR内容送累加器,MOV A,direct,;Rn的内容送累加器A,;以direct为地址的单元的内容送累加器A,内RAM内容送累加器,MOV A,Ri(i=0、1),;以Ri内容为地址单元中的数送
9、累加器A,立即数送寄存器,MOV Rn,#data(n=07),;立即数#data送累加器 Rn,*16位立即数传送指令,MOV DPTR,#data16,;16位立即数送DPTR中,设置地址指针。,MOV指令不一一详述,请参见指令集表自行理解,MOV类传送指令小结,MOV 片内传送指令,MOV类传送指令小结,MOV 片内传送指令,2、MOVX类传送指令,累加器A与外部RAM传送数据用 MOVX,外部RAM送累加器A,MOVX A,Ri(i=0、1),单字节指令,机器码相应为E2H、E3H,;以Ri内容为外部RAM地址的单元中的数送A,累加器内容送外RAM,MOVX Ri,A(i=0、1),;
10、累加器内容送以Ri内容为地址的外部RAM单元,单字节指令,外部RAM送累加器A,MOVX A,DPTR,单字节指令,机器码相应为E0H,;以DPTR内容为地址的外部RAM单元中的数送A,累加器内容送外RAM,MOVX DPTR,A,;累加器内容送以DPTR内容为地址的外部RAM单元,单字节指令,机器码相应为F0H,MOVX类传送指令小结,MOVX 片外传送指令,MOVX只能对片外扩展的数据存储器RAM进行读写操作,且指令只有以上4条,切忌不要创造“指令”,准确把握何为“片内”,何为“片外”。,例:将片外RAM 120H单元的内容传送到片外RAM 地址为78H的单元。,MOV DPTR,#012
11、0H,MOVX A,DPTR,MOV R0,#78H,MOVX R0,A,;外部RAM送累加器A,;累加器内容送外RAM,3、MOVC类传送指令,MOVC类传送指令,均为基址加变址寄存器寻址:,MOVC A,A+DPTR,以DPTR作基址加变址寻址,长查表指令,16位,例:在外部ROM中存放09的平方值。根据累加器 A中的数(09),查找对应的平方值。,用DPTR作基址寄存器指向表格的首地址用A作变址寄存器实际上A中的值是表格中的第几项,4、XCH、XCHD、SWAP类传送指令,寄存器内容与累加器内容交换,XCH A,Rn(n=07),内RAM或SFR内容与累加器内容交换,XCH A,dire
12、ct(n=07),内RAM内容与累加器内容交换,XCH A,Ri(i=0,1),内RAM内容低4位与累加器低4位内容交换,XCHD A,Ri(i=0,1),累加器A高4位与低4位交换,SWAP A,交换类传送指令小结,5、堆栈操作指令,进栈指令,PUSH direct,;direct地址单元的内容压入SP指向的单元,双字节指令,出栈指令,POP direct,;SP指向的单元内容弹出到以direct为地址的单元,双字节指令,例:堆栈操作 设(A)=55H,(B)=3FH,建立堆栈,压入操作,弹出操作,55H,3FH,MOV SP,#60H,PUSH A,PUSH B,POP PSW,结果:PS
13、W的内容3FH,SP的内容为61H,PSW,3FH,关于数据传送类指令的总结和注意,MOVX指令是唯一的对片外RAM和I/O接口芯片的读写访问指令。MOVC指令是对程序存储器ROM的读访问,按地址读,没有片内外的概念。其余全部传送类指令都是对片内RAM和SFR区的访问,务必搞清楚,不要出错。除了MOV DPTR,#XXXXH一条指令外,其余任何赋值指令的赋值都不能超过1字节容量,即范围只能是00HFFH。有赋值错误者(此为低级错误)会加重扣分 数据传送类指令大量应用,务必熟练运用,二、算术运算类(24条),用到的指令助记符有8种:,加法指令 ADD、ADDC、INC、DA,减法指令 SUBB,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 指令系统 汇编语言 程序设计
链接地址:https://www.31ppt.com/p-2816256.html