IC单片机基础教程课件-第二章.ppt

上传人:牧羊曲112 文档编号:6508003 上传时间:2023-11-07 格式:PPT 页数:52 大小:798.50KB
返回 下载 相关 举报
IC单片机基础教程课件-第二章.ppt_第1页
第1页 / 共52页
IC单片机基础教程课件-第二章.ppt_第2页
第2页 / 共52页
IC单片机基础教程课件-第二章.ppt_第3页
第3页 / 共52页
IC单片机基础教程课件-第二章.ppt_第4页
第4页 / 共52页
IC单片机基础教程课件-第二章.ppt_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《IC单片机基础教程课件-第二章.ppt》由会员分享,可在线阅读,更多相关《IC单片机基础教程课件-第二章.ppt(52页珍藏版)》请在三一办公上搜索。

1、丁跃军 来清民等 编著,PIC单片机基础教程,第二章 PIC单片机指令系统和汇编语言程序设计,2.1指令系统概述,2.2字节操作指令,2.3位操作指令,2.4 简单程序设计,2.1 指令系统概述,2.1.1 指令的表示方法1机器指令的表示方法 指令用于规定计算机的基本操作。一台计算机所能执行的指令集合就是它的指令系统。指令共有两种表示方法,分别是机器语言表示方法和汇编语言表示方法。不同种类的单片机有不同的一套命令(即所谓“指令系统”)。,2.1 指令系统概述,2.1.1 指令的表示方法1机器指令的表示方法,2.1 指令系统概述,2.1.1 指令的表示方法2汇编语言的表示方法 汇编语言是对机器语

2、言的改进,它采用便于人们记忆的一些符号(例如简化的英文单词)来表示操作码、操作数和地址码等。通常把表示指令的符号称之为助记符。MOVF 20H,0;ANDLW0FHMOVWF21H,2.1 指令系统概述,2.1.1 指令的表示方法3.PIC16F87X单片机指令 PIC16F87X单片机采用精简指令集(RISC)结构,指令效率高,功能强。它的指令为单字的宽字位(14)指令,由此生成的程序代码短。指令条数少,仅有35条。(1)面向字节操作类(2)面向位操作类(3)常数操作和控制类操作。,2.1 指令系统概述,2.1.2 PIC单片机指令的寻址方式 1寄存器间接寻址 所谓寄存器间接寻址指的是通过寄

3、存器F0、F4来实现。实际的寄存器地址放在F4的低5位中,通过F0来进行间接寻址。INDF不是物理上实际存在的寄存器,而任何寻址INDF的指令都是以FSR寄存器内容为地址的RAM单元中存放着参加运算或操作的数据。,2.1 指令系统概述,2.1.2 PIC单片机指令的寻址方式 1寄存器间接寻址,2.1 指令系统概述,2.1.2 PIC单片机指令的寻址方式 2立即数寻址 所谓立即寻址就是操作数在指令中直接给出。通常把出现在指令中的操作数称之为立即数,因此就把这种寻址方式称之为立即寻址。,2.1 指令系统概述,2.1.2 PIC单片机指令的寻址方式 2立即数寻址,立即数寻址,2.1 指令系统概述,2

4、.1.2 PIC单片机指令的寻址方式 3直接寻址 指令中操作数以其所在存储单元地址的形式给出,就称之为直接寻址。这种方式是对任何一寄存器直接寻址访问。,2.1 指令系统概述,2.1.2 PIC单片机指令的寻址方式 3直接寻址,2.1 指令系统概述,2.1.2 PIC单片机指令的寻址方式 4位寻址 这种寻址方式是对寄存器中的任一位(bit)进行操作,2.1 指令系统概述,2.1.3 指令符号的意义说明1.PIC汇编语言指令格式 PIC系列微控制器汇编语言指令与MCS51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:标号操作码助记符操作数1,操作数2;注释,2.1 指令系

5、统概述,2.1.3 指令符号的意义说明2.指令符号的意义说明 在PIC系列单片机指令中常把数据存储器RAM当作寄存器来使用(处理)并用字母f(或F)表示。d 代表操作数的目标选择,定义d=0,结果存入W;d=1结果存入(文件)寄存器f,当使用汇编程序指令d缺省时,默认d=1。b代表(文件)寄存器(8位)的位地址(07取值)。如寄存器的8位为b7、b6b1、b0,若b=1代表寄存器的第b1位。字母符号k代表立即数、常数和数据标号。,2.2 字节操作 指令,PIC16F87X系列单片机字节操作 指令详解 见下面表格,2.3 位操作 指令,PIC16F87X系列单片机位操作 指令详解 见下面表格,2

6、.4 汇编语言程序设计,2.4.1 汇编语言程序设计知识1汇编语言源程序的结构 汇编语言提供了一种不涉及实际存储器地址和机器指令编码的编写源程序的有效方法。我们需要掌握的是:汇编语言的程序格式、语句格式、助记符、伪指令。程序的4种基本结构:顺序、分支、循环和子程序。,2.4 汇编语言程序设计,2.4 汇编语言程序设计2.4.1 汇编语言程序设计知识2PIC 汇编语言的程序流程图(1)程序流程图常用的图形符号 圆角矩形框为起始/终止框,表示一个程序的开始或结束。矩形框为任务框,表示要处理的任务。菱形框为判断框,表示要判断的因素,判断结果将导致程序走入不同的分支。指向线为带有箭头的线段,表示程序的

7、走向。,2.4 汇编语言程序设计,2.4 汇编语言程序设计2.4.1 汇编语言程序设计知识2PIC 汇编语言的程序流程图((2)程序流程图的画法顺序程序结构 顺序程序结构在流程图中表示为任务框一个一个地串行连接。在计算机执行程序时表现为,从头至尾严格按照次序一条语句一条语句地顺序执行,并且每一条语句均被执行一遍。,2.4 汇编语言程序设计,2.4 汇编语言程序设计2.4.1 汇编语言程序设计知识2PIC 汇编语言的程序流程图分支程序流程图 分支程序流程图包含1个判断框和两个或两个以上的出口。从而形成程序的2个或多个分支.,2.4 汇编语言程序设计,2.4 汇编语言程序设计2.4.1 汇编语言程

8、序设计知识2PIC 汇编语言的程序流程图循环程序流程图 循环程序的结构包含以下4个组成部分:循环初始化部分:为循环程序作准备。如循环变量设置,即指定或定义一个循环变量作循环次数计数器或地址指针,并给它设置一个初始值。,2.4 汇编语言程序设计,2.4 汇编语言程序设计2.4.1 汇编语言程序设计知识2PIC 汇编语言的程序流程图循环体:要求重复执行的程序段,即循环程序的主体部分。循环控制部分:循环控制就是根据循环结束条件,判断是否跳出循环。结束部分:对循环结果进行分析、处理和保存。,2.4 汇编语言程序设计,2.4 汇编语言程序设计2.4.2 PIC 汇编语言的伪指令 用来编写汇编语言源程序的

9、语句,主要是指令助记符,其次就是伪指令。所谓伪指令就是“假”指令的意思,不是单片机的指令系统中的真实指令。伪指令与指令系统中的助记符的不同之处是没有机器码与它对应。,2.4 汇编语言程序设计,2.4 汇编语言程序设计2.4.2 PIC 汇编语言的伪指令最常用的伪指令介绍(1)INCLODE 功能:读入外部源文件 格式:INCLUDE 说明:用于把指定文件读入源程序中作为源程序代码的一部分。文件名必须用双引号或尖括号给出,如果被指定文件非当前工作目录下,则需要指令完整的路径。,2.4 汇编语言程序设计,2.4 汇编语言程序设计2.4.2 PIC 汇编语言的伪指令最常用的伪指令介绍(2)EQU 功

10、能:对标号赋值格式:EQU 说明:使 EQU 两端的8位值相等,即给标号赋予一个特定值或者说是给标号定义一个数值。,2.4 汇编语言程序设计,2.4 汇编语言程序设计2.4.2 PIC 汇编语言的伪指令最常用的伪指令介绍(3)#DEFINE 功能:定义文本替换标号格式:#DEFINE说明:用于定义文本替换标号,在汇编时把源代码中的替换成。,2.4 汇编语言程序设计,2.4 汇编语言程序设计2.4.2 PIC 汇编语言的伪指令最常用的伪指令介绍(4)ORG 功能:存放程序单元的起始地址格式:标号 ORG 说明:用于指定该伪指令后面的源程序存放的起始地址,也就是汇编后的机器码目标程序在单片机的程序

11、存储器中开始存放的首地址。,2.4 汇编语言程序设计,2.4 汇编语言程序设计2.4.2 PIC 汇编语言的伪指令最常用的伪指令介绍(5)END 功能:程序结束伪指令格式:END 说明:这条伪指令通知汇编器 MPASM结束对源程序(.ASM)的汇编,即使在后面还有语句,也将不予继续汇编。,2.4 汇编语言程序设计,2.4.3 PIC 汇编语言程序设计基础1设置 I/O 口的输入/输出方向2检查寄存器是否为零 3.比较二个寄存器的大小,2.4 汇编语言程序设计,2.4.4 数据传送程序的设计 数据传送程序设计是最基本的程序设计,也是最常用的汇编程序设计。但是PIC单片机的数据传送程序和其他的单片

12、机不同,因为PIC单片机的数据存储器RAM分成4个存储区,所以对PIC单片机来说,设计数据传送程序时应该随时注意存储区的选择,否则数据传送达不到目的。,2.4 汇编语言程序设计,2.4.4 数据传送程序的设计【2-43】用直接寻址方式分别向4个存储区的0 x B0、0 x30、ox130、0 x1 B0传送数据。;选择存储区0,直接寻址单元0 xB0实际对应到0 x30单元CLRFSTATUSMOVLW0 xF0 MOVWF0 x30MOVLW0 x0FMOVWF0 xB0,2.4 汇编语言程序设计,;选择存储区1,直接寻址单元0 x30实际对应到0 xB0单元BSFSTATUS,RP0MOV

13、LW0 xF1MOWWF0 x30MOVLW0 x1FMOVWF0 xB0,2.4 汇编语言程序设计,2.4.5 算术逻辑运算程序的设计基本算术运算有:定点数、浮点数运算;无符号数、有符号数运算等。逻辑运算-逻辑运算包括:逻辑异或、逻辑与、逻辑或;1加法运算:二进制加法运算,可直接运用加法指令:ADDWF 或 ADDLW BCD加法运算,2.4 汇编语言程序设计,2.4.6 延时程序的设计1简单延时程序的编写 如果延时时间较短,可以让程序简单地连续执行几条空操作指令“NOP”。如果延时时间长,可以用循环来实现。2延时程序的延时时间计算 延时程序中计算指令执行的时间和即为延时时间。如果使用4MH

14、z振荡,则每个指令周期为1S。所以单周期指令时间为1S,双周期指令时间为2S。在上例的LOOP循环延时时间即为:(1+2)*100+2=302(S)。在循环中插入空操作指令即可延长延时时间。,2.4 汇编语言程序设计,2.4.7 查表程序 查表程序常用于数据补偿,非线性修正,求非函数和代码转换,这种方法就不需要计算,速度又快,而且实现容易。查表程序用得恰当可能,大大简化程序设计带极大方便。在单片微机中,要对程序存储器的数据进行访问,必须用读表操作。而PIC系列MCU没有查表指今,PIC的查表程序是利用子程序带值返回的特点来实现。具体是在主程序中先取表数据地址放入W,接着调用子程序,子程序的第一

15、条指令将W置入PC,则程序跳到数据地址的地方,再由“RETLW”指令将数据放入W返回到主程序。表格程序是通过一偏移量来修正PC值,由一条带参数返回指令实现。,2.4 汇编语言程序设计,2.4.8 子程序设计 在编程过程中,常常会遇到一些完全相同的计算和操作,例如求各种数据的加减乘除运算、代码转换和延时等。如果每次都编写完全相同的程序段,会使编程相当繁琐、耽误时间,而且浪费大量的程序存储器空间。因此,对这些基本操作功能都是将它编制成标准化的程序段,存储于程序存储器的指定区域,在每次需要时就调出使用,这种程序段就称为子程序,调用子程序的程序称为主程序或者调用程序。子程序结构是程序设计标准化和模块化

16、的有效方法。,2.4 汇编语言程序设计,2.4.9分支跳转子程序 经常需要根据条件判断,确定程序多方向转向选择,实现对程序的灵活控制。用PIC单片机指令可以轻松地构成分支跳转。在程序形式上,分支功能跳转子程序与数据查表子程序的结构类似,只是它是用GOTO语句替代了RETLW语句,并直接进入不同的子程序中。,本章小节,(1)基本概念指令:指挥计算机完成某个基本操作的命令。程序:完成一项任务所需的所有指令的有序集合。指令系统:一台计算机所能执行的指令集合就是它的指令系统。指令的表示方法:有机器语言表示方法和汇编语言表示方法。其中机器语言的指令是用二进制代码表示,汇编语言的指令是用助记符表示。(2)

17、PIC16F87X系列单片机的指令分类,本章小节,PIC16F87X单片机采用精简指令集(RISC)结构,指令效率高,功能强。它的指令为单字的宽字位(14)指令,由此生成的程序代码短。指令条数少,仅有35条。每条指令都由操作码和操作数组成,按指令的操作对象将指令分为面向字节操作类指令、面向位操作类指令、常数操作和控制操作类指令。(3)PIC汇编语言指令格式PIC系列微控制器每条汇编语言指令由4个部分组成,其书写格式如下:标号操作码助记符操作数1,操作数2;注释,本章小节,2、掌握PIC单片机指令的寻址方式PIC16F87X单片机寻址方式根据操作数的来源分为立即数寻址、直接寻址、寄存器间接寻址和

18、位寻址四种。3、熟记PIC16F87X单片机的35条指令助记符4、学会汇编语言程序设计,本章小节,(1)汇编语言程序流程图的基本结构顺序程序结构:从头至尾严格按照次序一条语句一条语句地顺序执行,且每一条语句均被执行一遍。分支程序流程图:一般包含一个判断框和两个或两个以上的出口。从而形成程序的2个或多个分支。循环程序流程图:对某一段程序重复执行多次。(2)PIC 汇编语言的伪指令伪指令是程序设计人员向汇编器发布的控制命令,告诉汇编器如何完成汇编过程和一些规定的操作,以及控制汇编器的输入、输出和数据定位等。,本章小节,(3)PIC汇编语言常用程序设计方法这是本章的重点,要在实验中反复联系,熟练掌握最基本的数据传送程序的设计、算术逻辑运算程序设计、延时程序的设计、查表程序设计和子程序设计。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号