www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]LPC2294的實(shí)時(shí)時(shí)鐘顯示工程設(shè)計(jì)分析

摘要 LPC2294是飛利浦半導(dǎo)體公司生產(chǎn)的基于ARM7TDMI-S內(nèi)核的芯片。本文介紹一個(gè)基于LPC2294的完整的時(shí)鐘顯示設(shè)計(jì)工程,給出啟動(dòng)代碼的詳細(xì)設(shè)計(jì)過(guò)程,以廈時(shí)鐘顯示應(yīng)用程序的主要函敷說(shuō)明。其中的啟動(dòng)代碼設(shè)計(jì)過(guò)程可供一般的基于ARM7TDMI-S內(nèi)核的嵌入式處理囂芯片參考使用。
關(guān)鍵詞 LPC2294 ARM嵌入式系統(tǒng)啟動(dòng)代碼RTC模塊 定時(shí)器模塊VFD模塊PT6311

引 言
    嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)有復(fù)雜和簡(jiǎn)單之分。通常代碼量少的系統(tǒng)完成的功能有限,可以不使用嵌人式操作系統(tǒng),直接在裸機(jī)上開發(fā),使用的開發(fā)工具可以是匯編語(yǔ)言和C語(yǔ)言;復(fù)雜的嵌入式系統(tǒng)推薦使用嵌入式操作系統(tǒng)。

    ARM(Advarlced RISC Machine)是設(shè)計(jì)這種處理器內(nèi)核的公司的名字,ARM核并非芯片。ARM核與其他部件,如RAM、ROM、片內(nèi)外設(shè),組合在一起才構(gòu)成現(xiàn)實(shí)的芯片。ARM作為一類微處理器的通稱,作為一種低功耗、高性能的32位嵌入式微處理器,現(xiàn)在已經(jīng)被廣泛應(yīng)用在各個(gè)領(lǐng)域中。

    ARM應(yīng)用的開發(fā)工具主要包括集成開發(fā)環(huán)境IDE、評(píng)估板和JTAG仿真器等。國(guó)內(nèi)使用較多的IDE為ARM公司的SDT、ADS以及英蓓特公司的Embest IDE。仿真器有ARM公司的Muti-ICE和英蓓特公司的Embest系列ARM JTAG仿真器等。

    可以在PC機(jī)上開發(fā)一個(gè)嵌入式系統(tǒng),利用集成開發(fā)環(huán)境編寫并編譯鏈接產(chǎn)生ARM處理器執(zhí)行代碼。然后用仿真器等調(diào)試工具調(diào)試,并下載代碼到硬件上,如圖1所示。

    在嵌入式系統(tǒng)的編程開發(fā)過(guò)程中,技術(shù)難點(diǎn)主要在于系統(tǒng)引導(dǎo)程序的編寫。為此提供一個(gè)較完整的小工程,詳細(xì)分析在ARM7基礎(chǔ)上開發(fā)嵌入式系統(tǒng)時(shí)引導(dǎo)程序的關(guān)鍵代碼,并簡(jiǎn)要介紹應(yīng)用程序的主要函數(shù)。

    LPC2294是基于一個(gè)支持實(shí)時(shí)仿真和跟蹤的16/32位ARM7TDMI-SCPU,帶有256 KB嵌入的高速Flash存儲(chǔ)器。它有極低的功耗、多個(gè)32位定時(shí)器、RTC模塊、WDT模塊等。

    本文主要是在以LPC2294為核心的ARM小系統(tǒng)中,在不采用操作系統(tǒng)的情況下,試編寫了一個(gè)工程,并下載到該開發(fā)板的外部存儲(chǔ)器(該開發(fā)板的片外存儲(chǔ)器為4 MB片外32位數(shù)據(jù)總線寬度Flash存儲(chǔ)器),接上VFD顯示模塊后,脫機(jī)運(yùn)行時(shí),顯示實(shí)時(shí)時(shí)鐘成功。

    該工程利用ADS開發(fā)軟件,在CodeWarrior IDE集成開發(fā)環(huán)境下,編寫編譯并使用AXD和技創(chuàng)公司的techorICE仿真器訶試,并下載程序,VFD模塊采用PT6311驅(qū)動(dòng)芯片。

    工程的程序主要分兩部分:系統(tǒng)引導(dǎo)(BOOT)部分和應(yīng)用程序部分。

1 系統(tǒng)引導(dǎo)部分
   
系統(tǒng)引導(dǎo)(BOOT)是芯片復(fù)位后進(jìn)入應(yīng)用程序之前執(zhí)行的一段代碼,主要是為運(yùn)行應(yīng)用程序提供基本的運(yùn)行環(huán)境,對(duì)系統(tǒng)硬件和軟件運(yùn)行環(huán)境進(jìn)行初始化。這些工作是用匯編語(yǔ)言和C語(yǔ)言完成的,是嵌入式系統(tǒng)中應(yīng)用程序的開頭部分,與應(yīng)用程序一起固化在ROM中,并首先在系統(tǒng)上運(yùn)行。

    設(shè)計(jì)好系統(tǒng)引導(dǎo)(BOOT)是設(shè)計(jì)嵌入式程序的關(guān)鍵,也是系統(tǒng)能夠正常工作的前提。系統(tǒng)引導(dǎo)(BOOT)所執(zhí)行的操作主要依賴于CPU內(nèi)核的類型,以及正在開發(fā)的嵌入式系統(tǒng)軟件中需要使用的CPU芯片上的資源。針對(duì)該款芯片和應(yīng)用程序的系統(tǒng)引導(dǎo)(B00T)代碼的流程如圖2所示。

    以下按在片內(nèi)RAM調(diào)試該工程時(shí),順序出現(xiàn)的啟動(dòng)代碼的有關(guān)文件,給出關(guān)鍵代碼分析:;中斯向量表,給出CPU芯片出現(xiàn)異常時(shí)應(yīng)該轉(zhuǎn)去執(zhí)行的程序

   

   

   
      

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


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

    下面簡(jiǎn)要介紹一下main.c主程序里用到的各主要函數(shù)。
    hitVfdl312();
    該函數(shù)首先初始化LPC2294的P0口全部為GPIO口。本工程中設(shè)置PO.6與P0.7、P0.8為輸出,并在硬件連接上分別接到PT6311模塊的數(shù)據(jù)線、片選線、時(shí)鐘線,然后利用P0.6與P0.7、P0.8送出數(shù)據(jù)到VFD模塊,初始化VFD,舔加初始化數(shù)據(jù)。實(shí)際上初始化為空格,然后全部點(diǎn)亮VFD。
    RTCIni();
    初始化實(shí)時(shí)時(shí)鐘并啟動(dòng)RTC。
    TIMERl_InitTimef();

    初始化定時(shí)器1,設(shè)置每過(guò)1ms產(chǎn)生1次中斷,即置位定時(shí)器里IR中的MR0位;并復(fù)位定時(shí)器計(jì)數(shù)器TC。
    TIMERl_StartTimer();
    使定時(shí)器1離開復(fù)位狀態(tài),并開始計(jì)時(shí)。
    pollint();
    設(shè)置變量_mSet、_10mSct、_100mSct,其數(shù)值代表的單位分別為1ms,10ms,110ms。隨著定時(shí)器1的不斷置位中斷和復(fù)位,它們的數(shù)值也相應(yīng)產(chǎn)生變化。
    GetTime();
    每過(guò)1s,讀一下RTC里的時(shí)間,送到VFD緩沖區(qū)。
    UpdateVfdl312();
    每過(guò)100ms,讀取VFD緩沖區(qū)里的數(shù)值,刷新VFD顯示。

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

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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉