您的位置:网站首页 > 电器维修资料网 > 正文 >
建立PIC单片机源程序必备的基本知识
来源: 日期:2013-11-16 22:08:22 人气:标签:
我们在建立pic单片机的源程序时,若操作数是常数,必须按下表的方式进行书写,否则汇编不会成功。
在书写源程序有关常数时,不一定选取表1中的一种(制式)数,应由源程序指令的功能,决定其应该使用的进制数。当pic单片机用作彩灯控制器或用发光二极管led作输出口的演示程序时,应选取二进制数给pic单片机输出口送数,这种二进制数 为直观。若用pic单片机制作定时器,因秒到分、分到时是60进制数,时到日是24小时进制数,此时,在设定源程序中的常数时,选取十进制数 为直观、物理意义 清楚、查找程序 方便。所以读者会看到,在今后介绍较长的实用源程序中,表达的常数往往是多种进制的。此外,在建立pic单片机的源程序时,常需进行简单的加、减运算,这时记住表2的二进制、十六进制和十进制数之间的关系,对计算十分有用。
在下表中,仅列出了十进制数的0~15,十六进制数的0~f和二进制数的0000~1111等相互间对应值的转换关系。因pic单片机内部的寄存器是8位的,所以给某个寄存器送数时, 多可送8位二进制数,其 大值为b’llllllll’;可送两位十六进制数,其 大值为oxff;可送3位十进制数,其 大值为255。
在实际应用中,两位十六进制数到十进制数的转换用的较多,其转换方法如下:
例1:oxbc对应的十进制数是多少?
解:oxbc转换成十进制数一b×16+c(转换),其中b、c是表2中的十六进制数b、c对应的十进制制数11和12,则
由实例计算可见,要将两位十六进制数转换成十进制数的方法是,只需从表2中,查出十六进制数的高位与十进制数的对应值,再乘16(16是十六进制数的“权”)、加其低位对应的十进制数即可。例如ox67转换成十进制数应为
由此可见,牢记上表十分重要。
在建立pic单片机源程序时,首先会用到伪指令。伪指令是用来给汇编程序提供汇编的控制功能、完成汇编程序作各种准备工作的。与汇编指令不同,它没有机器码(目标码)与其对应,所以仅在源程序的汇编过程中起一定作用。一旦汇编结束,伪指令的功能即告完成。但是,伪指令是建立pic单片机源程序不可缺少的组成部分,否则汇编不会成功。伪指令可分四类,现分别介绍如下:
(1)列表伪指令。实例:表达式list。功能,可作源程序中pic单片机的选项和控制其汇编过程。常用于源程序的起始列,如:
(2)数据伪指令。实例(a),表达式#include。功能,在mplab中调用系统指定的所有文件(若mplab的早期版本中,没有指令中需要的文件,则不能汇编)。如:
实例(b),表达式equ。功能,可作为标号赋值或选择pic单片机内部寄存器单元的地址,如
(3)控制伪指令。实例(a),表达式org。功能,可作pic单片机程序存放的起始地址和复位地址,
实例(b),表达式end。功能,程序结束指令。这条指令放在pic单片机源程序的结束行。若end之后还有语句,将被视为无效;若源程序结束无end,则汇编不会成功。
若小结上述列举的几条伪指令,可得出在建立pic单片机源程序时,必须按下述格式进行(这里以pic16f84为例)
【看看这篇文章在百度的收录情况】
相关文章
- 上一篇: 锂离子电池的优缺点介绍
- 下一篇: PIC单片机的指令和源程序