这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » PIC单片机最常用的几种指令介绍

共2条 1/1 1 跳转至

PIC单片机最常用的几种指令介绍

高工
2008-03-19 17:54:06     打赏

源程序的编写主要就是
用这些基本的指令实现你的控制任务。但为了增加源程序的可读性和可维护性,我们引入了

伪指令的概念。伪指令本身不会产生可执行的汇编指令,但它们可以帮组“管理”你编写的

程序,其实用性和必要性绝不亚于 35 条正真的汇编指令。我们在此着重介绍最常用的几种

伪指令。


   #include 或 include

#include 伪指令的作用是把另外一个文件的内容全部包含复制到本伪指令所在的位置。

被包含复制的文件可以是任何形式的文本文件,当然文件中的内容和语法结构必须是

MPASM 能够识别的。最经常被“include”的是针对 PIC 单片机内部特殊功能寄存器定义的

包 含 头 文 件 , 在MPLAB安 装 后 它 们 全 部 放 在 路 径 “ C:\Program Files\MPLAB

IDE\MCHIP_Tools”下,每一个型号的 PIC 单片机都有一个对应的预定义包含头文件,扩展

名是“.inc”。除了一些符号预定义文件,你也可以把现有的其它程序文件作为一个代码模块

直接“包含”进来作为自己程序的一部分。见例 3-01。

#include                 ;把预定义的 PIC16F877A 寄存器符号包含到此处

#include ”math.asm”    ;把现有的程序文件包含进来作为自己代码的一部分

例 3-01

请注意被包含文件的引用方式。一种是<>尖括号引用,这种引用意味着让编译器去默

认的路径下寻找该文件,MPASM默认的寄存器预定义文件存放路径即为上面提及的

MPLAB 安装后的目录;另一种是””双引号引用,这种引用方式的意思是指示编译器从引号

中指定的全程文件路径下寻找该文件。例 3-01 中”math.asm”没有指定路径,即意味着在

当前项目路径下寻找 math.asm 文件。如果编译器找不到被包含的文件,将会有错误信息告

知。
 

请在你的源程序中尽量用 MPLAB 标准头文件定义的寄存器符号。一来这些被定义的寄

存器符号和芯片数据手册上的描述一一对应,理解起来即直观又容易;二来如果用你自己定

义符号就缺乏一个大家能一起交流的标准平台,其他人要解读你的代码时将费时费力。故例

3-01 中的首行#include 包含引用伪指令可以说是 PIC 单片机程序编写时的标准必备。

 




关键词: 单片机     最常     用的     几种     指令     介绍     文件    

高工
2008-03-19 17:55:02     打赏
2楼
list

list 伪指令可以设定程序编译时的一些信息,例如所选单片机的型号,编译时选择的缺

省数制等。例如:

list p=16f877a, r=DEC         ;单片机型号为 PIC16F877A,无特别指明的数字为十进制数

例 3-0

如果程序开发时使用项目管理的模式,则所有 list 伪指令可以描述的参数项都可以在项

目的设定选项中通过对话框的形式设定并保存。在此只需对 list 伪指令稍作了解即可。

   __config

此伪指令的重要作用是把芯片的配置字设定在源程序中,请参阅 2.5 节的详细说明。建

议大家尽量用此伪指令把芯片的配置字写在程序中。

 

   __idlocs

PIC 单片机中有一处非常特殊的标记单元。它独立于任何其它存储器,唯一的作用就是

作为一个标记。此标记值无法用软件读到,读取和写入的方法只有通过编程器实现。此标记

值没有读保护,你可以利用它存放程序的版本或日期等信息。如果需要,则可以用伪指令

__idloc 在程序中定义具体的值

__idloc 0x1234               ;设定芯片的标记值为 0x1234,注意前面有两个下划线符

例 3-03

和__config 伪指令定义的配置字一样,用__idloc  定义的芯片标记值在最后也会存放在

HEX 文件中,这就要求编程器能够解析它。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]