基于ARM9的帶農(nóng)歷實時時鐘LCD顯示設(shè)計
2.2 更改時間和設(shè)置報警時間
采用S3C2440A的UART,在PC機上實現(xiàn)對實時時鐘的更改和設(shè)置報警時間。其通訊協(xié)議為:當從PC機上發(fā)送0xaa時,分別將年、月、日、星期、小時、分和秒寫到實時時鐘數(shù)據(jù)寄存器中。當S3C2440A接收到數(shù)據(jù)后發(fā)送0xaa以示確認,調(diào)用前面的寫操作函數(shù),從而實現(xiàn)對實時時鐘的更改;當從PC機上發(fā)送0xbb時,分別將預(yù)置的報警時間ALMYEAR(年)、ALMMON(月)、ALMDATE(日)、ALMHOUR(小時)、ALMMIN(分)和ALMSEC(秒)寫到報警時間數(shù)據(jù)寄存器中,當S3C2440A接收到數(shù)據(jù)后發(fā)送0xbb以示確認,調(diào)用設(shè)置報警時間設(shè)置函數(shù),從而實現(xiàn)對報警時間的設(shè)置。通過設(shè)置報警控制寄存器RTCALM,即可實現(xiàn)報警,程序流程圖如圖4所示。本文引用地址:http://www.ex-cimer.com/article/150711.htm
2.3 農(nóng)歷顯示設(shè)計
S3C2440的實時時鐘模塊沒有提供農(nóng)歷的時間信息,因此采用公歷轉(zhuǎn)農(nóng)歷的方式,實現(xiàn)對農(nóng)歷的顯示。公歷轉(zhuǎn)換為農(nóng)歷的算法是:首先建立公歷年對應(yīng)的農(nóng)歷數(shù)據(jù),并將其存放入數(shù)組中,然后通過查表的方式實現(xiàn)公歷與農(nóng)歷的轉(zhuǎn)換。
建立公歷年對應(yīng)的農(nóng)歷數(shù)據(jù),每年用3個字節(jié)表示。
公歷年對應(yīng)的農(nóng)歷數(shù)據(jù)的第1 Byte的高4位表示農(nóng)歷閏年月份,低4位表示農(nóng)歷1~4月的大小,其具體含義如表1所示。第2 Byte表示農(nóng)歷5~12月的大小,其具體含義如表2所示。第3 Byte的最高位表示農(nóng)歷第13個月的大小,第7位和第6位表示春節(jié)所在的公歷月份,低5位表示春節(jié)所在的公歷日期,其具體含義如表3所示。
led顯示器相關(guān)文章:led顯示器原理
評論