新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > LPC2294的實(shí)時時鐘顯示工程設(shè)計(jì)分析

LPC2294的實(shí)時時鐘顯示工程設(shè)計(jì)分析

作者:華僑大學(xué) 蔡彥 時間:2008-07-25 來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 收藏

本文引用地址:http://2s4d.com/article/86235.htm



  系統(tǒng)引導(dǎo)模塊完成各種初始化工作后,用一條跳轉(zhuǎn)指令進(jìn)入C的主入口Main,從此控制權(quán)移交給了C應(yīng)用程序。

  2 應(yīng)用程序部分

  對于該工程中使用到的芯片里的各個模塊,如I/O端口、、TIMERl,應(yīng)該首先在相應(yīng)函數(shù)中對該模塊里的各個寄存器全部進(jìn)行初始化,這樣脫機(jī)運(yùn)行時才能順利顯示。

  下面簡要介紹一下main.c主程序里用到的各主要函數(shù)。

  hitVfdl312();

  該函數(shù)首先初始化的P0口全部為GPIO口。本工程中設(shè)置PO.6與P0.7、P0.8為輸出,并在硬件連接上分別接到PT6311模塊的數(shù)據(jù)線、片選線、時鐘線,然后利用P0.6與P0.7、P0.8送出數(shù)據(jù)到VFD模塊,初始化VFD,舔加初始化數(shù)據(jù)。實(shí)際上初始化為空格,然后全部點(diǎn)亮VFD。

  Ini();

  初始化實(shí)時時鐘并啟動

  TIMERl_InitTimef();

  初始化定時器1,設(shè)置每過1ms產(chǎn)生1次中斷,即置位定時器里IR中的MR0位;并復(fù)位定時器計(jì)數(shù)器TC。

  TIMERl_StartTimer();

  使定時器1離開復(fù)位狀態(tài),并開始計(jì)時。

  pollint();

  設(shè)置變量_mSet、_10mSct、_100mSct,其數(shù)值代表的單位分別為1ms,10ms,110ms。隨著定時器1的不斷置位中斷和復(fù)位,它們的數(shù)值也相應(yīng)產(chǎn)生變化。

  GetTime();

  每過1s,讀一下RTC里的時間,送到VFD緩 沖區(qū)。


  UpdateVfdl312();

  每過100ms,讀取VFD緩沖區(qū)里的數(shù)值,刷新VFD顯示。

  結(jié)語

  把該工程應(yīng)用于基于的開發(fā)板外部存儲器后,能夠脫機(jī)運(yùn)行,VFD實(shí)時時鐘全部點(diǎn)亮,并且顯示時間正確。

  LPC2294適用于開發(fā)稅控設(shè)備。稅控設(shè)備上有較多的模塊,VFD客顯模塊是其中之一,可用來顯示時間。

  這個工程是一個較完整的工程,可以在該工程上擴(kuò)展稅控機(jī)的其他模塊和應(yīng)用程序等。不需要改動啟動代碼,只需在mian.c和其他應(yīng)用程序中添加相應(yīng)的函數(shù)。以期以后開發(fā)成一個完整的稅控機(jī)系統(tǒng)。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

關(guān)鍵詞: 嵌入式 ARM LPC2294 RTC

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉