欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分段累加計時方法及裝置與流程

文檔序號:12464448閱讀:601來源:國知局
一種分段累加計時方法及裝置與流程

本發(fā)明涉及一種分段累加計時方法及裝置,尤其涉及一種采用分段累加秒計數(shù)的32位時間表示方法及裝置,屬于信息計數(shù)領(lǐng)域。



背景技術(shù):

通常的時間表示需要年月日,并根據(jù)精度需求表示時分秒。用數(shù)字較直觀的是直接表示,如數(shù)字20141208表示2014年12月8日,及133559表示13點(diǎn)35分59秒,包括二進(jìn)制的分段表示均如此。其優(yōu)點(diǎn)是觀看直接明了。缺點(diǎn)之一是占位較長,即表達(dá)一個完整的時間需要較長的數(shù)據(jù)位元,如數(shù)字20141208,其占位32位(比特),采用BCD編碼每4比特表示一個十進(jìn)制數(shù)值,8個數(shù)值占位32比特。缺點(diǎn)之二是產(chǎn)生這樣的日期與時間流不是直接對應(yīng)的,原因是分鐘、秒為60進(jìn)制,甚至還有閏秒,而月是12進(jìn)制,日期更復(fù)雜,不同的月份里的天數(shù)并不相同,甚至還有閏月(2月為29天)。使得直接表示在產(chǎn)生時間的應(yīng)用中并不方便和經(jīng)濟(jì)。

現(xiàn)有技術(shù)在方便性、經(jīng)濟(jì)型和兼容性方面分別存在以下缺點(diǎn):

方便性:只是時間表示的數(shù)值較容易,但時間的產(chǎn)生較為復(fù)雜,要兼顧不同的進(jìn)制及月歷的復(fù)雜性。

經(jīng)濟(jì)性:表達(dá)方式占位少,以減少存貯所需的存儲空間,時間傳輸?shù)拈_銷或代價,表達(dá)時間的位數(shù)越少,則經(jīng)濟(jì)型越高。

兼容性:目前計算機(jī)內(nèi)存、外存均已字節(jié)為單位,常用的包括8位、16位、32位等,如果一個時間表達(dá)采用了33位,實(shí)際存儲就不那么經(jīng)濟(jì),多數(shù)情況下要占用5個字節(jié)甚至為方便需要64位保存或傳輸。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是一種解決現(xiàn)有技術(shù)中計時方法的時間的產(chǎn)生較為復(fù)雜,并要兼顧不同的進(jìn)制及月歷的復(fù)雜性的問題。

本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:提供一種分段累加計時方法,包括:

步驟1:前段計數(shù)器接收秒脈沖,根據(jù)累加的秒脈沖達(dá)到預(yù)設(shè)值時產(chǎn)生進(jìn)位信號;所述前段計數(shù)器用于存儲根據(jù)秒脈沖累加得到的所有數(shù)據(jù);

步驟2:后段計數(shù)器接收進(jìn)位信號,將所述進(jìn)位信號與后段計數(shù)器內(nèi)存儲的數(shù)據(jù)進(jìn)行累加;所述后段計數(shù)器用于存儲根據(jù)進(jìn)位信號累加得到的所有數(shù)據(jù)。

在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下具體規(guī)定。

進(jìn)一步,所述預(yù)設(shè)值包括預(yù)設(shè)閏秒值和預(yù)設(shè)最大值;所述預(yù)設(shè)閏秒值與所述預(yù)設(shè)最大值的差為一。

進(jìn)一步,所述前段計數(shù)器采用N位計數(shù)器,其中N為不大于32的整數(shù)值;所述后段計數(shù)器為M位計數(shù)器,其中M和N的和為32。

進(jìn)一步,所述N為0時,秒脈沖等于進(jìn)位信號,所述后段計數(shù)器為32位計數(shù)器;

進(jìn)一步,所述N不為0時,所述前段計數(shù)器包括至少兩個子段,所有所述子段的長度之和為N。

進(jìn)一步,所述子段包括第一子段和第二子段;

所述第一子段接收秒脈沖,根據(jù)累加的秒脈沖達(dá)到第一預(yù)設(shè)值時產(chǎn)生第一子進(jìn)位信號;

所述第二子段接收所述第一子進(jìn)位信號并進(jìn)行累加,根據(jù)累加的第一子進(jìn)位信號達(dá)到第二預(yù)設(shè)值時產(chǎn)生進(jìn)位信號,執(zhí)行步驟2。

進(jìn)一步,所述子段包括第一子段、第二子段和第三子段;

所述第一子段接收秒脈沖,根據(jù)累加的秒脈沖達(dá)到第一預(yù)設(shè)值時產(chǎn)生第一子進(jìn)位信號;

所述第二子段接收所述第一子進(jìn)位信號并進(jìn)行累加,根據(jù)累加的第一子進(jìn)位信號達(dá)到第二預(yù)設(shè)值時產(chǎn)生第二子進(jìn)位信號;

所述第三子段接收所述第二子進(jìn)位信號并進(jìn)行累加,根據(jù)累加的第二子進(jìn)位信號達(dá)到第三預(yù)設(shè)值時產(chǎn)生后段進(jìn)位信號;執(zhí)行步驟2。

進(jìn)一步,所述前段計數(shù)器和后段計數(shù)器都采用單向累加計數(shù)器。

本發(fā)明針對上述技術(shù)問題還提供一種分段累加計時裝置,包括:

前段計數(shù)器,用于接收秒脈沖,根據(jù)累加的秒脈沖達(dá)到預(yù)設(shè)值時產(chǎn)生進(jìn)位信號;所述前段計數(shù)器用于存儲根據(jù)秒脈沖累加得到的所有數(shù)據(jù);

后段計數(shù)器,用于接收進(jìn)位信號,將所述進(jìn)位信號與后段計數(shù)器內(nèi)存儲的數(shù)據(jù)進(jìn)行累加;所述后段計數(shù)器用于存儲根據(jù)進(jìn)位信號累加得到的所有數(shù)據(jù)。

采用分段累加計時方法及裝置,由前段計數(shù)器和后段計數(shù)器組成。所述計數(shù)器為可預(yù)置的的單向二進(jìn)制累加計數(shù)器。前段計數(shù)器為N位計數(shù)器,N根據(jù)不同需求設(shè)定具體數(shù)值,且N為不大于32的整數(shù)值。后段計數(shù)器為32-N位計數(shù)器。前段計數(shù)器與后段計數(shù)器的計數(shù)值所共同組成32位數(shù)值,即為裝置當(dāng)前時間值,該時間值可通過計算轉(zhuǎn)換為常見的數(shù)據(jù)格式。

本發(fā)明的有益效果是:本發(fā)明提出的方法,采用分段累加秒計數(shù)表示的32位時間表示方法及裝置,提供一種兼顧普通分段表示的方便之處,同時又避免了常用分段同時表達(dá)日期和時間時,32位長度不夠的問題的32位時間表示方法及裝置,且時間產(chǎn)生簡單,僅使用多個計數(shù)器即相應(yīng)的邏輯單元即可實(shí)現(xiàn)。同時具備累加方式的表達(dá)時間長久及分段式的直觀和適應(yīng)多種不同應(yīng)用場景的優(yōu)點(diǎn)。同時,實(shí)現(xiàn)起來簡單易行,特別適合采用簡單硬件及低端單片機(jī)的實(shí)現(xiàn)。同時本方法還很好地解決了閏秒的表示,即閏秒發(fā)生時,仍然可以正確地表達(dá)出來,而不是簡單地停鐘一秒。

所述前段計數(shù)器是一種秒脈沖(1PPS)的特殊計數(shù)器,其長度為N位二進(jìn)制長度(0≤N≤32)。后段計數(shù)器是一種以前段進(jìn)位信號為計數(shù)單位,且長度為M=32-N位可預(yù)置初始值的普通二進(jìn)制計數(shù)器。

所述前段計數(shù)器和所述后段計數(shù)器共同組成一個32位寄存器,該32位寄存器的內(nèi)容就是32位長度的時間表示。

附圖說明

圖1為本發(fā)明分段累加計時方法的一個實(shí)施例的流程圖;

圖2為本發(fā)明分段累加計時裝置的一個實(shí)施例的結(jié)構(gòu)示意圖。

附圖中,各標(biāo)號所代表的部件列表如下:

1、前段計數(shù)器,2、后段計數(shù)器。

具體實(shí)施方式

以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。

圖1為本發(fā)明分段累加計時方法的一個實(shí)施例的流程圖,如圖1所示,包括:

步驟1:前段計數(shù)器接收秒脈沖,根據(jù)累加的秒脈沖達(dá)到預(yù)設(shè)值時產(chǎn)生進(jìn)位信號;所述前段計數(shù)器用于存儲根據(jù)秒脈沖累加得到的所有數(shù)據(jù);

步驟2:后段計數(shù)器接收進(jìn)位信號,將所述進(jìn)位信號與后段計數(shù)器內(nèi)存儲的數(shù)據(jù)進(jìn)行累加;所述后段計數(shù)器用于存儲根據(jù)進(jìn)位信號累加得到的所有數(shù)據(jù)。

在上述一個實(shí)施例的基礎(chǔ)上,所述預(yù)設(shè)值包括預(yù)設(shè)閏秒值和預(yù)設(shè)最大值;所述預(yù)設(shè)閏秒值與所述預(yù)設(shè)最大值的差為一。

其中預(yù)設(shè)閏秒值對應(yīng)時間存在閏秒的情況,此時一分鐘包括61秒,而正常情況一分鐘包括60秒,因此預(yù)設(shè)潤秒只與所述預(yù)設(shè)最大值的差為一。

本發(fā)明另一實(shí)施例中,在上述實(shí)施例的基礎(chǔ)上,所述前段計數(shù)器采用N位計數(shù)器,其中N為不大于32的整數(shù)值;所述后段計數(shù)器為M位計數(shù)器,其中M和N的和為32。

上述另一實(shí)施例中存在幾種情況,

第一種,所述N為0時,前段計數(shù)器就是一根短路線,秒脈沖等于進(jìn)位信號,所述后段計數(shù)器為32位計數(shù)器。

第二種,所述N不為0時,包括以下三種情況:

(1)前段計數(shù)器為一個6位計數(shù)器,后段計數(shù)器為一個26位計數(shù)器。在此情況下,前段計數(shù)器為秒計數(shù)器,其內(nèi)容為當(dāng)前時間的秒數(shù)值。后段計數(shù)器為分鐘累計值A(chǔ)M(Accumulated Minutes)。主要步驟為:

秒脈沖1PPS到來時,前段計數(shù)器進(jìn)行數(shù)據(jù)累加,每次加1。當(dāng)前段計數(shù)器數(shù)值到達(dá)60或61秒產(chǎn)生進(jìn)位信號,即:整分鐘時刻產(chǎn)生進(jìn)位信號,后段計數(shù)器加1。其中進(jìn)位信號是60還是61取決于當(dāng)前秒時刻是否是閏秒。發(fā)生閏秒時刻為61,否則為60。

該實(shí)施例實(shí)現(xiàn)的有益效果是,由于前段計數(shù)器為秒計數(shù)器,且計數(shù)器內(nèi)容就是當(dāng)前時間的秒數(shù)值而無須再轉(zhuǎn)換即可使用,因而能夠直觀的了解時間表達(dá)中的秒數(shù)值。這對于僅需要秒時刻進(jìn)行定時或操作的裝置使用起來更為方便。且支持閏秒的時刻表達(dá)。

(2)前段計數(shù)器為一個12位計數(shù)器,后段計數(shù)器為一個20位計數(shù)器。在此情況下,前段計數(shù)器為秒計數(shù)器,后段計數(shù)器為小時累計值A(chǔ)H(Accumulated Hours)。主要步驟為:

秒脈沖到來時,前段計數(shù)器進(jìn)行數(shù)據(jù)累加,每次加1。當(dāng)前段計數(shù)器的計數(shù)器數(shù)值到達(dá)3600或3601秒時,產(chǎn)生進(jìn)位信號,即:整小時時刻產(chǎn)生進(jìn)位信號,后段計數(shù)器加1。其中進(jìn)位信號是3600還是3601取決于當(dāng)前秒時刻是否是閏秒。發(fā)生閏秒時刻為3601,否則為3600。

在前段計數(shù)器為12位計數(shù)器時,上述12位前段計數(shù)器內(nèi)容還可以做如下改善,其主要內(nèi)容為:

前段計數(shù)器為一個12位計數(shù)器,內(nèi)容分為兩個子段,即第一子段秒6位計數(shù)器和第二子段分6位計數(shù)器,后段計數(shù)器為一個20位計數(shù)器。所述第一子段接收秒脈沖,根據(jù)累加的秒脈沖達(dá)到第一預(yù)設(shè)值時產(chǎn)生第一子進(jìn)位信號;所述第二子段接收所述第一子進(jìn)位信號并進(jìn)行累加,根據(jù)累加的第一子進(jìn)位信號達(dá)到第二預(yù)設(shè)值時產(chǎn)生進(jìn)位信號,執(zhí)行步驟2。

在此情況下,前段計數(shù)器為別為秒計數(shù)器和分計數(shù)器,其內(nèi)容為當(dāng)前時間的秒數(shù)值和分鐘數(shù)值。后段計數(shù)器不變,仍為小時累計值A(chǔ)H(Accumulated Hours)。具體實(shí)施過程包括:

秒脈沖到來時,前段計數(shù)器進(jìn)行數(shù)據(jù)累加,每次加1。當(dāng)前段計數(shù)器中第一子段,即6位秒計數(shù)器數(shù)值到達(dá)60或61秒時,秒計數(shù)器清零并同時產(chǎn)生內(nèi)部進(jìn)位信號,使得第二子段的分位計數(shù)器值加1,當(dāng)?shù)诙佣?位分計數(shù)值到達(dá)60時,秒計數(shù)器和分計數(shù)器兩個子段同時清零,并產(chǎn)生前段計數(shù)器的進(jìn)位信號,即:整小時時刻產(chǎn)生進(jìn)位信號,后段計數(shù)器加1。其中第一個子段的進(jìn)位信號是60還是61取決于當(dāng)前秒時刻是否是閏秒。發(fā)生閏秒時刻為61,否則為60。

該實(shí)施例實(shí)現(xiàn)的有益效果是,由于前段計數(shù)器的兩個6位子段的二進(jìn)制數(shù)內(nèi)容分別為當(dāng)前時間的分鐘和秒數(shù)值,因而能夠直觀的得到時間表達(dá)中的分、秒數(shù)值,而不必再通過轉(zhuǎn)換或計算。這對于僅需要分及秒信息進(jìn)行定時或操作的裝置使用起來更為方便。且支持閏秒的時刻表達(dá)。

(3)前段計數(shù)器為一個17位計數(shù)器,后段計數(shù)器為一個15位計數(shù)器。在此情況下,前段計數(shù)器為秒計數(shù)器,后段計數(shù)器為日累計值A(chǔ)D(Accumulated Days)。

具體實(shí)施過程包括:

秒脈沖到來時,前段計數(shù)器進(jìn)行數(shù)據(jù)累加,每次加1。當(dāng)前段計數(shù)器的計數(shù)器數(shù)值到達(dá)86400或86401秒時,產(chǎn)生進(jìn)位信號,即:每天零點(diǎn)整時刻產(chǎn)生進(jìn)位信號,后段計數(shù)器加1。其中進(jìn)位信號是86400還是86401取決于當(dāng)前秒時刻是否是閏秒。發(fā)生閏秒時刻為86401,否則為86400。

本實(shí)施例中還可以將上述17位前段計數(shù)器內(nèi)容還可以做如下改進(jìn),將所述前段計數(shù)器分為第一子段、第二子段和第三子段三個子段;

所述第一子段接收秒脈沖,根據(jù)累加的秒脈沖達(dá)到第一預(yù)設(shè)值時產(chǎn)生第一子進(jìn)位信號;

所述第二子段接收所述第一子進(jìn)位信號并進(jìn)行累加,根據(jù)累加的第一子進(jìn)位信號達(dá)到第二預(yù)設(shè)值時產(chǎn)生第二子進(jìn)位信號;

所述第三子段接收所述第二子進(jìn)位信號并進(jìn)行累加,根據(jù)累加的第二子進(jìn)位信號達(dá)到第三預(yù)設(shè)值時產(chǎn)生后段進(jìn)位信號;執(zhí)行步驟2。

在具體實(shí)施例時:前段計數(shù)器為一個17位計數(shù)器,內(nèi)容分為三個子段,分別第一子段(6位秒計數(shù)器)、第二子段(6位分計數(shù)器)和第三子段(5位時計數(shù)器)。后段計數(shù)器為一個15位計數(shù)器,為天累加計數(shù)器。在此情況下,前段計數(shù)器的三個子段分別為時計數(shù)器、分計數(shù)器和秒計數(shù)器,其內(nèi)容為當(dāng)前時間的小時數(shù)值、分鐘數(shù)值和秒數(shù)值。后段計數(shù)器不變,仍為天累計值A(chǔ)D。

當(dāng)秒脈沖到來時,前段計數(shù)器中的第一子段的6位秒計數(shù)器進(jìn)行數(shù)據(jù)累加,每次加1。當(dāng)前段計數(shù)器中第一個子段的6位秒計數(shù)器數(shù)值到達(dá)60或61秒時,秒計數(shù)器清零,同時第二個子段的6位分計數(shù)器加1,當(dāng)分計數(shù)值到達(dá)60時,分計數(shù)器清零,同時第三個子段的時計數(shù)器加1。當(dāng)時計數(shù)器為60時,時計數(shù)器清零,并產(chǎn)生進(jìn)位信號,后段計數(shù)器加1。其中進(jìn)位信號是60還是61取決于當(dāng)前秒時刻是否是閏秒。發(fā)生閏秒時刻為61,否則為60。

該實(shí)施例實(shí)現(xiàn)的有益效果是,由于前段17位計數(shù)器的時5位計數(shù)器、分6位計數(shù)器和秒6位計數(shù)器內(nèi)容分別為當(dāng)前時間的小時、分鐘和秒數(shù)值,因而能夠直觀的了解時間表達(dá)中的時、分、秒數(shù)值。這對于僅需要時、分、秒信息而不關(guān)心日期信息進(jìn)行定時或操作的裝置使用起來更為方便。且支持閏秒的時刻表達(dá)。

綜合上述幾個實(shí)施例,本技術(shù)方案還可以進(jìn)一步改善,以更好地支持不同應(yīng)用情況,具體包括:

前段計數(shù)器是一個可預(yù)先設(shè)置的邏輯部件,除包括N位計數(shù)器功能外,可以達(dá)到如下功能:

1.前段計數(shù)器可根據(jù)預(yù)先設(shè)定,如:長度為6位,12位和17位;

2.在前段計數(shù)器長度確定的情況下,可確定前段計數(shù)器的內(nèi)部子段,并確定子段間的進(jìn)位規(guī)則,具體為:

A1.12位長度的前段計數(shù)器,可分為兩個子段,均為6位計數(shù)器,并規(guī)定當(dāng)?shù)谝粋€子段的計數(shù)器置到達(dá)60或61時,計數(shù)器值清零,并產(chǎn)生進(jìn)位脈沖;

A2.當(dāng)?shù)谝粋€子段產(chǎn)生進(jìn)位脈沖時,第二個子段的計數(shù)器加1,并當(dāng)?shù)诙€子段計數(shù)器的計數(shù)值到達(dá)60時,計數(shù)器清零,并產(chǎn)生前段計數(shù)器的進(jìn)位信號。

B1.17位長度的前段計數(shù)器,可分為三個子段,第一個和第二個子段均為6位計數(shù)器,第三個子段為5位計數(shù)器,并規(guī)定當(dāng)?shù)谝粋€子段的計數(shù)器置到達(dá)60或61時,計數(shù)器值清零,并產(chǎn)生第一進(jìn)位脈沖;

B2.當(dāng)?shù)谝粋€子段產(chǎn)生進(jìn)位脈沖時,第二個子段的計數(shù)器加1,并當(dāng)?shù)诙€子段計數(shù)器的計數(shù)值到達(dá)60時,計數(shù)器清零,并產(chǎn)生第二進(jìn)位脈沖;

B3.當(dāng)?shù)诙€子段產(chǎn)生進(jìn)位脈沖時,第三個子段的計數(shù)器加1,并當(dāng)?shù)谌齻€子段計數(shù)器的計數(shù)值到達(dá)24時,計數(shù)器清零,并產(chǎn)生所述前段計數(shù)器的進(jìn)位信號。

采用上述進(jìn)一步改進(jìn)的有益效果是,由上述改進(jìn)所組成的裝置可以適應(yīng)多種不同應(yīng)用場景,包括僅關(guān)心秒信息、同時關(guān)心分鐘和秒信息,及同時關(guān)心時、分、秒信息的多種不同裝置的需求,并可以通過簡單設(shè)定完成上述要求。

上述實(shí)施例中前段計數(shù)器與后段計數(shù)器與常見年(Y)、月(M)、日(D)、時(h)、分(m)、秒(s)的轉(zhuǎn)換過程如下:

情況1:17位前段計數(shù)器和15位后段計數(shù)器組成的裝置:

在此情況下,17位前段計數(shù)器的二進(jìn)制內(nèi)容表示為b16-b0,其中高5位二進(jìn)制數(shù)值,b16-b12為h,中間6位b11-b6為m,最后6位b5-b0為s,即:時(h)、分(m)、秒(s)均無需轉(zhuǎn)換,直接讀取相應(yīng)位值即可;

15位后段計數(shù)器的內(nèi)容為天計數(shù)值A(chǔ)D(Accumulated Days),AD與年、月、日的對應(yīng)關(guān)系與MJD(儒略日)轉(zhuǎn)換為年、月、日的對應(yīng)關(guān)系類似,均可通過一些簡單運(yùn)算得到,主要差別是因?yàn)槠鹗既?AD=0)對應(yīng)的日期與MJD如果不同,需引入相應(yīng)的調(diào)整因子。

在上述情況下,15位日計數(shù)器可以表示的有效范圍為不到90年。

情況2:12位前段計數(shù)器和20位后段計數(shù)器組成的裝置:

在此情況下,12位前段計數(shù)器的二進(jìn)制內(nèi)容表示為b11-b0,其中高6位b11-b6為m,最后6位b5-b0為s,即:分(m)、秒(s)均無需轉(zhuǎn)換,直接讀取相應(yīng)位值即可;

20位后段計數(shù)器的內(nèi)容為時計數(shù)值A(chǔ)H(Accumulated Hours),AH與年、月、日、時的對應(yīng)關(guān)系為:

h=AH(mod 24) 公式(1)

AD=int(AH/24) 公式(2)

其中,x(mod y)表示x對y取模的結(jié)果,int(z)表示z的整數(shù)部分。

AD與年、月、日的對應(yīng)關(guān)系同情況一。

在上述情況下,20位時計數(shù)器可以表示的有效范圍可超過100年。

情況3:6位前段計數(shù)器和26位后段計數(shù)器組成的裝置:

在此情況下,6位前段計數(shù)器的二進(jìn)制內(nèi)容即為秒(s),無需轉(zhuǎn)換,直接讀取相應(yīng)位值即可;

26位后段計數(shù)器的內(nèi)容為分計數(shù)值A(chǔ)M(Accumulated Minites),AM與年、月、日、時、分的對應(yīng)關(guān)系為:

m=AM(mod 60) 公式(3)

AH=int(AM/24) 公式(4)

其中,x(mod y)表示x對y取模的結(jié)果,int(z)表示z的整數(shù)部分;AD見公式(2),AD與年、月、日的對應(yīng)關(guān)系同情況一。

在上述情況下,26位分計數(shù)器可以表示的有效范圍可超過100年。

應(yīng)用具體實(shí)例:

以下應(yīng)用實(shí)例,采用如下定義:

起始日期為2000-3-1 00:00:00,為簡化計算,本專利舉例的有效日期至2100-2-28 23:59:59。且采用前段計數(shù)器長度N=6,后段計數(shù)器長度為26位的分累加計數(shù)(AM)方式,即32bit時間信息b31-b0中,b5-b0為秒信息,b31-b6為AM信息:

AM:計數(shù)時AH有效值范圍為0-52594559,對應(yīng)2000-3-1 0:0:xx至2100-2-28 23:59:xx,即AM=0,對應(yīng)時間為2000-3-1 0時0分,AH=52594559對應(yīng)時間為2100-2-28 23:59。

當(dāng)時間為2000-3-1 00:00:00時,AM=0,s=0,故該時間的分段累計的32位二進(jìn)制表達(dá)為:

b00000000000000000000000000000000

當(dāng)時間為2100-2-28 23:59:59時,AM=52594559(0x322877f),s=59(0x3b),該時間的分段累計的32位二進(jìn)制表達(dá)為:

b11001000101000011101111111111011

通過日期(Y,M,D)、時(h)分(m)各值計算計數(shù)時(AH)的方法為:

如果M==1或M==2,則L=1,否則L=0;

AD=D+int[(Y-L-2000)*365.25)+int((M+1+L*12)*30.6)-123]

公式(1.1)

AH=h+24*AD 公式(1.2)

AM=m+60*AH 公式(1.3)

如2015年2月18日21:31:59;即Y=2015,M=2,D=18,h=21,m=31,s=59(0x3B)。按照公式(1.1)計算的到:AD=5467。

按照公式(1.2)計算得到:AH=131229。

按照公式(1.3)計算得到:AM=7873771(0x7824EB)。

因此,2015年2月18日21:31:59的N=6情況下分段累計的32位二進(jìn)制表達(dá)為:

b00011110000010010011101011111011

反過來,通過AM計算日期、時間各值的具體方法為:

m=AM mode(60) 公式(1.4)

AH=int(AM/60) 公式(1.5)

h=AH(mod 24) 公式(1.6)

AD=int(AH/24) 公式(1.7)

Y’=int((AD+0.8)/365.25) 公式(1.8)

M’=int((AD+122.9–int(Y’*365.25))/30.6) 公式(1.9)

D=AD+123–int(Y’*365.25)–int(M’*30.6) 公式(1.10)

如果M’=14或15,則K=1,否則K=0

Y=Y(jié)’+K+2000 公式(1.11)

M=M’–1–12*K 公式(1.12)

WD=1+(AD+2)(mod 7) 公式(1.13)

公式1.13中,WD為星期數(shù),即該日期是星期幾,WD=0表示星期日。

如N=6情況下分段累計的32位二進(jìn)制表達(dá)為:

b00011110000010010011101011111011

即:s=b111011=59。

AM=b00011110000010010011101011=7873771

按照公式(1.4)得到:m=31。

按照公式(1.5)及公式(1.6)得到:AH=131229,h=21。

按照公式(1.7)得到:AD=5467。

按照公式(1.8)及公式(1.9)得到:Y’=14,M’=15,因此K=1。

按照公式(1.10)得到:D=18。

按照公式(1.11)得到:Y=2015。

按照公式(1.12)得到:M=2。

按照公式(1.13)得到:WD=3。

即計算得到結(jié)果為2015年2月18日21:31:59,星期三。

圖2為本發(fā)明分段累加計時裝置的一個實(shí)施例的結(jié)構(gòu)示意圖,該實(shí)施例的裝置可用于實(shí)現(xiàn)本發(fā)明上述各方法實(shí)施例。如圖2所示,本實(shí)施例裝置包括:

前段計數(shù)器1,用于接收秒脈沖,根據(jù)累加的秒脈沖達(dá)到預(yù)設(shè)值時產(chǎn)生進(jìn)位信號;所述前段計數(shù)器用于存儲根據(jù)秒脈沖累加得到的所有數(shù)據(jù);

后段計數(shù)器2,用于接收進(jìn)位信號,將所述進(jìn)位信號與后段計數(shù)器內(nèi)存儲的數(shù)據(jù)進(jìn)行累加;所述后段計數(shù)器用于存儲根據(jù)進(jìn)位信號累加得到的所有數(shù)據(jù)。

工作模式設(shè)定過程包括:

根據(jù)使用需求,設(shè)定前段計數(shù)器和后段計數(shù)器的長度,即前段計數(shù)器內(nèi)部的子段:包括各子段的長度及其最大計數(shù)值,當(dāng)該子段計數(shù)到達(dá)最大值時,產(chǎn)生進(jìn)位信號,使得后一級子段計數(shù)。

根據(jù)初始時間,設(shè)定分段表示的32位時間計數(shù)模塊內(nèi)的初值,即計數(shù)器起始數(shù)值。該初值通過32位計數(shù)讀寫寄存器進(jìn)行。即對該寄存器進(jìn)行寫操作,即完成初值的初始化。

工作模式設(shè)定后,分段表示的32位時間計數(shù)模塊將按照設(shè)定的模式進(jìn)行和觸發(fā)條件進(jìn)行計數(shù)和產(chǎn)生進(jìn)位信號。

通過32位計數(shù)讀寫寄存器完成對前段計數(shù)器和后段計數(shù)器內(nèi)容的讀操作和寫操作。對該寄存器的寫操作即完成對裝置啟動時間的起始時間設(shè)定,也可以通過寫寄存器完成前段計數(shù)器內(nèi)容的清零,對該寄存器進(jìn)行讀操作得到的結(jié)果就是分段累加秒計數(shù)的32位時間表示。

上述實(shí)施例中,所述秒脈沖根據(jù)時間產(chǎn)生,一秒鐘時間產(chǎn)生一個秒脈沖。

上述實(shí)施例中,所述預(yù)設(shè)值包括預(yù)設(shè)閏秒值和預(yù)設(shè)最大值;所述預(yù)設(shè)閏秒值與所述預(yù)設(shè)最大值的差為一。

本發(fā)明裝置的另一個實(shí)施例中,在上述實(shí)施例的基礎(chǔ)上所述前段計數(shù)器采用N位計數(shù)器,其中N為不大于32的整數(shù)值;所述后段計數(shù)器為M位計數(shù)器,其中M和N的和為32。

上述實(shí)施例中,所述N為0時,秒脈沖等于進(jìn)位信號,所述后段計數(shù)器為32位計數(shù)器;

所述N不為0時,所述前段計數(shù)器1包括至少兩個子段,所有所述子段的長度之和為N。

所述子段包括第一子段和第二子段;

所述第一子段接收秒脈沖,根據(jù)累加的秒脈沖達(dá)到第一預(yù)設(shè)值時產(chǎn)生第一子進(jìn)位信號;

所述第二子段接收所述第一子進(jìn)位信號并進(jìn)行累加,根據(jù)累加的第一子進(jìn)位信號達(dá)到第二預(yù)設(shè)值時產(chǎn)生進(jìn)位信號,執(zhí)行步驟2。

所述子段包括第一子段、第二子段和第三子段;

所述第一子段接收秒脈沖,根據(jù)累加的秒脈沖達(dá)到第一預(yù)設(shè)值時產(chǎn)生第一子進(jìn)位信號;

所述第二子段接收所述第一子進(jìn)位信號并進(jìn)行累加,根據(jù)累加的第一子進(jìn)位信號達(dá)到第二預(yù)設(shè)值時產(chǎn)生第二子進(jìn)位信號;

所述第三子段接收所述第二子進(jìn)位信號并進(jìn)行累加,根據(jù)累加的第二子進(jìn)位信號達(dá)到第三預(yù)設(shè)值時產(chǎn)生后段進(jìn)位信號;執(zhí)行步驟2。

本發(fā)明各實(shí)施例中涉及的所述前段計數(shù)器1和后段計數(shù)器2都采用單向累加計數(shù)器。

以上所述僅為本發(fā)明的一種特殊情況的實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
怀安县| 泰安市| 大埔区| 江源县| 呼伦贝尔市| 郧西县| 华蓥市| 新和县| 三原县| 铜川市| 柏乡县| 沅江市| 集贤县| 固原市| 太保市| 宁夏| 宁晋县| 罗甸县| 白水县| 庆城县| 宁武县| 尖扎县| 南靖县| 工布江达县| 姜堰市| 眉山市| 霸州市| 连云港市| 政和县| 醴陵市| 永靖县| 连州市| 永新县| 安福县| 镇康县| 多伦县| 阿城市| 乌海市| 克什克腾旗| 贵阳市| 南溪县|