PIC单片机指令系统.ppt
《PIC单片机指令系统.ppt》由会员分享,可在线阅读,更多相关《PIC单片机指令系统.ppt(35页珍藏版)》请在三一办公上搜索。
1、PIC单片机指令系统,在第2章简要介绍PIC16F8系列单片机的基本结构基础上,如何基于硬件进行相关的程序设计是一重要的目标和任务,传统书籍通常从理论(包括数据类型、寻址方式等)到具体指令分类,再到详细分析,通常是比较抽象的讲述。本章直接从组成单片机指令的构造、组成单片机的源程序及机器码,到广泛的单片机指令集详解。回避了一些复杂抽象的问题,深入浅出。这一点对于初学者尤其重要。,3.1 PIC系列单片机源程序与机器码,3.1.1 PIC单片机指令构成 PIC单片机是由美国Microchip公司开发的8位单片机。PIC单片机采用指令总线和数据总线分开的哈佛双总线结构,避免了瓶颈现象。PIC单片机根
2、据指令长度的大小分为三类,基本型的指令长度为12位(编号PIC12CXX,16C5X)、中级型的指令长度为14位(编号PIC16C6X,16C7X,16F87X)、高级型的指令长度为16位(编号PIC17CXX,18CXX)。本书主要研究PIC16F8XX系列的单片机,其PIC系列单片机的指令均由14位长组成,全部指令有35条以上,但根据其内部结构可进行大的3个分类。图3.1示出其3大类指令。其3大类为(1)字节处理指令(2)Bit位处理指令(3)literal直定数处理指令。这样分类有利于软件开发者记忆和使用方便。以下对图3.1所示指令构造进行说明。,图3.1 PIC的指令构造分类,1首先,
3、指令均由14位构成。这种构成可使程序存储器一个地址就存储一条指令。通常这种指令也称为单字节指令。具有此特征的Microcomputer Chip通常也被称为RISC构造。2由程序计数器指定程序存储器的地址,读出指令,执行指令。在执行指令时,首先解读指令码,根据指令码判断指令的种类。3读出指令如属于(a)构造,即判断该指令是以演算为中心的指令。f指定寄存器的地址,所存数据作为被运算对象。另外指令中d代表指令执行后结果存储的场所。f具有7 位长,可指定地址范围可达128。在不足时,PIC通过Bank分类方式,使得指定范围可达1284.详细说明见PIC内存结构图。4读出指令如属于(b)构造,即判断该
4、指令属Bit位运算指令。是对f指定寄存器的数据的第b Bit位进行操作运算。存储数据的寄存器均为8 位长度,使用b为3位长即可对整个8 位进行运算。5读出指令如属于(c)构造,即判断该指令属literal直定数处理指令。常数k为演算对象。因k仅为8 位位长,k的大小仅限于8 位能表示的常数内。请注意,在执行跳转指令时,由于k为8 位位长,跳转范围仅在最大256内。跳转在256以上范围时,PIC采用了页分类功能来解决这个问题。具体详细说明见PIC内存结构图。,3.1.2 PIC指令书写方法 PIC单片机的指令一般采用下面的书写方法。PIC指令的基本原则是要简洁,阅读容易。一条指令可分为4个部分。
5、指令书写格式如下 Lable Mnemonic Operand Comment 1Lable Lable部分是从指令行的开头书写的记号。它通常作为跳转指令所指定的跳转目标地址。不必要时,可不书写。Lable部分必须由行头开始书写,内容可包含所有英文字母、数字等。Lable部分长度必须为32文字以下。字母大小写代表不同的Lable。也可设定编程环境,设置大小书写无区别。2Mnemonic Mnemonic部分就是要执行的指令的记号。书写编辑指令和指示指令必须从行头空一个Space以上。在有Lable部分时,必须在Lable后空一个Space以上或书写上(:),再书写指令。3Operand Ope
6、rand部分是指令所要处理,运算的对象,数据等。书写Operand时,必须在Mnemonic与Operand间留有一个以上Space。另外,在多个Operand的情况下,使用(,)来分离。Opearnd部分具有多种记号如下 d:指令执行后结果存储场所指定。d为0时,结果送入Wreg,d为1时寄存器 f:寄存器地址指定寄存器。k:常数.范围0 255 间。b:Bit位置指定。最低位0,最高位7。4CommentComment为注译部分。在(:)后的文字全为注译。在行头书写上(:)后整行均为注译部分。该部分可有可无,完全不影响程序的编译,指令的动作。仅为程序员记忆,阅读,理解方便所用。,3.1.3
7、源程序与机器码 在单片微机中,规定了一系列用于编写程序的语句和应该遵循的语法规则。人们根据一种语言给定的语句及语法规则就可以写出程序,计算机则通过执行已经编好的程序来完成人们要求它完成的各种功能。PIC单片机提供了一整套的指令系统。在PIC单片机通用的语言就是汇编语言。汇编语言和高级语言有较大的差别。汇编语言的语句与机器的种类和型号密切相关,而高级语言完成某种功能,只要算法正确,具体实施则相对自由。1)机器码 机器语言也可以称为机器码,机器语言是计算机可以直接执行的一条指令,这些指令以二进制代码的形式表示。要单片机完成一项基本任务,必须将任务分解成一些具体步骤,再要求它去逐项执行每个步骤,还要
8、对它下指令。该指令在单片机术语中称为“指令”(Instruction)。完成一项任务所需的所有指令的有序集合就称为“程序”(Programm)。这些指令要预先一条一条顺序地放到单片机的程序存贮器中,单片机在运行时,片中的CPU从程序存贮器中逐条有序取出指令,执行指令,并将有关指令执行完毕,即可完成既定任务。不同种类的单片机有不同的一套指令(即所谓“指令系统”)。PIC系列的单片机其指令系统与51系列的完全不同。PIC16F84有30余条指令构成的指令系统。每条指令由14位(bit)构成,这些位是二进制码的0和1,如果要使16F84端口B的B0位输出高电平,以点亮一只发光二极管LED,而B口的其
9、余各位仍保持低电平,则需要使单片机执行下列各条指令(机器码):1100000000000000000001100110110000000000010000001000011010100000000100,早先的技术人员就是用这样的二进制码来编写程序的。这种程序,看起来像天书,很费解,但它完全能指挥单片机的运作。因为单片机实际上是一种复杂的数字逻辑电路。要数字电路运作,必须相应输入高、低电平,对正逻辑而言,高电平为1,低电平为0。上述指令顺序在不同的数位上出现的0和1,经译码后,即可完成各种不同的运作,逐步完成单片机所要执行的任务,如点亮一个LED。上述各条指令的写法,完全面向单片机,是用来直接
10、指示单片机该如何运作的。因此,这种由0、1组成的指令称为机器语言。实际上,这种由二进码构成的指令集不但难读懂,而且用来编程也有困难。因为程序往往不是从头到尾顺序执行,有时还需中途转移到其它单元执行一段程序后再返回来。而指令是一条一条顺序存放在存贮器各个单元内的。因此,如果要转移,需指明具体转到哪个单元,即要写出该单元的地址。但在编写程序时,该程序有多长,具体要放到哪些单元中,都是未知数,又怎能具体指明要转到哪个单元呢?,2汇编语言 由于用机器语言会使程序难写、难读,后来一种新型的语言形式汇编语言就问世了。使用这种语言写程序较方便,也比较容易读懂。不过,和机器语言一样,不同类型的单片机有完全不同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PIC 单片机 指令系统
链接地址:https://www.31ppt.com/p-2344697.html