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