




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 单片机原理及应用 河海大学常州校区 机电工程学院 丁 坤 email: tel:85191952 address:实验楼b208 第三章 mcs-51单片机的指令系统 2 1-1 概述 1-2 寻址方式 1-3 指令系统 3 1-1 概述 1、指令 指令是cpu根据人的意图来执行某种操 作的命令。一台计算机所能执行的全部指令 的集合称为这个cpu的指令系统。 两种表达方式:机器码指令和汇编指令 一、基本概念 4 (1)机器码指令 8051单片机是8位机,其机器语言以8位二进 制为单位。 例如,要做10加20的加法,在mcs-51中可用 机器码指令编程: 01110100 00001010 把10放到累加器a中 00100100 00010100 a加20,结果放在a中 为了便于书写和记忆,可采用十六进制表示指令码 ,这样以上两条可写成: 740ah 2414h 5 (2)汇编语言指令 机器语言编写的程序不易记忆、不易查错、 不易修改,采用一定含义的符号即指令助记符来表 示,一般都采用某些有关的英文单词的缩写,这样 就出现了另一种程序语言汇编语言。 所谓的汇编语言是用助记符、符号和数字等 来表示指令的程序语言,容易理解和记忆,它 与机器语言指令是一一对应的。汇编语言不象 高级语言那样通用性强,而是属于某种计算机 所独有的,与计算机的内部硬件结构密切相关 。用汇编语言编写的程序叫汇编语言程序。 6 把汇编语言程序翻译成目标程序的过程称称 为汇编过程,简称汇编。完成这个任务有两种方 法:手工汇编和机器汇编。 mov a,#10 ;把10放到累加器a中 add a,#20 ;a加20,结果放在a中 7 2、指令格式 mcs-51系列单片机汇编语言指令由助记符 字段和操作数字段所组成。指令格式如下: 操作码 操作数1,操作数2,操作数3 第一部分为指令操作码助记符,它由25个英文 字母所组成。如:mov 第二部分为操作数,它以一个或几个空格和操 作码隔开,根据指令功能的不同,操作数可以 有1,2,3个或者没有。操作数之间“,”分开。 8 指令的时间概念:单周期指令;双周期指令; 四周期指令。 指令的空间概念:一字节指令;双字节指令; 三字节指令。 9 3、伪指令 伪指令不是真正的的指令,无对应的机器码, 在汇编时不产生任何目标程序(机器码),它 只对汇编过程进行某种控制。 51系列中常用的伪指令有: org汇编起始命令 end汇编结束命令 db定义字节命令 dw定义字命令 10 4、标号和注释 标号 abc+: 注释 ;+解释 对程序的可读性有很重要的影响 11 1-2 寻址方式 指令给出参与运算的数据的方式,即 确定操作数地址的方法,通俗讲:以什么 方式找到参与指令执行的数据。 mcs-51指令寻址方式主要有7种: 立即寻址、直接寻址、寄存器寻址、寄存器间 接寻址、基址寄存器变址寄存器间接寻址、 相对寻址、 隐含寻址 12 一、立即寻址 将立即数直接传送到目的操作数中。 可以认为是一种简单的赋值。 如:mov a,#30h 注意: 字母开头的立即数前加0 #0ffh 30ha 30h 13 二、直接寻址 在指令中直接给出操作数所在存储单 元的地址。直接寻址方式可以访问以下三中 存储空间:特殊功能寄存器、内部数据存储 器的低128b和位地址空间。 14 如:mov a,30h 33ha 33h30h 15 三、寄存器寻址 寄存器寻址就是由指令指出寄存器组 r0r7中某一个寄存器作为操作数。 33hr0 33h+1=34h 34h 如:inc r0 16 四、寄存器间接寻址 操作数的地址事先存放在某个寄存器中 ,寄存器间接寻址是把指定寄存器的内容作 为地址,由该地址所指的单元内容作为操作 数。 17 如:mov a,r0 片内ram 30h r0 a 30h34h 34h 30h 在访问片内ram和片外ram低地址的256 个单元时,用r0或r1作地址指针;在访问全 部64kb外部ram时,使用dptr作为地址指 针进行间接寻址。 18 五、基寄存器加变址寄存器间接寻址 这种寻址方式以16位的程序计数器pc或数据 指针dptr作为基寄存器,以8位的累加器a作 为变址寄存器。基寄存器和变址寄存器的内容 相加形成16位的地址,该地址即为操作数的 地址。 例如: movc a,a+pc movc a,a+dptr 19 如:movc a,a+dptr 程序存储器 4000h dptr a 34h 30h 34h 4000h 30h + = 4030h 4030h 20 六、相对寻址 这种指令中给定地址的相对偏移量rel,以 pc当前值为基地址,加上rel所得结果为转移 目标地址。 例如: jc 80h 21 七、隐含寻址 这种指令操作数的地址隐含在操作码中,不 需要指明,这种方式称为隐含寻址。 例如: inc a指令,指令代码为04h,但并没有给出 a的地址,a的地址隐含在操作码中 22 1-3 mcs-51单片机指令系统 一、概述 1、数据操作 mcs-51系列单片机是个高性能的数据 处理机,能对位、半字节、字节和双字节 数据进行各种操作,他们包括数据传送、 逻辑运算、布尔处理和控制转移等操作。 23 d7 d6 d5 d4 d3 d2 d1 d0 cy ac f0 rs1rs0ov f1p psw 24 2、指令类型 mcs-51指令系统可分为五大类,即: 数据传送指令:28条 算术运算指令:24条 逻辑运算及移位指令:25条 控制转移指令:17条 位操作指令(布尔操作):17条 25 二、数据传送指令 实现数据传送的功能,最基本最重要的操作 指令。 数据传送是否灵活快速对程序的编写和执行 速度产生很大的影响 26 1、内部数据传送指令 1、1 以累加器a为目的操作数指令(4 条,即4种寻址方式) mov a,rn mov a,direct mov a,ri mov a,#data 注意:1、i=0,1 2、#0ffh(字母开头前加0) 27 1、2以rn为目的操作数指令(3条) mov rn,a mov rn, direct mov rn,#data 注意:1、n=07 28 1、3以直接寻址的单元为目的操作数指 令(5条) mov direct,a mov direct,rn mov direct,direct mov direct,ri mov direct,#data 29 1、4 以寄存器间接寻址的单元为目的操 作数指令(3条) mov ri,a mov ri,direct mov ri,#data 注意:1、i=0,1 2、寄存器间接寻址的特殊性 30 2、外部数据传送指令 2、1 16位数据传送指令(1条) mov dptr,#data16 注意:dptr是由dph,dpl组成 31 2、2 外部数据存储器数据传送指令(4 条) movx a,dptr movx a,ri movx dptr, a movx ri ,a 32 2、3 程序存储器数据传送指令(查表 指令)(2条) movc a,a+pc movc a,a+dptr 33 如:movc a,a+dptr 程序存储器 4000h dptr a 34h 30h 34h 4000h 30h + = 4030h 4030h 34 3、数据交换指令 3、1 字节交换指令(3条) xch a,rn xch a,direct xch a,ri 35 3、2 半字节交换指令(3条) xchd a,ri 36 4、栈操作指令 4、1 进栈指令 push direct sp加1,然后再将数据保存到堆栈中。 4、2 退栈指令 pop direct 先将堆栈中的数据弹出,然后sp再减1 37 三、算术运算指令 mcs-51系列单片机的算术运算指令包括加 、减、乘、除基本的四则运算。 算术运算结果将使得进位标记cy,半进位标 志ac,溢出位标志ov,这三种标志置位或复 位。 38 1、加法指令 1、1不带进位的加法指令(4条) add a,rn add a,direct add a,ri add a,#data 注意:若有进位cy被置位 39 1、2 带进位的加法指令(4条) addc a,rn addc a,direct addc a,ri addc a,#data 40 1、3 加1指令(5条) inc a inc rn inc direct inc ri inc dptr 41 1、4 十进制调整指令(1条) da a 42 2、减法指令 2、1 带借位的加法指令(4条) subb a,rn subb a,direct subb a,ri subb a,#data 43 2、2 减1指令(4条) dec a dec rn dec direct dec ri 44 3、乘法指令 mul ab 注意:低字节放在a中,高字节放在 中。 45 4、除法指令 div ab 注意:a/b,商放在中,余数放在 中。 46 四、逻辑运算指令 1、累加器a的逻辑操作指令(7条) clr a ;清零指令 cpl a ;取反指令 rl a ;左环移指令 rlc a ;带进位左环移指令 d7d0 cyd0d7 47 rr a ;右环移指令 rrc a;带进位右环移指令 swap a;累加器acc半字节交换指令 d7d0 cyd0d7 48 2、两个操作数的逻辑操作指令 2、1 逻辑与指令(6条) anl a,rn anl a,direct anl a,ri anl a,#data anl direct,a anl direct,#data 49 2、2 逻辑或指令(6条) orl a,rn orl a,direct orl a,ri orl a,#data orl direct,a orl direct,#data 50 2、3逻辑异或指令(6条) xrl a,rn xrl a,direct xrl a,ri xrl a,#data xrl direct,a xrl direct,#data 51 五、位操作指令 1、位变量传送指令(2条) mov c,bit mov bit,c 52 2、位变量修改指令(6条) clr c clr bit cpl c cpl bit setb c setb bit 53 3、位变量逻辑操作指令 3、1位变量逻辑与指令(2条) anl c,bit anl c,/bit 54 3、2 位变量逻辑或指令(2条) orl c,bit orl c,/bit 55 五、控制转移指令 1、无条件转移指令(4条) ajmp addr11;短跳转指令 ljmp addr16;长跳转指令 sjmp rel ;相对转移指令 jmp a+dptr;基寄存器加变址寄存 器间接转移指令(散转指令) 56 2、条件转移指令 21测试条件符合转移指令(7条) jz rel jnz rel jc rel jnc rel jb bit, rel jnb bit, rel jbc bit, rel 57 22 比较不相等指令(4条) cjne a,direct,rel cjne a,#data,rel cjne rn,#data,rel cjne ri,#data,rel 58 23 减1不为0转移指令(2条) djnz rn,rel djnz direct,rel 59 3、调用和返回指令 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 19785-4:2025 EN Information technology - Common Biometric Exchange Formats Framework - Part 4: Security block format specifications
- 【正版授权】 ISO 20188:2025 EN Space systems - Product assurance requirements for commercial satellites
- 【正版授权】 ISO 80000-12:2019/AMD1:2025 EN Amendment 1 - Quantities and units - Part 12: Condensed matter physics
- 【正版授权】 ISO 18997:2025 EN Water reuse in urban areas - Guidelines for urban reclaimed water for landscaping uses
- 【正版授权】 ISO 16610-31:2025 EN Geometrical product specifications (GPS) - Filtration - Part 31: Robust profile filters: Gaussian regression filters
- 校外小饭桌安全知识培训课件
- 校园超市消防知识培训总结课件
- 销售会计试题及答案
- 斜视护理试题及答案
- 北京预测培训基础知识课件
- 心外科进修汇报护理
- 学历案与深度学习:读书感悟与教育启示
- 医院患者病情评估制度
- 钢栏杆安装工程施工方案
- 2025年幼儿教师师德培训案例集
- GB/T 33130-2024高标准农田建设评价规范
- 高空作业车安全知识培训
- 吉林大学《计算机网络(双语)》2021-2022学年期末试卷
- 《解除保护性止付申请书模板》
- 2024年云网安全应知应会考试题库
- 高层建筑火灾扑救
评论
0/150
提交评论