PIC汇编语言程序设计基础.pptx
《PIC汇编语言程序设计基础.pptx》由会员分享,可在线阅读,更多相关《PIC汇编语言程序设计基础.pptx(65页珍藏版)》请在咨信网上搜索。
1、第四章 PIC汇编语言程序设计基础l简介简介人人 汇编语言汇编语言 机器语言机器语言 单片机单片机 源程序源程序 汇编器汇编器 目标程序目标程序第四章 PIC汇编语言程序设计基础l简介简介机器语言:用二进制代码表示的能为计算机直接识机器语言:用二进制代码表示的能为计算机直接识别和执行的指令的集合。别和执行的指令的集合。汇编语言:采用便于人们记忆的符号或者字符串来汇编语言:采用便于人们记忆的符号或者字符串来表示操作码、操作数和地址码的符号语言。表示操作码、操作数和地址码的符号语言。源程序:用汇编语言编写的程序。源程序:用汇编语言编写的程序。目标程序:由源程序翻译成的机器语言程序。目标程序:由源程
2、序翻译成的机器语言程序。第四章 PIC汇编语言程序设计基础lMPASMMPASM汇编器简介汇编器简介第四章 PIC汇编语言程序设计基础lMPASMMPASM汇编器简介汇编器简介MPASMMPASM汇编器是美国汇编器是美国MicrochipMicrochip公司为其单片机应用公司为其单片机应用者、开发者提供的一套语言工具软件。者、开发者提供的一套语言工具软件。功能:将汇编语言源程序翻译成机器语言目标程序功能:将汇编语言源程序翻译成机器语言目标程序代码。代码。检察源程序中的语法错误或格式错误。检察源程序中的语法错误或格式错误。第四章 PIC汇编语言程序设计基础l汇编语言的语句格式汇编语言的语句格式
3、第四章 PIC汇编语言程序设计基础l汇编语言的语句格式汇编语言的语句格式第四章 PIC汇编语言程序设计基础l汇编语言的语句格式汇编语言的语句格式对于对于PICPIC系列单片机,在编写源程序时必须依照所用汇编器的系列单片机,在编写源程序时必须依照所用汇编器的一些约定进行书写。例如使用一些约定进行书写。例如使用MicrochipMicrochip公司提供的公司提供的MPASMMPASM汇汇编器,汇编语言语句的一般格式由以下编器,汇编语言语句的一般格式由以下4 4个字段组成:个字段组成:标号标号 操作码(指令助记符)操作码(指令助记符)操作数操作数 ;注释;注释(labellabel)(opcode
4、opcode)(operandoperand)(commentcomment)这些字段不都是必需的,但其顺序是不能颠倒的;这些字段不都是必需的,但其顺序是不能颠倒的;标号必须从最左边第一列开始书写,其后至少用一个空格与标号必须从最左边第一列开始书写,其后至少用一个空格与操作码隔离;操作码隔离;在没有标号的语句中,指令操作码前面必须保留一个或一个在没有标号的语句中,指令操作码前面必须保留一个或一个以上的空格;以上的空格;第四章 PIC汇编语言程序设计基础l汇编语言的语句格式汇编语言的语句格式标号标号 操作码(指令助记符)操作码(指令助记符)操作数操作数 ;注释;注释(labellabel)(op
5、codeopcode)(operandoperand)(commentcomment)操作码与操作数之间也必须保留一个或一个以上的空格;操作码与操作数之间也必须保留一个或一个以上的空格;操作码后面如果跟随操作码后面如果跟随2 2个操作数的话,操作数之间必须用逗号个操作数的话,操作数之间必须用逗号(半角)隔开;(半角)隔开;在必要时可以加注释,注释可以跟在操作码、操作数或标号在必要时可以加注释,注释可以跟在操作码、操作数或标号之后,并用分号引导,甚至可以单独占用一行且可以从任何之后,并用分号引导,甚至可以单独占用一行且可以从任何一列开始。一列开始。汇编语言源程序既可以用大写字母书写,也可以用小写
6、字母汇编语言源程序既可以用大写字母书写,也可以用小写字母书写,还可以大写小写混用,以便于阅读。一个语句行最多书写,还可以大写小写混用,以便于阅读。一个语句行最多允许有允许有225225个(半角)字符。个(半角)字符。l汇编语言的语句格式汇编语言的语句格式标号标号用在指令助记符之前的标号就是该指令的符号地址,用在指令助记符之前的标号就是该指令的符号地址,在程序汇编时,它被赋以该指令在程序存储器中所存在程序汇编时,它被赋以该指令在程序存储器中所存放的具体地址。放的具体地址。并不是每一条语句都需要加标号,只有那些欲被其他并不是每一条语句都需要加标号,只有那些欲被其他语句引用的语句之前才需要加标号。语
7、句引用的语句之前才需要加标号。标号最多可以由标号最多可以由3232个字母、数字和其他一些字符组成,个字母、数字和其他一些字符组成,且第一个字符必须是字母或下划线且第一个字符必须是字母或下划线“”,标号不能用指令助记符、寄存器名称或其他在系统中标号不能用指令助记符、寄存器名称或其他在系统中已有固定用途的字符串(这些又称为系统保留字);已有固定用途的字符串(这些又称为系统保留字);一个标号在程序中只能定义一次。一个标号在程序中只能定义一次。标号必须从一行的第一列开始写,后面用空格、制表标号必须从一行的第一列开始写,后面用空格、制表符或换行符与操作码隔开;可以单独作为一行。符或换行符与操作码隔开;可
8、以单独作为一行。l汇编语言的语句格式汇编语言的语句格式操作码操作码这个字段不能是空的,操作码就是指令助记符,这个字段不能是空的,操作码就是指令助记符,它是指令功能名称的英文缩写,表示指令的操作它是指令功能名称的英文缩写,表示指令的操作类型和操作性质,是汇编语言语句中的关键词,类型和操作性质,是汇编语言语句中的关键词,因此不可缺省。因此不可缺省。指令操作码的助记符在汇编过程中,汇编器把它指令操作码的助记符在汇编过程中,汇编器把它与一个事先建立的操作码索引表进行逐一比较,与一个事先建立的操作码索引表进行逐一比较,找出相应的机器码,并且取而代之,所以这一汇找出相应的机器码,并且取而代之,所以这一汇编
9、过程又叫做代真。编过程又叫做代真。在其前面没有标号时,操作码前面至少保留一个在其前面没有标号时,操作码前面至少保留一个空格,即不能顶格书写,以便与标号区别,否则,空格,即不能顶格书写,以便与标号区别,否则,会被汇编器误认为是标号。会被汇编器误认为是标号。l汇编语言的语句格式汇编语言的语句格式操作数操作数该部分是操作对象,也就是数据或地址,可以用该部分是操作对象,也就是数据或地址,可以用数值形式或标号形式表示。数值形式或标号形式表示。数值可以是二进制、八进制、十进制、十六进制数值可以是二进制、八进制、十进制、十六进制数值或者数值或者 ASCllASCll字符值;字符值;标号可以是在此之前经过定义
10、或者赋值的代表数标号可以是在此之前经过定义或者赋值的代表数据或地址的标号或字符串。据或地址的标号或字符串。如果操作数有如果操作数有2 2个,中间应该用逗号分开。个,中间应该用逗号分开。MPASMMPASM的默认进制不是十进制,而是十六进制,的默认进制不是十进制,而是十六进制,这一点与许多其他单片机的汇编器不同,需要格这一点与许多其他单片机的汇编器不同,需要格外注意。外注意。操作数还可以是事先经过定义的符号以及表达式,操作数还可以是事先经过定义的符号以及表达式,若想进一步了解,请参考附录若想进一步了解,请参考附录C C。第四章 PIC汇编语言程序设计基础l汇编语言的语句格式汇编语言的语句格式十六
11、进制数由数字十六进制数由数字0 09 9和和字母字母A AF F组成。当在源程组成。当在源程序中采用后缀序中采用后缀“H H”表示一表示一个以个以A AF F打头的十六进制打头的十六进制数时,则必须在它的前面数时,则必须在它的前面增添一个增添一个“0 0”作为引导,作为引导,以便于汇编器将其与标号以便于汇编器将其与标号或符号名相区别。或符号名相区别。用字符代表的常数就是该用字符代表的常数就是该字符对应的字符对应的ASCllASCll码(即美码(即美国标准信息交换码,长度国标准信息交换码,长度为为7 7位,许多计算机原理书位,许多计算机原理书或高级语言程序设计书中或高级语言程序设计书中都能找到都
12、能找到 ASCllASCll表,也可表,也可以参考附录以参考附录I I)。)。第四章 PIC汇编语言程序设计基础l汇编语言的语句格式汇编语言的语句格式注释注释注释部分可有可无,但是最好养成附带注释的习惯。用来注释部分可有可无,但是最好养成附带注释的习惯。用来对程序作一些注解和说明,便于人们阅读、交流、修改和对程序作一些注解和说明,便于人们阅读、交流、修改和调试程序。调试程序。注释不是程序的功能部分,通常用分号(半角)引导或与注释不是程序的功能部分,通常用分号(半角)引导或与指令部分隔开,也可以单独书写为以分号(半角)开头的指令部分隔开,也可以单独书写为以分号(半角)开头的独立行,汇编器对该部分
13、不作任何处理。独立行,汇编器对该部分不作任何处理。加注释时,一般应该说明指令的作用和执行的条件,尤其加注释时,一般应该说明指令的作用和执行的条件,尤其要说明程序在做什么;在用到子程序时,要说明子程序的要说明程序在做什么;在用到子程序时,要说明子程序的入口条件和出口条件以及该程序完成的功能。入口条件和出口条件以及该程序完成的功能。第四章 PIC汇编语言程序设计基础l常用伪指令常用伪指令第四章 PIC汇编语言程序设计基础l常用伪指令常用伪指令汇编器能汇编器能“听得懂听得懂”的语言的语言伪指令。要让单片伪指令。要让单片机为我们服务,我们必须先学会它的语言机为我们服务,我们必须先学会它的语言指令指令系
14、统一样。系统一样。用来编写汇编语言源程序的语句,主要是指令助记用来编写汇编语言源程序的语句,主要是指令助记符(亦称指令性语句),其次就是伪指令(也叫指符(亦称指令性语句),其次就是伪指令(也叫指示性语句)。所谓伪指令就是示性语句)。所谓伪指令就是“假假”指令的意思,指令的意思,不是单片机的指令系统中的真实指令。不是单片机的指令系统中的真实指令。第四章 PIC汇编语言程序设计基础l常用伪指令常用伪指令一般格式也由一般格式也由4 4个字段组成:个字段组成:符号名符号名 伪指令助记符伪指令助记符 操作数操作数 ;注释;注释符号名通常是代表专用寄存器名、通用寄存器变量、符号名通常是代表专用寄存器名、通
15、用寄存器变量、常数名、标志位或控制位名、复位矢量或中断矢量常数名、标志位或控制位名、复位矢量或中断矢量的一个字符串。符号名应从一行的第一列开始书写,的一个字符串。符号名应从一行的第一列开始书写,其后至少保留一个空格与伪指令隔离,但是,不能其后至少保留一个空格与伪指令隔离,但是,不能像标号那样单独作为一行书写。像标号那样单独作为一行书写。与指令系统中的助记符不同,没有机器码与伪指令与指令系统中的助记符不同,没有机器码与伪指令对应,当源程序被汇编成目标程序时,目标程序中对应,当源程序被汇编成目标程序时,目标程序中并不出现这些伪指令的代码,它们仅在汇编过程中并不出现这些伪指令的代码,它们仅在汇编过程
16、中起作用。起作用。第四章 PIC汇编语言程序设计基础l常用伪指令常用伪指令伪指令是程序设计人员向汇编器发出的控制命令,伪指令是程序设计人员向汇编器发出的控制命令,告诉汇编器如何完成汇编过程和一些规定的操作,告诉汇编器如何完成汇编过程和一些规定的操作,以及控制汇编器的输入、输出和数据定位等。以及控制汇编器的输入、输出和数据定位等。对于对于MicrochipMicrochip公司为开发公司为开发PICPIC单片机提供的单片机提供的MPASMMPASM汇编器,可以使用的伪指令多达数十条,不过,初汇编器,可以使用的伪指令多达数十条,不过,初学者掌握以下几条最常用的伪指令即可满足一般编学者掌握以下几条最
17、常用的伪指令即可满足一般编程的需要(欲想深入了解更多的伪指令可以参考附程的需要(欲想深入了解更多的伪指令可以参考附录录C C)第四章 PIC汇编语言程序设计基础l常用伪指令常用伪指令1 1)EQUEQU符号名赋值伪指令符号名赋值伪指令格式:符号名格式:符号名 EQU nnEQU nn说明:使说明:使EQUEQU两端的值相等,即给符号名赋予一个两端的值相等,即给符号名赋予一个特定值,或者说是给符号名定义一个数值。特定值,或者说是给符号名定义一个数值。其中,其中,nnnn可以是一个长度不同的二进制数值(可以是一个长度不同的二进制数值(1 1位位的目标寄存器指示符的目标寄存器指示符d d的值、的值、
18、3 3位的标志位的位地址、位的标志位的位地址、7 7位的寄存器地址、位的寄存器地址、8 8位的数据常数、位的数据常数、1313位的复位或位的复位或中断矢量等)。中断矢量等)。一个符号名一旦由一个符号名一旦由EQUEQU赋值,其值就固定下来了,赋值,其值就固定下来了,不能再被重新赋值。不能再被重新赋值。第四章 PIC汇编语言程序设计基础l常用伪指令常用伪指令2 2)ORGORG程序起始地址定义指令程序起始地址定义指令格式:格式:ORG nnnn ORG nnnn 说明:用于指定该伪指令后面的源程序存放的起始说明:用于指定该伪指令后面的源程序存放的起始地址,也就是汇编后的机器码目标程序;在单片机地
19、址,也就是汇编后的机器码目标程序;在单片机的程序存储器中开始存放的首地址。其中的程序存储器中开始存放的首地址。其中nnnnnnnn是一是一个个1313位长的地址参数。位长的地址参数。第四章 PIC汇编语言程序设计基础l常用伪指令常用伪指令3 3)ENDEND程序结束伪指令程序结束伪指令格式:格式:ENDEND说明:该伪指令通知说明:该伪指令通知MPASMMPASM汇编器结束对源程序的汇编器结束对源程序的汇编。汇编。在一个源程序中必须要有并且只有一条在一个源程序中必须要有并且只有一条ENDEND指令,指令,放在整个程序的末尾。放在整个程序的末尾。第四章 PIC汇编语言程序设计基础l常用伪指令常用
20、伪指令4 4)LISTLIST列表选项伪指令列表选项伪指令格式:格式:LIST LIST 可选项,可选项,可选项,可选项,说明:用于设置汇编参数来控制汇编过程,或对打说明:用于设置汇编参数来控制汇编过程,或对打印输出的列表文件进行格式化。该伪指令的所有参印输出的列表文件进行格式化。该伪指令的所有参数都必须在一行内书写完成。参数种类共有数都必须在一行内书写完成。参数种类共有1010余种,余种,在此只介绍最常用的在此只介绍最常用的2 2种,即可满足初学者的基本种,即可满足初学者的基本需要:需要:P=P=设定单片机型号。例如设定单片机型号。例如P=16C84P=16C84或或P=16F877P=16
21、F877等。等。R R 。例如。例如R=DECR=DEC(十进(十进制);制);R=HEXR=HEX(十六进制)等。(十六进制)等。第四章 PIC汇编语言程序设计基础l常用伪指令常用伪指令5 5)INCLUDEINCLUDE:调入外部程序文件伪指令:调入外部程序文件伪指令格式:格式:INCLUDEINCLUDE“文件名文件名”说明:用来告知汇编器,将一个预先编写好的外部说明:用来告知汇编器,将一个预先编写好的外部程序文件包含进来,作为该源程序的一部分。这样程序文件包含进来,作为该源程序的一部分。这样可以减少重复劳动,提高编程效率。可以减少重复劳动,提高编程效率。调入的外部文件,通常是定义文件,
22、其中定义了单调入的外部文件,通常是定义文件,其中定义了单片机的复位矢量、专用寄存器的地址以及控制位和片机的复位矢量、专用寄存器的地址以及控制位和状态位的位地址等。状态位的位地址等。第四章 PIC汇编语言程序设计基础l程序格式和程序流程图程序格式和程序流程图第四章 PIC汇编语言程序设计基础l程序格式和程序流程图程序格式和程序流程图第四章 PIC汇编语言程序设计基础l程序格式和程序流程图程序格式和程序流程图第四章 PIC汇编语言程序设计基础l程序格式和程序流程图程序格式和程序流程图通常在编写程序之前,需要画程序流程通常在编写程序之前,需要画程序流程图。流程图是一种图形语言,它用各种图。流程图是一
23、种图形语言,它用各种图形符号来说明程序的执行过程。常常图形符号来说明程序的执行过程。常常采用的图形符号有以下几种:采用的图形符号有以下几种:(1 1)圆角矩形框)圆角矩形框端点框,表示一个程端点框,表示一个程序的开始或结束;序的开始或结束;(2 2)矩形框)矩形框任务框,表示要处理的任任务框,表示要处理的任务;务;(3 3)菱形框)菱形框判断框,表示要判断的因判断框,表示要判断的因素,判断结果将导致程序走入不同的分素,判断结果将导致程序走入不同的分支(菱形框也有时用两端带尖的条形框支(菱形框也有时用两端带尖的条形框代用);代用);(4 4)指向线)指向线带有箭头的线段,表示程带有箭头的线段,表
24、示程序的走向。序的走向。第四章 PIC汇编语言程序设计基础lRAMRAM数据存储器的体选寻址问题数据存储器的体选寻址问题PICPIC单片机面向字节操作和面向位操作的指令,其单片机面向字节操作和面向位操作的指令,其指令码中均包含一个指令码中均包含一个7 7位长的数据存储器单元地址位长的数据存储器单元地址F F。F F最多可以区分最多可以区分128128个存储器单元。个存储器单元。PIC16F87XPIC16F87X内部的内部的RAMRAM配置了配置了512512个单元的地址空间,个单元的地址空间,地址编码长度需要地址编码长度需要9 9位,从位,从000H000H到到1FFH1FFH(即(即000
25、000000B000000000B1111lllllB1111lllllB)。如果想用)。如果想用7 7位地址码位地址码(从(从00H00H到到 7FH7FH即即 0000000B0000000B1111111B1111111B)实现对)实现对512512个单元的寻址,就必须对长度为个单元的寻址,就必须对长度为512512的的RAMRAM均匀均匀划分为划分为4 4等份,每一等份称作一个体,按地址从小等份,每一等份称作一个体,按地址从小到大的顺序分别记为体到大的顺序分别记为体0 0、体、体1 1、体、体2 2和体和体3 3。lRAMRAM数据存储器的体选寻址问题数据存储器的体选寻址问题区分区分4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PIC 汇编语言 程序设计 基础
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。