编写高质量的单片机C程序.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§5 编写高质量的单片机C程序 收集于网络 高质量的单片机C程序代码运行效率高、可读性和可维护性强。在编写小型的单片机程 序时,代码质量的重要性可能不是很明显。但如果要编写较大规模的程序,特别是多人合作 编写程序时,这一点就变得十分重要了。本章内容以林锐的《高质量C++/C编程指南》为蓝 本,针对单片机编程的实际各部进行了大量删节和改写。 5.1 文件结构 每个单片机C程序通常分为两种文件。一个文件用于保存程序的声明(declaration), 称为头文件。另一个文件用于保存程序的实现(implementation),称为定义(definition) 文件。程序的头文件以“.h”为后缀,定义文件以“.c”为后缀。 5.1.1 版权和版本的声明 版权和版本的声明位于头文件和定义文件的开头(参见示例5.1),主要内容有: (1)版权信息。 (2)文件名称,标识符,摘要。 (3)当前版本号,作者/修改者,完成日期。 (4)版本历史信息。 /* * Copyright (c) 2001,上海贝尔有限公司网络应用事业部 * All rights reserved. * * 文件名称:filename.h * 文件标识:见配置管理计划书 * 摘 要:简要描述本文件的内容 * * 当前版本:1.1 * 作 者:输入作者(或修改者)名字 * 完成日期:2001年7月20日 * * 取代版本:1.0 * 原作者 :输入原作者(或修改者)名字 * 完成日期:2001年5月10日 */ 示例5.1 版权和版本的声明 5.1.2 头文件的结构 头文件由三部分内容组成: (1)头文件开头处的版权和版本声明(参见示例5.1)。 (2)预处理块。 (3)函数声明等。 假设头文件名称为 graphics.h,头文件的结构参见示例5.2。 【规则5-1-2-1】为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理 块。 【规则5-1-2-2】用 #include filename.h 格式来引用标准库的头文件(编译器将从标准 中国科学技术大学业余无线电协会64 51 单片机C 语言编程入门——Easy 51 Kit Pro 配套学习资料 库目录开始搜索)。 【规则5-1-2-3】用 #include “filename.h”格式来引用非标准库的头文件(编译器将从用户 的工作目录开始搜索)。 〖建议5-1-2-1〗头文件中只存放“声明”而不存放“定义”。 〖建议5-1-2-2〗不提倡使用全局变量,尽量少在头文件中出现象extern int value这类声明。 但是,全局变量是中断处理函数与外界程序进行数据交换的唯一途径,因此,几乎每一个单 片机程序都会定义全局变量。在单片机C程序中,全局变量使用的频率要比普通的C程序高, 但仍应遵守能不用全局变量的地方就不用全局变量的原则。 // 版权和版本声明见示例1-1,此处省略。 #ifndef GRAPHICS_H // 防止graphics.h被重复引用 #define GRAPHICS_H #include math.h // 引用标准库的头文件 #include “myheader.h” // 引用非标准库的头文件 void Function1(…); // 全局函数声明 #endif 示例5.2 C头文件的结构 5.1.3 定义文件的结构 定义文件有三部分内容: (1) 定义文件开头处的版权和版本声明(参见示例5.1)。 (2) 对一些头文件的引用。 (3) 程序的实现体(包括数据和代码)。 假设定义文件的名称为 graphics.c,定义文件的结构参见示例5.3。 // 版权和版本声明见示例5.1,此处省略。 #include “graphics.h” // 引用头文件 … // 全局函数的实现体 void Function1(…) { … } 示例5.3 C定义文件的结构 5.1.4 目录结构 如果一个程序的头文件数目比较多(如超过十个),通常应将头文件和定义文件分别保 存于不同的目录,以便于维护。 例如可以将头文件保存于include目录,将定义文件保存于source目录(可以是多级目 录)。 中国科学技术大学业余无线电协会65 51 单片机C 语言编程入门——Easy 51 Kit Pro 配套学习资料 5.2 程序的版式 版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序 风格的重要构成因素。 程序的版式好比为“书法”。好的“书法”可让人对程序一目了然,看得兴致勃勃。差 的程序“书法”如螃蟹爬行,让人看得索然无味,更令维护者烦恼有加。 5.2.1 空行 空行起着分隔程序段落的作用。空行得体(不过多也不过少)将

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档