pic系列单片机常用伪指令&直接运算符&宏指令(详细整理版)

pic系列单片机常用伪指令&直接运算符&宏指令(详细整理版)

ID:29425476

大小:100.00 KB

页数:12页

时间:2018-12-19

pic系列单片机常用伪指令&直接运算符&宏指令(详细整理版)_第1页
pic系列单片机常用伪指令&直接运算符&宏指令(详细整理版)_第2页
pic系列单片机常用伪指令&直接运算符&宏指令(详细整理版)_第3页
pic系列单片机常用伪指令&直接运算符&宏指令(详细整理版)_第4页
pic系列单片机常用伪指令&直接运算符&宏指令(详细整理版)_第5页
资源描述:

《pic系列单片机常用伪指令&直接运算符&宏指令(详细整理版)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、WORD格式整理PIC单片机常用伪指令/直接运算符/宏指令我们在第一章中已经详细介绍了中档PIC单片机的35条指令,源程序的编写主要就是用这些基本的指令实现你的控制任务。但为了增加源程序的可读性和可维护性,我们引入了伪指令的概念。伪指令本身不会产生可执行的汇编指令,但它们可以帮组“管理”你编写的程序,其实用性和必要性绝不亚于35条正真的汇编指令。我们在着重介绍最常用的几种伪指令。常用伪指令:(#include/includeList__config#define/#undefineEqucblock/endcOrg__idlocs

2、end。。。。。。)常用直接运算符:(取当前指令的地址值:$取16位立即数的高低字节:high和low立即数逻辑运算:&

3、^加减乘除:+-*/移位运算:>>和<<)常用宏指令:(clrc/setcBankselpagesel。。。。。。)#include或include#include伪指令的作用是把另外一个文件的内容全部包含复制到本伪指令所在的位置。被包含复制的文件可以是任何形式的文本文件,当然文件中的内容和语法结构必须是MPASM能够识别的。最经常被“include”的是针对PIC单片机内部特殊功能寄存器定义的包含头文件,在M

4、PLAB安装后它们全部放在路径“C:ProgramFilesMPLABIDEMCHIP_Tools”下,每一个型号的PIC单片机都有一个对应的预定义包含头文件,扩展名是“.inc”。除了一些符号预定义文件,你也可以把现有的其它程序文件作为一个代码模块直接“包含”进来作为自己程序的一部分。#include;把预定义的PIC16F877A寄存器符号包含到此处#include”math.asm”;把现有的程序文件包含进来作为自己代码的一部分请注意被包含文件的引用方式。一种是<>尖括号引用,这种引用意味着

5、让编译器去默认的路径下寻找该文件,MPASM默认的寄存器预定义文件存放路径即为上面提及的MPLAB安装后的目录;另一种是””双引号引用,这种引用方式的意思是指示编译器从引号中指定的全程文件路径下寻找该文件。例3-01中”math.asm”没有指定路径,即意味着在当前项目路径下寻找math.asm文件。如果编译器找不到被包含的文件,将会有错误信息告知。请在你的源程序中尽量用MPLAB标准头文件定义的寄存器符号。一来这些被定义的寄存器符号和芯片数据手册上的描述一一对应,理解起来即直观又容易;二来如果用你自己定义符号就缺乏一个大家能一起

6、交流的标准平台,其他人要解读你的代码时将费时费力。故例中的首行#include包含引用伪指令可以说是PIC单片机程序编写时的标准必备。Listlist伪指令可以设定程序编译时的一些信息,例如所选单片机的型号,编译时选择的缺省数制等。例如:listp=16f877a,r=DEC;单片机型号为PIC16F877A,无特别指明的数字为十进制数如果程序开发时使用项目管理的模式,则所有list伪指令可以描述的参数项都可以在项目的设定选项中通过对话框的形式设定并保存。在此只需对list伪指令稍作了解即可。__config学习参考资料分享WOR

7、D格式整理此伪指令的重要作用是把芯片的配置字设定在源程序中,请参阅2.5节的详细说明。建议大家尽量用此伪指令把芯片的配置字写在程序中。#define/#undefine#define的作用是定义常数符号,即用一个符号变量替换另一个符号串或变量。被替换的可以是任意字母数字组成的符号但替换者本身不能是一个纯数字。例如:#defineDELAY_TIME1000;定义常数符号,即用DELAY_TIME符号代替1000#defineKEY1PORTB,7;用KEY1符号代替端口PORTB的第7引脚用#define伪指令定义符号后,可使程序

8、中的变量或指令变得更具实际意义,也使程序变得更易维护。指令“btfssPORTB,7”和“btfssKEY1”在事先用了例中的#define后编译的结果是一样的,但明显地后者看起来更容易理解,一看就知道这是在测试编号为KEY1的一个按键。而且如果你的硬件设计改动了KEY1所接的单片机引脚,只要改动这一处#define重新定义引脚位置,程序的其它部分无需任何修改,再编译一次即可得到更新后的软件代码。一个好的编程习惯是事先把一些代表实际意义的变量、单片机的输入输出引脚在硬件电路中的实际功能等用#define伪指令定义成简单直观的符号名

9、字,然后在程序中直接用其符号名字而不用简单机械的数字形式。替换的工作由编译器在编译时自动完成。它会先扫描你的源程序代码,把事先#define的符号名改回成被替换的字符串,然后再继续编译生产机器码。Equequ顾名思义是“等于”的意思,其作用和#de

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

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

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