pic单片机指令系统和汇编语言程序设计

pic单片机指令系统和汇编语言程序设计

ID:32400162

大小:39.00 KB

页数:4页

时间:2019-02-04

pic单片机指令系统和汇编语言程序设计_第1页
pic单片机指令系统和汇编语言程序设计_第2页
pic单片机指令系统和汇编语言程序设计_第3页
pic单片机指令系统和汇编语言程序设计_第4页
资源描述:

《pic单片机指令系统和汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第二章PIC单片机指令系统和汇编语言程序设计2.1指令系统概述2.1.1指令的表示方法1.机器指令的表示方法:指令用于规定计算机的基本操作。一台计算机所能执行的指令集合就是它的指令系统。指令共有两种表示方法,分别是机器语言表示方法和汇编语言表示方法。不同种类的单片机有不同的一套命令(即所谓“指令系统”)。2.汇编语言的表示方法:汇编语言是对机器语言的改进,它采用便于人们记忆的一些符号(例如简化的英文单词)来表示操作码、操作数和地址码等。通常把表示指令的符号称之为助记符。3.PIC16F87X单片机指令:PIC16F87X单片机采用精简指令集(RISC)结构,指令效率高,功

2、能强。它的指令为单字的宽字位(14)指令,由此生成的程序代码短。指令条数少,仅有35条。(1)面向字节操作类(2)面向位操作类(3)常数操作和控制类操作。2.1.2PIC单片机指令的寻址方式1.寄存器间接寻址:所谓寄存器间接寻址指的是通过寄存器F0、F4来实现。实际的寄存器地址放在F4的低5位中,通过F0来进行间接寻址。INDF不是物理上实际存在的寄存器,而任何寻址INDF的指令都是以FSR寄存器内容为地址的RAM单元中存放着参加运算或操作的数据。2.立即数寻址:所谓立即寻址就是操作数在指令中直接给出。通常把出现在指令中的操作数称之为立即数,因此就把这种寻址方式称之为立即

3、寻址。3.直接寻址:指令中操作数以其所在存储单元地址的形式给出,就称之为直接寻址。这种方式是对任何一寄存器直接寻址访问。4.位寻址:这种寻址方式是对寄存器中的任一位(bit)进行操作。2.1.3指令符号的意义说明1.PIC汇编语言指令格式PIC系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:标号 操作码助记符 操作数1,操作数2;注释2.指令符号的意义说明:在PIC系列单片机指令中常把数据存储器RAM当作寄存器来使用(处理)并用字母f(或F)表示。d代表操作数的目标选择,定义d=0,结果存入W;d=1结果存入(

4、文件)寄存器f,当使用汇编程序指令d缺省时,默认d=1。b代表(文件)寄存器(8位)的位地址(0~7取值)。如寄存器的8位为b7、b6……b1、b0,若b=1代表寄存器的第b1位。字母符号k代表立即数、常数和数据标号。2.2字节操作指令PIC16F87X系列单片机字节操作指令详解见下面表格2.3位操作指令PIC16F87X系列单片机位操作指令详解见下面表格2.4汇编语言程序设计2.4.1汇编语言程序设计知识1.汇编语言源程序的结构汇编语言提供了一种不涉及实际存储器地址和机器指令编码的编写源程序的有效方法。我们需要掌握的是:汇编语言的程序格式、语句格式、助记符、伪指令。程序

5、的4种基本结构:顺序、分支、循环和子程序。2.PIC汇编语言的程序流程图(1)程序流程图常用的图形符号圆角矩形框为起始/终止框,表示一个程序的开始或结束。矩形框为任务框,表示要处理的任务。菱形框为判断框,表示要判断的因素,判断结果将导致程序走入不同的分支。指向线为带有箭头的线段,表示程序的走向。(2)程序流程图的画法①顺序程序结构顺序程序结构在流程图中表示为任务框一个一个地串行连接。在计算机执行程序时表现为,从头至尾严格按照次序一条语句一条语句地顺序执行,并且每一条语句均被执行一遍。②分支程序流程图分支程序流程图包含1个判断框和两个或两个以上的出口。从而形成程序的2个或多

6、个分支.③循环程序流程图循环程序的结构包含以下4个组成部分:循环初始化部分:为循环程序作准备。如循环变量设置,即指定或定义一个循环变量作循环次数计数器或地址指针,并给它设置一个初始值。循环体:要求重复执行的程序段,即循环程序的主体部分。循环控制部分:循环控制就是根据循环结束条件,判断是否跳出循环。结束部分:对循环结果进行分析、处理和保存。2.4.2PIC汇编语言的伪指令用来编写汇编语言源程序的语句,主要是指令助记符,其次就是伪指令。所谓伪指令就是“假”指令的意思,不是单片机的指令系统中的真实指令。伪指令与指令系统中的助记符的不同之处是没有机器码与它对应。最常用的伪指令介绍

7、(1)INCLODE功能:读入外部源文件格式:INCLUDE<文件名>说明:用于把指定文件读入源程序中作为源程序代码的一部分。文件名必须用双引号或尖括号给出,如果被指定文件非当前工作目录下,则需要指令完整的路径。(2)EQU功能:对标号赋值格式:<标号>EQU<表达式>说明:使EQU两端的8位值相等,即给标号赋予一个特定值或者说是给标号定义一个数值。(3)#DEFINE功能:定义文本替换标号格式:#DEFINE<名字>[<字符串>]说明:用于定义文本替换标号,在汇编时把源代码中的<名字>替换成<字符串>。(4)ORG功能:存放

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。