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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于微控制器的倒計(jì)時(shí)算法與實(shí)現(xiàn)

          基于微控制器的倒計(jì)時(shí)算法與實(shí)現(xiàn)

          作者: 時(shí)間:2011-02-15 來(lái)源:網(wǎng)絡(luò) 收藏

          1 引 言

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

            這里的就是計(jì)算出從當(dāng)前時(shí)間點(diǎn)需要經(jīng)過(guò)多長(zhǎng)時(shí)間才能到達(dá)目標(biāo)時(shí)間點(diǎn)。從另一個(gè)角度講, 就是計(jì)算出兩個(gè)時(shí)間點(diǎn)之間的時(shí)間差。

            目前, 系統(tǒng)正得到越來(lái)越廣泛的應(yīng)用。

            在體育比賽、公交系統(tǒng)乃至鐵路系統(tǒng)中出現(xiàn)了很多的時(shí)間顯示。就在前不久, 關(guān)于上海世博會(huì)的倒計(jì)時(shí)正式啟動(dòng), 其精度精確到天。

            在類似的應(yīng)用中, 大多數(shù)情況下, 倒計(jì)時(shí)功能(包括顯示功能)是由微的。微不同于桌面電腦或筆記本電腦, 其系統(tǒng)資源非常有限, 也不能安裝復(fù)雜的操作系統(tǒng), 沒(méi)有現(xiàn)成的倒計(jì)時(shí)系統(tǒng)可以應(yīng)用。下面將討論適合在微中運(yùn)行的倒計(jì)時(shí)。

            2 倒計(jì)時(shí)的兩種常用思路

            關(guān)于倒計(jì)時(shí)的計(jì)算主要有兩種思路: 一是針對(duì)時(shí)間段倒計(jì)時(shí), 二是針對(duì)目標(biāo)時(shí)間倒計(jì)時(shí)。

            ●針對(duì)時(shí)間段倒計(jì)時(shí)

            時(shí)間段的含義就是兩個(gè)時(shí)間點(diǎn)的時(shí)間差。對(duì)時(shí)間段倒計(jì)時(shí)就是先獲取兩個(gè)時(shí)間點(diǎn)之間的時(shí)間差,然后隨著運(yùn)行時(shí)間的增加對(duì)該時(shí)間差按運(yùn)行時(shí)間遞減, 直至遞減為0, 表示倒計(jì)時(shí)結(jié)束。

            例如, 微處理器對(duì)100天倒計(jì)時(shí)或者對(duì)100秒倒計(jì)時(shí), 都屬于對(duì)時(shí)間段倒計(jì)時(shí), 時(shí)間段分別是100天和100秒。當(dāng)然, 在實(shí)際計(jì)算時(shí), 最好先把天換算為秒, 再按運(yùn)行時(shí)間遞減。

            ●針對(duì)目標(biāo)時(shí)間倒計(jì)時(shí)

            該種思路與第一種思路最大的不同就是它獲取的不是時(shí)間差, 而是目標(biāo)時(shí)間, 微控制器須自行計(jì)算出當(dāng)前時(shí)間與目標(biāo)時(shí)間的時(shí)間差。在這種情況下,隨著當(dāng)前時(shí)間的改變, 微控制器必須反復(fù)計(jì)算與目標(biāo)時(shí)間的時(shí)間差, 直至差值為0。

            例如, 當(dāng)前時(shí)間是2009年5月10 日11點(diǎn)27分0秒, 微控制器獲取到目標(biāo)時(shí)間是2009年5月12日11點(diǎn)27分0秒, 則計(jì)算出當(dāng)前的時(shí)間差為2天。

            然后, 當(dāng)前時(shí)間一旦改變, 微控制器就必須重新計(jì)算時(shí)間差, 直到當(dāng)前時(shí)間到達(dá)或超過(guò)2009年5月12日11點(diǎn)27分0秒。

            ●兩種思路的比較

            ( 1)獲取的時(shí)間參數(shù)不同

            如前所述, 第一種思路獲取的是時(shí)間差, 第二種思路獲取的是目標(biāo)時(shí)間點(diǎn)。

            ( 2)采取的不同

            第一種思路的主要算法是按運(yùn)行時(shí)間對(duì)獲取的時(shí)間差進(jìn)行遞減運(yùn)算, 這實(shí)際是時(shí)間計(jì)時(shí)的逆運(yùn)算。

            該算法牽涉到減法運(yùn)算與天、小時(shí)、分鐘、秒的時(shí)間規(guī)則運(yùn)算。

            第二種思路的主要算法就是計(jì)算出兩個(gè)時(shí)間點(diǎn)之間的時(shí)間差。該算法不僅牽涉到時(shí)間規(guī)則運(yùn)算,還牽涉到閏年的概念與多種算術(shù)運(yùn)算, 比第一種思路的算法復(fù)雜許多。此外, 由于該算法需要微控制器能夠隨時(shí)獲取當(dāng)前的準(zhǔn)確時(shí)間, 因此要求微處理器必須具備實(shí)時(shí)時(shí)鐘功能。

            ( 3)應(yīng)用范圍與靈活性不同

            第一種思路的依靠對(duì)運(yùn)行時(shí)間的準(zhǔn)確把握。如果微控制器斷電或由于其它原因產(chǎn)生復(fù)位導(dǎo)致運(yùn)行中斷, 則從此刻起到下一次穩(wěn)定運(yùn)行時(shí)所經(jīng)過(guò)的時(shí)間無(wú)法掌控, 進(jìn)而導(dǎo)致倒計(jì)時(shí)運(yùn)算無(wú)法繼續(xù)運(yùn)行。因此, 該思路只適用于極短時(shí)間段的倒計(jì)時(shí)計(jì)算, 其可靠性與靈活性欠佳。

            第二種思路的需要兩點(diǎn): 一是斷電保護(hù)的實(shí)時(shí)時(shí)鐘功能, 這是為了微控制器能夠隨時(shí)讀取準(zhǔn)確時(shí)間; 二是非易失數(shù)據(jù)的存儲(chǔ)功能, 這是為了微控制器可以長(zhǎng)時(shí)間保存目標(biāo)時(shí)間。滿足了這兩點(diǎn)要求, 微控制器就能夠可靠地實(shí)現(xiàn)倒計(jì)時(shí)計(jì)算, 即使突然斷電或復(fù)位也不會(huì)受到影響。對(duì)于第一點(diǎn)要求,不管使用外置時(shí)鐘還是內(nèi)置時(shí)鐘, 只要配置電池就可以實(shí)現(xiàn)。對(duì)于第二點(diǎn)要求, 當(dāng)前的主流微控制器大都配置FLASH存儲(chǔ)功能, 也可以輕松滿足。

            可見(jiàn), 針對(duì)目標(biāo)時(shí)間的倒計(jì)時(shí)算法在可靠性與靈活性上極具優(yōu)勢(shì), 對(duì)微控制器的要求也不苛刻。

            下面就闡述該算法的實(shí)現(xiàn)環(huán)節(jié)。

            3 針對(duì)目標(biāo)時(shí)間點(diǎn)的倒計(jì)時(shí)算法實(shí)現(xiàn)

            如前所述, 該算法主要是計(jì)算當(dāng)前時(shí)間點(diǎn)與目標(biāo)時(shí)間點(diǎn)的時(shí)間差。具體思路就是先選擇一個(gè)參考時(shí)間點(diǎn), 然后分別計(jì)算出這兩個(gè)時(shí)間點(diǎn)與參考時(shí)間點(diǎn)之間的時(shí)間差, 再把這兩個(gè)時(shí)間差相減就得到這兩個(gè)時(shí)間點(diǎn)之間的時(shí)間差。

            下面分三部分描述該算法: 時(shí)間格式的建立; 計(jì)算時(shí)間點(diǎn)到參考時(shí)間點(diǎn)的時(shí)間差; 時(shí)間差相減算法。

            ( 1)時(shí)間格式的建立

            有兩種時(shí)間格式, 一是時(shí)間點(diǎn)的格式; 一是時(shí)間差的格式。時(shí)間點(diǎn)的格式按年月日時(shí)分秒排列, 其中年份為16位無(wú)符號(hào)整數(shù), 其余為8 位無(wú)符號(hào)整數(shù)。時(shí)間差格式按天時(shí)分秒排列, 天數(shù)為16位無(wú)符號(hào)整數(shù), 其余為8位無(wú)符號(hào)整數(shù)。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(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); })();