PIC03指令系统.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PIC03指令系统

第二章 指令系统 指令就是用来指挥CPU完成某一项基本操纵的命令,单片机能识别的全部指令的集合,称为单片机的指令系统或指令集。不同厂家的单片机,或者不同CPU内核的单片机,一般具有不同的指令系统。 §2.1 指令时序 时序是单片机中比较重要的技术之一,所谓“时序”就是“时间的次序”的意思,即单片机内部各部件操作的时间规范,这样才能步调一致,统一协调地工作。 任何计算机的时序都是由振荡电路控制的,当PIC单片机的OSC1和OSC2加上晶体振荡器以后,片内的振荡电路就会产生周期性的脉冲,这个脉冲称为“时钟脉冲”,时钟脉冲的频率和周期分别称为“时钟频率”和“时钟周期”,分别记为fOSC 和TOSC 。 单片机工作时,总是逐条地从ROM中取指令,然后逐条执行。计算机访问一次存储器的时间,称为一个“机器周期”,这是一个时间基准,好象我们用“秒”作为时间基准一样,而“指令周期”就是指执行一条指令所花费的时间,记为TCYC 。 下面我们讨论一下,PIC单片机系统中,指令周期TCYC和时钟周期TOSC之间的关系。 由时钟振荡器电路产生的时钟信号并不是直接作为PIC单片机的工作脉冲的,而是在片内经过一个1/4倍数的分频器,四分频后形成四个不重叠的方波,记为Q1~Q4。见下图: Q1~Q4也称为四个节拍,四个节拍组合一起构成了一个指令周期TCYC ,即一个指令周期包含了四个时钟周期TOSC 。 从图中可以看出,在一个指令周期内,PIC单片机要完成两部分的工作: 一是执行指令;二是从程序存储器取出下一条指令。 也即在同一个指令周期中,完成了当前指令的执行,同时取出了下一条待执行的指令。 以上的特点是很多其他类型的单片机所没有的特点。 这是因为PIC单片机采用了哈佛结构,使得程序存储器(存放指令)的访问和数据存储器(存放运算数据)的访问可以并行处理,构成了所谓的“指令流水线”结构,简称指令流。 从指令流中可以看出: 在PIC单片机中,一条指令的取指操作和译码执行操作,实际上是在两个指令周期内完成的。但是由于“指令流水线”的结构,使得每条指令的取指和执行过程平均只花费一个指令周期,除了个别跳转指令。因此人们习惯于说成,PIC单片机采用的是单周期指令。 §2.2 指令系统概览 PIC16F87X共有35条指令,均是长度为14位的单字节指令。在逐条讲解PIC单片机的指令之前,先介绍PIC指令集合中经常用到的一些符号以及含义。 W:表示工作寄存器,即累加器; F:表示文件寄存器RAM的单元地址,是7位的地址码; f:表示文件寄存器RAM的7位地址码F当中的一位地址; B:文件寄存器RAM是8位的,用B表示8位中的某一位,即位地址,0≤B≤7; b:表示文件寄存器RAM的位地址码B中的一位; K:表示8位常数或者表示11位地址常数; k:表示常数或地址码K当中的一位; d:表示目标寄存器:d=0,目标寄存器为W;d=1,目标寄存器为F; →:表示运算结果送入目标寄存器; ( ):表示存储器中的内容; ∧:代表逻辑“与”运算符; ∨:代表逻辑“或”运算符; :代表逻辑“异或”运算符 ; PIC单片机的指令从操作对象上分类,可以分成以下三类: 面向字节操作类(17条); 面向位操作类(4条); 面向常数操作和控制操作类(14条)。 以下将逐条介绍上述三种类型的指令。 §2.3 面向字节操作类指令 ⑴寄存器加法指令 格式:ADDWF F,d ; 功能:F寄存器内容和W寄存器内容相加,结果存入F(d=1)或W(d=0),即F+W→d 。 备注:会影响STATUS寄存器的C、DC和Z位。 例如: ①ADDWF 07H, 0 若执行指令前(W)=0x1,(07H)=0x2,则执行指令后(W)=0x3,(07H)=0x2。 ②ADDWF 00H, 1 因为00H表示INDF,因此这是间接寄存器寻址。 若执行指令前:(W)=0x17,(FSR)=0xC2,(0C2H)=0x20,则执行指令后(W)=0x17,(FSR)=0xC2,(0C2H)=0x37。 ⑵寄存器加1指令 格式:INCF F,d

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档