<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C51單片機(jī)編程規(guī)范

          C51單片機(jī)編程規(guī)范

          作者: 時(shí)間:2012-08-12 來源:網(wǎng)絡(luò) 收藏

          1- 前言
            為了提高源程序的質(zhì)量和可維護(hù)性,從而最終提高軟件產(chǎn)品生產(chǎn)力,特編寫此。

          本文引用地址:http://www.ex-cimer.com/article/171054.htm

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

          3 C51編程規(guī)范-總則
          l 格式清晰
          l 注釋簡明扼要
          l 命名規(guī)范易懂
          l 函數(shù)模塊化
          l 程序易讀易維護(hù)
          l 功能準(zhǔn)確實(shí)現(xiàn)
          l 代碼空間效率和時(shí)間效率高
          l 適度的可擴(kuò)展性

          4 單片機(jī)C51編程規(guī)范-數(shù)據(jù)類型定義
          編程時(shí)統(tǒng)一采用下述新類型名的方式定義數(shù)據(jù)類型。
          建立一個(gè)datatype.h文件,在該文件中進(jìn)行如下定義:
          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; // 單精度浮點(diǎn)數(shù)(32位長度) //
          typedef double FP64; // 雙精度浮點(diǎn)數(shù)(64位長度) //

          5 單片機(jī)C51編程規(guī)范-標(biāo)識符命名

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

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

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

          5.4 函數(shù)命名
          函數(shù)名用小寫字母命名,每個(gè)詞的第一個(gè)字母大寫,并將模塊標(biāo)識加在最前面。

          5.5 文件命名
          一個(gè)文件包含一類功能或一個(gè)模塊的所有函數(shù),文件名稱應(yīng)清楚表明其功能或性質(zhì)。
          每個(gè).c文件應(yīng)該有一個(gè)同名的.h文件作為頭文件。

          6 單片機(jī)C51編程規(guī)范-注釋

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

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

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

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

          6.4 變量、常量、宏的注釋
          同一類型的標(biāo)識符應(yīng)集中定義,并在定義之前一行對其共性加以統(tǒng)一注釋。對單個(gè)標(biāo)識符的注釋加在定義語句的行尾。
          全局變量一定要有詳細(xì)的注釋,包括其功能、取值范圍、哪些函數(shù)或過程存取它以及存取時(shí)的注意事項(xiàng)等。
          注釋用//…//的格式。

          7 單片機(jī)C51編程規(guī)范-函數(shù)

          7.1 設(shè)計(jì)原則
          函數(shù)的基本要求:
          l 正確性:程序要實(shí)現(xiàn)設(shè)計(jì)要求的功能。
          l 穩(wěn)定性和安全性:程序運(yùn)行穩(wěn)定、可靠、安全。
          l 可測試性:程序便于測試和評價(jià)。
          l 規(guī)范/可讀性:程序書寫風(fēng)格、命名規(guī)則等符合規(guī)范。
          l 擴(kuò)展性:代碼為下一次升級擴(kuò)展留有空間和接口。
          l 全局效率:軟件系統(tǒng)的整體效率高。
          l 局部效率:某個(gè)模塊/子模塊/函數(shù)的本身效率高。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 規(guī)范 編程 單片機(jī) C51

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();