新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > C51單片機編程規范

        C51單片機編程規范

        作者: 時間:2012-08-12 來源:網絡 收藏

        1- 前言
          為了提高源程序的質量和可維護性,從而最終提高軟件產品生產力,特編寫此。

        本文引用地址:http://www.104case.com/article/171054.htm

        2 -范圍
          本標準規定了程序設計人員進行程序設計時必須遵循的規范。本規范主要針對語言和keil編譯器而言,包括排版、注釋、命名、變量使用、代碼可測性、程序效率、質量保證等內容。

        3 C51編程規范-總則
        l 格式清晰
        l 注釋簡明扼要
        l 命名規范易懂
        l 函數模塊化
        l 程序易讀易維護
        l 功能準確實現
        l 代碼空間效率和時間效率高
        l 適度的可擴展性

        4 單片機C51編程規范-數據類型定義
        編程時統一采用下述新類型名的方式定義數據類型。
        建立一個datatype.h文件,在該文件中進行如下定義:
        typedef bit BOOL; // 位變量 //
        typedef unsigned char INT8U; // 無符號8位整型變量 //
        typedef signed char INT8S; // 有符號8位整型變量 //
        typedef unsigned int INT16U; // 無符號16位整型變量 //
        typedef signed int INT16S; // 有符號16位整型變量 //
        typedef unsigned long INT32U; // 無符號32位整型變量 //
        typedef signed long INT32S; // 有符號32位整型變量 //
        typedef float FP32; // 單精度浮點數(32位長度) //
        typedef double FP64; // 雙精度浮點數(64位長度) //

        5 單片機C51編程規范-標識符命名

        5.1 命名基本原則
        l 命名要清晰明了,有明確含義,使用完整單詞或約定俗成的縮寫。通常,較短的單詞可通過去掉元音字母形成縮寫;較長的單詞可取單詞的頭幾個字母形成縮寫。即見名知意。
        l 命名風格要自始至終保持一致。
        l 命名中若使用特殊約定或縮寫,要有注釋說明。
        l 除了編譯開關/頭文件等特殊應用,應避免使用以下劃線開始和/或結尾的定義。
        l 同一軟件產品內模塊之間接口部分的標識符名稱之前加上模塊標識。

        5.2 宏和常量命名
        宏和常量用全部大寫字母來命名,詞與詞之間用下劃線分隔。對程序中用到的數字均應用有意義的枚舉或宏來代替。

        5.3 變量命名
        變量名用小寫字母命名,每個詞的第一個字母大寫。類型前綴(u8s8 etc.)全局變量另加前綴g_。
        局部變量應簡明扼要。局部循環體控制變量優先使用i、j、k等;局部長度變量優先使用len、num等;臨時中間變量優先使用temp、tmp等。

        5.4 函數命名
        函數名用小寫字母命名,每個詞的第一個字母大寫,并將模塊標識加在最前面。

        5.5 文件命名
        一個文件包含一類功能或一個模塊的所有函數,文件名稱應清楚表明其功能或性質。
        每個.c文件應該有一個同名的.h文件作為頭文件。

        6 單片機C51編程規范-注釋

        6.1 注釋基本原則
        l 有助于對程序的閱讀理解,說明程序在做什么,解釋代碼的目的、功能和采用的方法。
        l 一般情況源程序有效注釋量在30%左右。
        l 注釋語言必須準確、易懂、簡潔。
        l 邊寫代碼邊注釋,修改代碼同時修改相應的注釋,不再有用的注釋要刪除。

        6.2 文件注釋
        文件注釋必須說明文件名、函數功能、創建人、創建日期、版本信息等相關信息。
        修改文件代碼時,應在文件注釋中記錄修改日期、修改人員,并簡要說明此次修改的目的。所有修改記錄必須保持完整。
        文件注釋放在文件頂端,用/*……*/格式包含。
        注釋文本每行縮進4個空格;每個注釋文本分項名稱應對齊。
        /***********************************************************
        文件名稱:
        作 者:
        版 本:
        說 明:
        修改記錄:
        ***********************************************************/

        6.3 函數注釋
        6.3.1 函數頭部注釋
        函數頭部注釋應包括函數名稱、函數功能、入口參數、出口參數等內容。如有必要還可增加作者、創建日期、修改記錄(備注)等相關項目。
        函數頭部注釋放在每個函數的頂端,用/*……*/的格式包含。其中函數名稱應簡寫為FunctionName(),不加入、出口參數等信息。
        /***********************************************************
        函數名稱:
        函數功能:
        入口參數:
        出口參數:
        備 注:
        ***********************************************************/

        6.3.2 代碼注釋
        代碼注釋應與被注釋的代碼緊鄰,放在其上方或右方,不可放在下面。如放于上方則需與其上面的代碼用空行隔開。一般少量注釋應該添加在被注釋語句的行尾,一個函數內的多個注釋左對齊;較多注釋則應加在上方且注釋行與被注釋的語句左對齊。
        函數代碼注釋用//…//的格式。
        通常,分支語句(條件分支、循環語句等)必須編寫注釋。其程序塊結束行}的右方應加表明該程序塊結束的標記end of ……, 尤其在多重嵌套時。

        6.4 變量、常量、宏的注釋
        同一類型的標識符應集中定義,并在定義之前一行對其共性加以統一注釋。對單個標識符的注釋加在定義語句的行尾。
        全局變量一定要有詳細的注釋,包括其功能、取值范圍、哪些函數或過程存取它以及存取時的注意事項等。
        注釋用//…//的格式。

        7 單片機C51編程規范-函數

        7.1 設計原則
        函數的基本要求:
        l 正確性:程序要實現設計要求的功能。
        l 穩定性和安全性:程序運行穩定、可靠、安全。
        l 可測試性:程序便于測試和評價。
        l 規范/可讀性:程序書寫風格、命名規則等符合規范。
        l 擴展性:代碼為下一次升級擴展留有空間和接口。
        l 全局效率:軟件系統的整體效率高。
        l 局部效率:某個模塊/子模塊/函數的本身效率高。


        上一頁 1 2 3 下一頁

        關鍵詞: 規范 編程 單片機 C51

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 延寿县| 栖霞市| 宕昌县| 伊金霍洛旗| 台东县| 饶平县| 玉林市| 元江| 分宜县| 石泉县| 民权县| 北海市| 甘德县| 锡林浩特市| 涪陵区| 灵武市| 柯坪县| 兴义市| 南丹县| 布拖县| 泗水县| 邳州市| 庄河市| 芒康县| 玉林市| 永安市| 青河县| 南部县| 建瓯市| 丹凤县| 郯城县| 祁连县| 肥西县| 谢通门县| 会泽县| 高碑店市| 汕尾市| 旅游| 满城县| 樟树市| 都昌县|