[摘要]: 本文描述了一種利用華邦四位機(jī)來設(shè)計(jì)帶有農(nóng)歷24節(jié)氣的萬年歷的設(shè)計(jì)方法,同時(shí)對(duì)于其中軟件的算法和硬件的電路設(shè)計(jì)進(jìn)行了計(jì)算和分析。
[關(guān)鍵字]:節(jié)氣, 列表法, 微處理器, 單片機(jī), 算法
在當(dāng)前的產(chǎn)品設(shè)計(jì)中,人們?cè)谧非螽a(chǎn)品高性能的同時(shí),也在追求產(chǎn)品的低成本。這就對(duì)開發(fā)工程師提出了更高的要求。
對(duì)于萬年歷的產(chǎn)品市場(chǎng)上已經(jīng)有了很多,但是帶有農(nóng)歷24節(jié)氣,同時(shí)用LED數(shù)碼管顯示的萬年歷在市場(chǎng)上的銷售價(jià)明顯偏高,究其原因是因?yàn)槿绻麑⑥r(nóng)歷24節(jié)氣設(shè)計(jì)加入其中,就要增加軟件程序,這樣就會(huì)使相應(yīng)的程序存貯空間加大,自然硬件成本就會(huì)隨之增加。所以,最好可以找到一種既可以實(shí)現(xiàn)其功能,又可以節(jié)約成本的單片機(jī)來實(shí)現(xiàn)。
以下就是豐寶電子科技公司開發(fā)部門研發(fā)出的一種只是利用的華邦的四位機(jī)就可以實(shí)現(xiàn)的帶有農(nóng)歷24節(jié)氣的萬年歷的產(chǎn)品設(shè)計(jì)思路,由于用的是4位機(jī),它的ROM空間和RAM空間比起8位機(jī)就少得多,這樣對(duì)軟件的設(shè)計(jì)提出了更高的要求,要求能夠找到適合4位機(jī)上使用的簡易算法。
對(duì)于陽歷農(nóng)歷的算法比較簡單,而且規(guī)律很容易找到。這里就不再贅述。我們這里重點(diǎn)討論一下對(duì)于農(nóng)歷中二十四個(gè)節(jié)氣的算法。還考慮到單片機(jī)的性能情況和萬年歷的使用壽命,我們?cè)O(shè)計(jì)的是有限年(如50年)萬年歷,因此這里我們的算法也是按著50年為年限來設(shè)計(jì)。
一、萬年歷農(nóng)歷節(jié)氣算法:
為了便于考察50年的無規(guī)律的農(nóng)歷節(jié)氣分布時(shí)間,我們利用C語言在計(jì)算機(jī)中,實(shí)現(xiàn)了50年(2000~2049年)的陽歷和農(nóng)歷節(jié)氣分布時(shí)間表。由于數(shù)據(jù)龐大,所以僅僅列出其中部分陽歷年對(duì)應(yīng)的前6個(gè)節(jié)氣日期,簡表見表1。
這張復(fù)雜冗長的節(jié)氣表中,每年的節(jié)氣具體日期雖然都在一定的范圍內(nèi)變動(dòng),但是變動(dòng)的趨勢(shì)毫無規(guī)律可尋,每個(gè)月的具體節(jié)氣日期有時(shí)候推前一兩天,有時(shí)候推后一兩天。
但是,從這張復(fù)雜的表格中的眾多數(shù)據(jù)中,我們發(fā)現(xiàn)這樣一個(gè)規(guī)律:雖然,這些節(jié)氣的日期變化趨勢(shì)無法獲得,但是,這些日期的變化總是在3天之內(nèi)變化的。
表格1、陽歷年中農(nóng)歷節(jié)氣日期表
年\月
1
2
3
4~12
2000
6
21
4
19
5
20
上半月節(jié)氣日期
下半月節(jié)氣日期
⋯⋯
⋯⋯
2043
5
20
4
19
6
21
上半月節(jié)氣日期
下半月節(jié)氣日期
2044
6
20
4
19
5
20
上半月節(jié)氣日期
下半月節(jié)氣日期
2045
5
20
3
18
5
20
上半月節(jié)氣日期
下半月節(jié)氣日期
⋯⋯
⋯⋯
2049
5
19
3
18
5