基于A(yíng)RM7的實(shí)時(shí)時(shí)鐘顯示設計
2 應用程序部分
本文引用地址:http://dyxdggzs.com/article/248471.htm對于該工程中使用到的LPC2294芯片里的各個(gè)模塊,如I/O端口、RTC、TIMERl,應該首先在相應函數中對該模塊里的各個(gè)寄存器全部進(jìn)行初始化,這樣脫機運行時(shí)才能順利顯示。
下面簡(jiǎn)要介紹一下main.c主程序里用到的各主要函數。
hitVfdl312();
該函數首先初始化LPC2294的P0口全部為GPIO口。本工程中設置PO.6與P0.7、P0.8為輸出,并在硬件連接上分別接到PT6311模塊的數據線(xiàn)、片選線(xiàn)、時(shí)鐘線(xiàn),然后利用P0.6與P0.7、P0.8送出數據到VFD模塊,初始化VFD,舔加初始化數據。實(shí)際上初始化為空格,然后全部點(diǎn)亮VFD。
RTCIni();
初始化實(shí)時(shí)時(shí)鐘并啟動(dòng)RTC。
TIMERl_InitTimef();
初始化定時(shí)器1,設置每過(guò)1ms產(chǎn)生1次中斷,即置位定時(shí)器里IR中的MR0位;并復位定時(shí)器計數器TC。
TIMERl_StartTimer();
使定時(shí)器1離開(kāi)復位狀態(tài),并開(kāi)始計時(shí)。
pollint();
設置變量_mSet、_10mSct、_100mSct,其數值代表的單位分別為1ms,10ms,110ms。隨著(zhù)定時(shí)器1的不斷置位中斷和復位,它們的數值也相應產(chǎn)生變化。
GetTime();
每過(guò)1s,讀一下RTC里的時(shí)間,送到VFD緩 沖區。
UpdateVfdl312();
每過(guò)100ms,讀取VFD緩沖區里的數值,刷新VFD顯示。
結語(yǔ)
把該工程應用于基于LPC2294的開(kāi)發(fā)板外部存儲器后,能夠脫機運行,VFD實(shí)時(shí)時(shí)鐘全部點(diǎn)亮,并且顯示時(shí)間正確。
LPC2294適用于開(kāi)發(fā)稅控設備。稅控設備上有較多的模塊,VFD客顯模塊是其中之一,可用來(lái)顯示時(shí)間。
評論