您当前的位置:五五电子网电子知识单片机-工控设备51单片机C51单片机编程规范 正文
C51单片机编程规范

C51单片机编程规范

点击数:7320 次   录入时间:03-04 12:04:03   整理:http://www.55dianzi.com   51单片机

    8 单片机C51编程规范-排版

    8.1 缩进

    代码的每一级均往右缩进4个空格的位置。

    8.2 分行

    过长的语句(超过80个字符)要分成多行书写;长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进适当的缩进,使排版整齐,语句可读。避免把注释插入分行中。

    8.3 空行

    l 文件注释区、头文件引用区、函数间应该有且只有一行空行。

    l 相邻函数之间应该有且只有一行空行。

    l 函数体内相对独立的程序块之间可以用一行空行或注释来分隔。

    l 函数注释和对应的函数体之间不应该有空行。

    l 文件末尾有且只有一行空行。

    8.4 空格

    l 函数语句尾部或者注释之后不能有空格。

    l 括号内侧(即左括号后面和右括号前面)不加空格,多重括号间不加空格。

    l 函数形参之间应该有且只有一个空格(形参逗号后面加空格)。

    l 同一行中定义的多个变量间应该有且只有一个空格(变量逗号后面加空格)。

    l 表达式中,若有多个操作符连写的情况,应使用空格对它们分隔:

    在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符前后均加一个空格;在两个以上的关键字、变量、常量进行非对等操作时,其前后均不应加空格;

    逗号只在后面加空格;

    双目操作符,如比较操作符, 赋值操作符"="、"+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位操作符"<<"、"^"等,前后均加一个空格;

    单目操作符,如"!"、"~"、"++"、"-"、"&"(地址运算符)等,前后不加空格;

    "->"、"."前后不加空格;

    if、for、while、switch等关键字与后面的括号间加一个空格;

    8.5 花括号

    l if、else if、else、for、while语句无论其执行体是一条语句还是多条语句都必须加花括号,且左右花括号各独占一行。

    l do{}while()结构中,"do"和"{"均各占一行,"}"和"while();"共同占用一行。

    if ( ) do

    { {

    } }while( );

    else

    {

    }



www.55dianzi.com

    8.6 switch语句

    l 每个case和其判据条件独占一行。

    l 每个case程序块需用break结束。特殊情况下需要从一个case块顺序执行到下一个case块的时候除外,但需要在交界处明确注释如此操作的原因,以防止出错。

    l case程序块之间空一行,且只空一行。

    l 每个case程序块的执行语句保持4个空格的缩进。

    l 一般情况下都应该包含default分支。

    Switch ( )

    {

    case x:

    break;

    case x:

    break;

    default:

    break;

    }

    9 单片机C51编程规范-程序结构

    9.1 基本要求

    l 有main()函数的.c文件应将main()放在最前面,并明确用void声明参数和返回值。

    l 对由多个.c文件组成的模块程序或完整监控程序,建立公共引用头文件,将需要引用的库头文件、标准寄存器定义头文件、自定义的头文件、全局变量等均包含在内,供每个文件引用。通常,标准函数库头文件采用尖角号< >标志文件名,自定义头文件采用双撇号″″标志文件名。

    l 每个.c文件有一个对应的.h文件,.c文件的注释之后首先定义一个唯一的文件标志宏,并在对应的.h文件中解析该标志。

    在.c文件中:

    #define FILE_FLAG

    在.h文件中:

    #ifdef FILE_FLAG

    #define XXX

    #else

    #define XXX extern

    #endif

    l 对于确定只被某个.c文件调用的定义可以单独列在一个头文件中、单独调用。

    9.2 可重入函数

    可重入函数中若使用了全局变量,应通过关中断、信号量等操作手段对其加以保护。

    9.3 函数的形参

    l 由函数调用者负责检查形参的合法性。

    l 尽量避免将形参作为工作变量使用。

    9.4 循环

    l 尽量减少循环嵌套层数

    l 在多重循环中,应将最忙的循环放在最内层

    l 循环体内工作量最小

    l 尽量避免循环体内含有判断语句



上一页  [1] [2] 


本文关键字:单片机编程  51单片机单片机-工控设备 - 51单片机