關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于微控制器的倒計時算法與實現

        基于微控制器的倒計時算法與實現

        作者: 時間:2011-02-15 來源:網絡 收藏

          下面對圖3的代碼逐條分析。

          圖3- 1 就是按時間規則進行時間借位。其實質是小時單位向天數單位借1天, 增加24小時; 分鐘單位向小時單位借1小時, 增加60分鐘; 秒單位向分鐘單位借1分鐘, 增加60秒。

          圖3- 2是時間差相減。注意, 因為天數差被借走一天, 所以要減1。

          圖3- 3 是根據計算結果進行進位補償。因為經過借位, 相減的結果有可能超過時間單位的上限,此時就要按時間規則進位。

          請注意, 圖3代碼是以天數為最高時間單位的借位計算, 可以根據實際需要把最大的時間單位設為小時或分鐘。

          在實際的時間差相減計算中, 為了避免負值的出現, 應先從天數開始對兩個時間差的時間單位比較數值大小, 其結果按三種情況處理。

          ( 1)若當前時間點的時間單位超過目標時間點的時間單位, 表明結束。

          ( 2)若兩個時間單位相同, 當時間單位為秒時,表明結束, 否則進入次一級時間單位的判斷。

          ( 3)若當前時間點的時間單位小于目標時間點的時間單位, 則視此時間單位為最高時間單位, 進行借位相減計算。

          由此, 即可計算出兩個時間點的精確時間差。



        圖3 時間差借位相減參考代碼。

          4 結束語

          在上面的介紹中, 先討論了的兩種,再擇優對其中一種進行了詳細的闡述。該已在實際項目中獲得應用, 其計時準確, 工作穩定。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 陈巴尔虎旗| 新沂市| 万山特区| 阿勒泰市| 玉溪市| 禹城市| 故城县| 永德县| 连云港市| 静乐县| 铜陵市| 桂林市| 昌宁县| 涿州市| 博爱县| 镇雄县| 丰宁| 元朗区| 桃园市| 商都县| 隆化县| 罗城| 达日县| 吴忠市| 眉山市| 合肥市| 阳高县| 黔南| 盐边县| 临泉县| 峨山| 宁强县| 醴陵市| 沁水县| 新乡市| 安岳县| 富蕴县| 铜山县| 贵州省| 赤城县| 泗阳县|