PIC单片机汇编编程规范.doc_第1页
PIC单片机汇编编程规范.doc_第2页
PIC单片机汇编编程规范.doc_第3页
PIC单片机汇编编程规范.doc_第4页
PIC单片机汇编编程规范.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PIC汇编编程及审核规范(V1.1)一、程序命名规范程序文件名由两部分构成:一部分为产品型号或功能描述,一部分为软件版本号。产品型号用字母描述,可为英文或中文拼音。软件版本号为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) 应给出程序增加、更改、删除项说明,每项总处数。3. 程序头如采用如下统一格式:;*;* 文件名 *;*;* 功能描述:;*软件版本;* 开始编写完成日期: ;* 作者:三、子程序、标号及变量命名规则(推荐) 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 当标志位发生变化时,应注释变化意义。当标志复用时,应标识标志的生命周期,用户关系。当程序升级增加或删除的变量时,该标志的意义是什么?是否需要初始化?注释应包括版本号。B子程序注释子程序前应加注释,注释应包括以下几个方面:功能说明、入口条件、出口信息、影响资源、执行时间。(根据实际情况可删减)1. 功能:说明该子程序的作用,如果该子程序内部有选择性执行功能,应分别说明在什么情况下完成什么功能。2. 入口条件:设计输入的参数说明。有的子程序不需要入口条件,如固定延时子程序。3. 出口信息:子程序执行完毕时留下的现场有用信息,这中间有运算结果的存放地址、存放格式、输出的特征格式(如出错信息)的存放地址和格式。4. 子程序调用:说明本子程序还要调用哪些低级子程序,将其标号一一列出。5. 影响资源:子程序在执行过程中,必然要动用若干寄存器或位单元,使它们的内容在子程序执行后有可能发生变化,这些寄存器或位单元即为受影响的资源,应一一列出。6. 执行时间:在一些实时控制系统中,对程序的运行速度有严格要求,这时应标明程序执行时间。当子程序有各种分支转移时,子程序的执行时间可能是不定的,这时应计算出最短执行时间和最长执行时间,并按概率统计的方法核算出平均执行时间。为主程序调整运行节奏提供参考数据。C程序分支、I/O注释1 如果程序执行GOTO、BTFSS、BTFSC、CALL语句,应注释执行程序分支的功能。2 相对独立的功能前面应注释实现功能的算法。3 关键I/O口变化,重要时序、定时,关键参数应加注释。D程序升级标识1)对于新增的程序语句,应该分别在其开始、结束位置注明与修改注释内容相对应的更改版本号的第几项内容的第几处。例如:movfwclassl ;从EEPROM中取出的灵敏度级别数(五位三进制)(Ver105,0701开始)该语句的文字注释内容的含义是:从该语句起为新增的内容程序升级Ver105中第7项修改内容所涉及的第1处。2) 对于更改(包括删除)的程序语句,应注明更改前及更改后的不同之处,如有必要还需注明更改的原因。例如:movlw.9;自校验数据由8种改为9种,增加灵敏度级别数的校验(更改内容Ver105,0901)该语句的文字注释内容的含义是:该语句为更改的内容更改前为8,更改后为9,更改的原因是增加灵敏度级别数的校验,同时还注明了该更改是程序升级Ver105中第9项修改内容所涉及的第1处。六程序编写规则1 程序功能模块应相对独立。2 有关联的模块应安排在ROM空间靠近的地方。3 程序须翻页时,频繁调用的程序尽量安排在第一页,关联的模块应安排在同一页,不被常调用的程序尽量安排在第二页。4 进入中断时,应保护中断现场。中断返回时应恢复中断现场。当中断有几个分支时,应分别中断返回5 不允许在不同子程序之间互相跳转。6 对于一个子程序或中断子程序,应避免程序执行不同的出口,如果可能,最好只有一个出口。7 程序调用子程序层数不宜太多,调用语句与子程序返回语句应配对。当子程序有几个分支时,应分别子程序返回。8 使用复用标志和寄存器时,应注意其生命周期,避免互相影响。七程序自动设置规定为了规范PIC单片机设置位的烧写,特做如下补充规定:1. 在编制程序时,在程序开始应明确所使用的单片机并调入相应头文件,同时编写设置位。如: LIST P=16C73B ;明确使用的单片机 #include ;调入PIC16C73B头文件_CONFIG _CP_OFF & _WDT_ON & _BODEN_ON & _PWRTE_ON & _XT_OSC;设置为:代码保密 OFF,看门狗 ON,掉电检测 ON,上电延时ON,晶振 XT八汇编程序审核规范 在程序测试前,应进行审核。程序审核采用由编程者口头宣讲程序结构,讲解程序必要时软仿运行关键程序的形式,审核主要内容如下:1 程序命名是否规范2 程序头格式是否规范3 程序变量命名是否规范4 程序格式书写是否规范5 程序注释是否规范6 程序编程是否符合规范7 对照程序流程图审核程序与流程图的符合性8 升级程序调试完毕后应按照更改标识恢复原文件与升级前的程序版本进行HEX文件的比较验证,应校验通过:9 重点仿真运行重要的时序、关键算法等程序。10 检查是否可以自动设置烧写位。汇编程序审核质量记录表程序名称程序版本号设计负责人提交日期审核负责人审核日期序号审核项目审核要素审核建议采取措施1程序头格式程序版本、作者、完成日期的规范性程序功能描述程序升级版本、作者、完成日期的规范性程序升级更改的说明2程序变量程序标志命名的规范性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论