新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC匯編編程規范

        PIC匯編編程規范

        作者: 時間:2013-05-04 來源:網絡 收藏

        2. 標志注釋:

        l 應分別說明邏輯0和邏輯1代表何種狀態或功能

        l 注明軟件標志的變化時刻

        l 如果程序通過判斷該標志決定程序走向,應說明走向程序執行的功能。

        l 當標志位發生變化時,應注釋變化意義。當標志復用時,應標識標志的生命周期,用戶關系。當程序升級增加或刪除的變量時,該標志的意義是什么?是否需要初始化?注釋應包括版本號。

        六.程序編寫規則

        1.程序功能模塊應相對獨立。

        2.有關聯的模塊應安排在ROM空間靠近的地方。

        3.程序須翻頁時,頻繁調用的程序盡量安排在第一頁,關聯的模塊應安排在同一頁,不被常調用的程序盡量安排在第二頁。

        4.進入中斷時,應保護中斷現場。中斷返回時應恢復中斷現場。當中斷有幾個分支時,應分別中斷返回

        5.不允許在不同子程序之間互相跳轉。

        6.對于一個子程序或中斷子程序,應避免程序執行不同的出口,如果可能,最好只有一個出口。

        7.程序調用子程序層數不宜太多,調用語句與子程序返回語句應配對。當子程序有幾個分支時,應分別子程序返回。

        8.使用復用標志和寄存器時,應注意其生命周期,避免互相影響。

        七.程序自動設置規定

        為了單片機設置位的燒寫,特做如下補充規定:

        1. 在編制程序時,在程序開始應明確所使用的單片機并調入相應頭文件,同時編寫設置位。如:

        LIST P=16C73B ;明確使用的單片機

        #include ;調入16C73B頭文件

        __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. 檢查是否可以自動設置燒寫位。

        B.子程序注釋

        子程序前應加注釋,注釋應包括以下幾個方面:功能說明、入口條件、出口信息、影響資源、執行時間。(根據實際情況可刪減)

        1. 功能:說明該子程序的作用,如果該子程序內部有選擇性執行功能,應分別說明在什么情況下完成什么功能。

        2. 入口條件:設計輸入的參數說明。有的子程序不需要入口條件,如固定延時子程序。

        3. 出口信息:子程序執行完畢時留下的現場有用信息,這中間有運算結果的存放地址、存放格式、輸出的特征格式(如出錯信息)的存放地址和格式。

        4. 子程序調用:說明本子程序還要調用哪些低級子程序,將其標號一一列出。

        5. 影響資源:子程序在執行過程中,必然要動用若干寄存器或位單元,使它們的內容在子程序執行后有可能發生變化,這些寄存器或位單元即為受影響的資源,應一一列出。

        6. 執行時間:在一些實時控制系統中,對程序的運行速度有嚴格要求,這時應標明程序執行時間。當子程序有各種分支轉移時,子程序的執行時間可能是不定的,這時應計算出最短執行時間和最長執行時間,并按概率統計的方法核算出平均執行時間。為主程序調整運行節奏提供參考數據。

        C.程序分支、I/O注釋

        1.如果程序執行GOTO、BTFSS、BTFSC、CALL語句,應注釋執行程序分支的功能。

        2.相對獨立的功能前面應注釋實現功能的算法。

        3.關鍵I/O口變化,重要時序、定時,關鍵參數應加注釋。

        D.程序升級標識

        1)對于新增的程序語句,應該分別在其開始、結束位置注明與修改注釋內容相對應的更改版本號的第幾項內容的第幾處。例如:

        movfw classl ;從EEPROM中取出的靈敏度級別數(五位三進制)(Ver105,0701開始)

        該語句的文字注釋內容的含義是:從該語句起為新增的內容——程序升級Ver105中第7項修改內容所涉及的第1處。

        2) 對于更改(包括刪除)的程序語句,應注明更改前及更改后的不同之處,如有必要還需注明更改的原因。例如:

        movlw .9 ;自校驗數據由8種改為9種,增加靈敏度級別數的校驗(更改內容Ver105,0901)

        該語句的文字注釋內容的含義是:該語句為更改的內容——更改前為8,更改后為9,更改的原因是增加靈敏度級別數的校驗,同時還注明了該更改是程序升級Ver105中第9項修改內容所涉及的第1處。

        晶振相關文章:晶振原理

        上一頁 1 2 下一頁

        關鍵詞: PIC 匯編編程 規范

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 香格里拉县| 肃北| 盐城市| 错那县| 囊谦县| 美姑县| 遵义县| 盈江县| 北安市| 永济市| 高要市| 临颍县| 鱼台县| 沙洋县| 洪江市| 治县。| 含山县| 富裕县| 平顺县| 喀喇| 成都市| 仁寿县| 威信县| 武夷山市| 枣阳市| 通城县| 临桂县| 蓬莱市| 宕昌县| 天门市| 澳门| 乌兰察布市| 临邑县| 鄂尔多斯市| 湾仔区| 新乡市| 苗栗市| 桃园市| 灵山县| 玛纳斯县| 迁安市|