




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 单片机原理及应用 河海大学常州校区机电工程学院丁坤email dingk tel 85191952address 实验楼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中可用机器码指令编程 0111010000001010把10放到累加器a中0010010000010100a加20 结果放在a中为了便于书写和记忆 可采用十六进制表示指令码 这样以上两条可写成 740ah2414h 5 2 汇编语言指令机器语言编写的程序不易记忆 不易查错 不易修改 采用一定含义的符号即指令助记符来表示 一般都采用某些有关的英文单词的缩写 这样就出现了另一种程序语言 汇编语言 所谓的汇编语言是用助记符 符号和数字等来表示指令的程序语言 容易理解和记忆 它与机器语言指令是一一对应的 汇编语言不象高级语言那样通用性强 而是属于某种计算机所独有的 与计算机的内部硬件结构密切相关 用汇编语言编写的程序叫汇编语言程序 6 把汇编语言程序翻译成目标程序的过程称称为汇编过程 简称汇编 完成这个任务有两种方法 手工汇编和机器汇编 mova 10 把10放到累加器a中adda 20 a加20 结果放在a中 7 2 指令格式mcs 51系列单片机汇编语言指令由助记符字段和操作数字段所组成 指令格式如下 操作码 操作数1 操作数2 操作数3 第一部分为指令操作码助记符 它由2 5个英文字母所组成 如 mov 第二部分为操作数 它以一个或几个空格和操作码隔开 根据指令功能的不同 操作数可以有1 2 3个或者没有 操作数之间 分开 8 指令的时间概念 单周期指令 双周期指令 四周期指令 指令的空间概念 一字节指令 双字节指令 三字节指令 9 3 伪指令伪指令不是真正的的指令 无对应的机器码 在汇编时不产生任何目标程序 机器码 它只对汇编过程进行某种控制 51系列中常用的伪指令有 org汇编起始命令end汇编结束命令db定义字节命令dw定义字命令 10 4 标号和注释标号abc 注释 解释对程序的可读性有很重要的影响 11 1 2寻址方式 指令给出参与运算的数据的方式 即确定操作数地址的方法 通俗讲 以什么方式找到参与指令执行的数据 mcs 51指令寻址方式主要有7种 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 基址寄存器 变址寄存器间接寻址 相对寻址 隐含寻址 12 一 立即寻址将立即数直接传送到目的操作数中 可以认为是一种简单的赋值 如 mova 30h注意 字母开头的立即数前加0 0ffh 30h a 30h 13 二 直接寻址在指令中直接给出操作数所在存储单元的地址 直接寻址方式可以访问以下三中存储空间 特殊功能寄存器 内部数据存储器的低128b和位地址空间 14 如 mova 30h 33h a 33h 30h 15 三 寄存器寻址寄存器寻址就是由指令指出寄存器组r0 r7中某一个寄存器作为操作数 33h r0 33h 1 34h 34h 如 incr0 16 四 寄存器间接寻址操作数的地址事先存放在某个寄存器中 寄存器间接寻址是把指定寄存器的内容作为地址 由该地址所指的单元内容作为操作数 17 如 mova r0 片内ram 30h r0 a 30h 34h 34h 30h 在访问片内ram和片外ram低地址的256个单元时 用r0或r1作地址指针 在访问全部64kb外部ram时 使用dptr作为地址指针进行间接寻址 18 五 基寄存器加变址寄存器间接寻址这种寻址方式以16位的程序计数器pc或数据指针dptr作为基寄存器 以8位的累加器a作为变址寄存器 基寄存器和变址寄存器的内容相加形成16位的地址 该地址即为操作数的地址 例如 movca a pcmovca a dptr 19 如 movca a dptr 程序存储器 4000h dptr a 34h 30h 34h 4000h 30h 4030h 4030h 20 六 相对寻址这种指令中给定地址的相对偏移量rel 以pc当前值为基地址 加上rel所得结果为转移目标地址 例如 jc80h 21 七 隐含寻址这种指令操作数的地址隐含在操作码中 不需要指明 这种方式称为隐含寻址 例如 inca指令 指令代码为04h 但并没有给出a的地址 a的地址隐含在操作码中 22 1 3mcs 51单片机指令系统 一 概述 1 数据操作mcs 51系列单片机是个高性能的数据处理机 能对位 半字节 字节和双字节数据进行各种操作 他们包括数据传送 逻辑运算 布尔处理和控制转移等操作 23 d7 d6 d5 d4 d3 d2 d1 d0 cy ac f0 rs1 rs0 ov f1 p psw 24 2 指令类型mcs 51指令系统可分为五大类 即 数据传送指令 28条算术运算指令 24条逻辑运算及移位指令 25条控制转移指令 17条位操作指令 布尔操作 17条 25 二 数据传送指令实现数据传送的功能 最基本最重要的操作指令 数据传送是否灵活快速对程序的编写和执行速度产生很大的影响 26 1 内部数据传送指令 1 1以累加器a为目的操作数指令 4条 即4种寻址方式 mova rnmova directmova rimova data 注意 1 i 0 12 0ffh 字母开头前加0 27 1 2以rn为目的操作数指令 3条 movrn amovrn directmovrn data 注意 1 n 0 7 28 1 3以直接寻址的单元为目的操作数指令 5条 movdirect amovdirect rnmovdirect directmovdirect rimovdirect data 29 1 4以寄存器间接寻址的单元为目的操作数指令 3条 mov ri amov ri directmov ri data 注意 1 i 0 12 寄存器间接寻址的特殊性 30 2 外部数据传送指令 2 116位数据传送指令 1条 movdptr data16 注意 dptr是由dph dpl组成 31 2 2外部数据存储器数据传送指令 4条 movxa dptrmovxa rimovx dptr amovx ri a 32 2 3程序存储器数据传送指令 查表指令 2条 movca a pcmovca a dptr 33 如 movca a dptr 程序存储器 4000h dptr a 34h 30h 34h 4000h 30h 4030h 4030h 34 3 数据交换指令 3 1字节交换指令 3条 xcha rnxcha directxcha ri 35 3 2半字节交换指令 3条 xchda ri 36 4 栈操作指令 4 1进栈指令pushdirectsp加1 然后再将数据保存到堆栈中 4 2退栈指令popdirect先将堆栈中的数据弹出 然后sp再减1 37 三 算术运算指令mcs 51系列单片机的算术运算指令包括加 减 乘 除基本的四则运算 算术运算结果将使得进位标记cy 半进位标志ac 溢出位标志ov 这三种标志置位或复位 38 1 加法指令 1 1不带进位的加法指令 4条 adda rnadda directadda riadda data 注意 若有进位cy被置位 39 1 2带进位的加法指令 4条 addca rnaddca directaddca riaddca data 40 1 3加1指令 5条 incaincrnincdirectinc riincdptr 41 1 4十进制调整指令 1条 daa 42 2 减法指令 2 1带借位的加法指令 4条 subba rnsubba directsubba risubba data 43 2 2减1指令 4条 decadecrndecdirectdec ri 44 3 乘法指令 mulab 注意 低字节放在a中 高字节放在 中 45 4 除法指令 divab 注意 a b 商放在 中 余数放在 中 46 四 逻辑运算指令 1 累加器a的逻辑操作指令 7条 clra 清零指令 cpla 取反指令 rla 左环移指令 rlca 带进位左环移指令 d7 d0 cy d0 d7 47 rra 右环移指令 rrca 带进位右环移指令 swapa 累加器acc半字节交换指令 d7 d0 cy d0 d7 48 2 两个操作数的逻辑操作指令 2 1逻辑与指令 6条 anla rnanla directanla rianla dataanldirect aanldirect data 49 2 2逻辑或指令 6条 orla rnorla directorla riorla dataorldirect aorldirect data 50 2 3逻辑异或指令 6条 xrla rnxrla directxrla rixrla dataxrldirect axrldirect data 51 五 位操作指令 1 位变量传送指令 2条 movc bitmovbit c 52 2 位变量修改指令 6条 clrcclrbitcplccplbitsetbcsetbbit 53 3 位变量逻辑操作指令 3 1位变量逻辑与指令 2条 anlc bitanlc bit 54 3 2位变量逻辑或指令 2条 orlc bitorlc bit 55 五 控制转移指令 1 无条件转移指令 4条 ajmpaddr11 短跳转指令ljmpaddr16 长跳转指令sjmprel 相对转移指令jmp a dptr 基寄存器加变址寄存器间接转移指令 散转指令 56 2 条件转移指令 2 1测试条件符合转移指令 7条 jzreljnzreljcreljncreljbbit reljnbbit reljbcbit rel 57 2 2比较不相等指令 4条 cjnea direct relcjnea data relcjnern data relcjne ri data rel 58 2 3减1不为0转移指令 2条 djnzrn reldjnzdirect rel 59 3 调用和返回指令 3 1短调用指令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年金融分析师职业手册深度解析金融知识面试模拟题集
- 2025年机器人技术应用与管理试卷及答案
- 2025年全国基层产科医师培训项目专业理论考核历年参考题库含答案
- 2025年注册验船师资格考试(A级船舶检验专业实务)经典试题及答案一
- 2025年注册验船师资格考试(A级船舶检验专业案例分析)全真冲刺试题及答案二
- 北京市门头沟区2024-2025学年八年级上学期期末考试道德与法制试题及答案
- 北京市门头沟区2023-2024学年七年级下学期第一次月考道德与法制考试题目及答案
- 2025年陵园服务礼仪与沟通技巧面试题
- 2025年生态修复师中级考试模拟题答案
- 2025年环境工程师专业能力评估模拟题及解析
- 岗前安全培训课件
- 学前儿童融合教育
- 2025年新疆中考道德与法治试卷真题(含标准答案)
- 科技公司薪资管理制度
- 糖尿病患者围手术期麻醉管理
- 胃肠疾病预防与健康管理
- 2025年云南省中考英语试卷真题(含标准答案及解析)
- 2025年全国新高考英语II卷试题解析及复习备考策略(课件)
- 全球化背景下文化自信的传承与创新
- 合规监督概念课件
- 电力变压器智能数字孪生体的构建与展望
评论
0/150
提交评论