新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51 Keil語句延遲時間的精確計算

        51 Keil語句延遲時間的精確計算

        作者: 時間:2016-11-20 來源:網絡 收藏
        一、軟件模擬運行速度與硬件對應

        我們首先要找到單片機的晶振為多大(一般在配套的使用說明書中有標識或者直接在實驗板上面看,實驗板上面標識的不是很明顯),如圖所示標識。

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


        Keil編譯器在編譯程序時,計算代碼執行時間跟此數值有關,我們要模擬時間就要使軟件模擬運行速度與實際硬件一一對應。STC89C52RC的晶振頻率由圖1.知其頻率為11.0592MHz。故我們需要在keil的project中的Option for target 選項中修改晶振頻率值:

        點擊OK按鈕,設置完畢。

        二、計算語句執行的時間

        1)點擊
        按鈕后可以看到兩個現象

        l 在main函數內的第一條帶操作性語句前有一個箭頭

        這表示程序要運行的下一條語句。

        l 程序運行箭頭所指向語句之前語句的時間為422.09us

        2)點擊 使運行箭頭所指向的一條語句

        點擊 按鈕過后,黃色箭頭的指向會朝向下一條,這個時候程序運行的時間就會發生變化:

        相應的箭頭指向的語句也會發生變化

        其中21-22行為注釋語句。

        所以我們就可以計算出執行led1 = 0這條語句的時間為:(423.18-422.09)us。

        三、總結

        知道每條(段)程序運行的時間過后我們就可以設置一段我們想要的時間段去控制軟件間歇的運行某些程序段。如使流水燈閃爍。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 舞阳县| 林甸县| 名山县| 朝阳区| 惠来县| 八宿县| 宝兴县| 盐城市| 广安市| 晋中市| 鹤庆县| 高台县| 泸溪县| 泸州市| 孝义市| 阿拉善右旗| 望都县| 漳州市| 鱼台县| 普定县| 富宁县| 镇宁| 红河县| 八宿县| 津市市| 汕尾市| 杨浦区| 包头市| 威信县| 上栗县| 留坝县| 嵊泗县| 嘉义市| 阳谷县| 青河县| 巢湖市| 高台县| 玛多县| 天津市| 汤阴县| 延津县|