PIC汇编编程规范
一、程序命名规范
程序文件名由两部分构成:一部分为产品型号或功能描述,一部分为软件版本号。产品型号用字母描述,可为英文或中文拼音。软件版本号为4位,前一位固定为字母”V”,后3位为数字,编写软件版本号应按照从小到大的顺序递增。开发阶段版本号从001开始;中试之后版本号从100开始。
例如:光电感烟探测器JTY-GD-G3程序 GDG3V001
电子差定温探测器JTW-ZCD-G3N程序 GWG3NV101
二、程序头格式
在每个文件的开始要有一个对该文件总体功能的描述,软件版本,以及作者及编写时间。采用模版统一格式。
1. 在功能描述中,除了对软件实现的功能做简要描述外,还应包括使用的单片机,晶振频率,以及主要I/O口实现的功能。
2. 如果程序升级时应增加如下说明。
1) 程序升级后的版本号:例如“版本号:Ver105”
2) 程序升级的修改作者:例如“更改人:×××”
3) 程序升级的修改日期:例如“更改日期:01 12 17”
4) 应对程序升级进行简单修改说明。
5) 应给出程序增加、更改、删除项说明,每项总处数。
1.
程序头如采用如下统一格式:
;****************
;* 文件名 *
;****************
;* 功能描述:
;* 软件版本
;* 开始编写—完成日期:
;* 作者:
三、子程序、标号及变量命名规则(推荐)
1.子程序及标号命名规则
子程序命名应使用相关含义英文。子程序入口标号应使用子程序名相关含义、常用的英语单词(拼音)或单词(拼音)缩写。如果一个英语单词表述不清,应使用多个英语单词缩写表示。程序里边的标号应与执行该分支功能相关含义、常用的英语单词(拼音)或单词(拼音)缩写,如果没有确切含义,应优先选用子程序入口标号前面字母缩写加两位序号。
2.变量命名规则
标志寄存器使用相关含义、常用的英语单词英文+ Flag;暂用寄存器使用:暂存对象英文缩写+Temp;计数寄存器使用暂存对象英文缩写+ Numb;其它寄存器:与存放对象相关含义、常用的英语单词(拼音)或单词(拼音)缩写。
3. 标志位命名规则
标志对象相关含义、常用的英语单词(拼音)缩写。
四、程序格式书写规范
汇编语言的格式为:
[标号] 指令助记符> [操作数] ;[注释]
编程时为了程序结构清楚,要求如下:
1. 四个部分之间以tab键分隔(tab键定义为8个空格),而不使用空格。
2. 对于相同的部分要求上下对齐。
3. 标号后必须跟冒号(:)
4. 虽然标号中的字母大小写表示不同的含义,但不允许用同样的字符定义两个不同的标号。
5. 操作数的第一个字母要求大写,其余字符小写;如果操作数为常量,要求第一个大写的字符为“C“。
6. 注释要求使用中文。
五.程序注释
A.变量及软件标志注释
对于标志寄存器、全局变量和关键的标志位应加注释,说明如下:
1. 变量注释:
l 写清变量在程序中起的作用
l 注明变化时刻。
l 当使用复用变量时,应注释变量生命周期。
l 程序升级所涉及到的变量的增加、改变或者删除。该变量的用途是什么?是否需要初始化? 注释应包括版本号。
2. 标志注释:
l 应分别说明逻辑0和逻辑1代表何种状态或功能
l 注明软件标志的变化时刻
l 如果程序通过判断该标志决定程序走向,应说明走向程序执行的功能。
l 当标志位发生变化时,应注释变化意义。当标志复用时,应标识标志的生命周期,用户关系。当程序升级增加或删除的变量时,该标志的意义是什么?是否需要初始化?注释应包括版本号。
六.程序编写规则
1.程序功能模块应相对独立。
2.有关联的模块应安排在ROM空间靠近的地方。
3.程序须翻页时,频繁调用的程序尽量安排在第一页,关联的模块应安排在同一页,不被常调用的程序尽量安排在第二页。
4.进入中断时,应保护中断现场。中断返回时应恢复中断现场。当中断有几个分支时,应分别中断返回
5.不允许在不同子程序之间互相跳转。
6.对于一个子程序或中断子程序,应避免程序执行不同的出口,如果可能,最好只有一个出口。
7.程序调用子程序层数不宜太多,调用语句与子程序返回语句应配对。当子程序有几个分支时,应分别子程序返回。
8.使用复用标志和寄存器时,应注意其生命周期,避免互相影响。
七.程序自动设置规定
为了规范PIC单片机设置位的烧写,特做如下补充规定:
1. 在编制程序时,在程序开始应明确所使用的单片机并调入相应头文件,同时编写设置位。如:
LIST P=16C73B ;明确使用的单片机
#include
__CONFIG _CP_OFF _WDT_ON _BODEN_ON _PWRTE_ON _XT_OSC
;设置为:代码保密 OFF,看门狗 ON,掉电检测 ON,上电延时ON,晶振 XT
八.汇编程序审核规范
在程序测试前,应进行审核。程序审核采用由编程者口头宣讲程序结构,讲解程序必要时软仿运行关
- dsPIC33F系列DSC的 SD存储卡接口设计(01-05)
- 基于dsPIC30F2010的土壤水分测量仪的设计研究(08-27)
- 基于AD7862和dsPIC30F的数据采集系统(08-25)
- 基于DSPIC30F4011单片机的CAN总线通信设计(02-08)
- PICCl8编译器命令行驱动及其应用(02-11)
- 基于dsPIC33F系列单片机的应用程序升级方法(04-03)