<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于PROTEUS技術(shù)的ARM顯示系統設計與仿真

基于PROTEUS技術(shù)的ARM顯示系統設計與仿真

作者: 時(shí)間:2010-12-18 來(lái)源:網(wǎng)絡(luò ) 收藏

  0 引言

  隨著(zhù)科技的發(fā)展,在社會(huì )各個(gè)方面的應用越來(lái)越廣。芯片廣泛應用于無(wú)線(xiàn)產(chǎn)品、PDA、GPS、網(wǎng)絡(luò )、消費電子產(chǎn)品、STB及智能卡。LPC2138是Philips公司生產(chǎn)的基于7TDMI的RISC微處理器,主頻可達50MHz。液晶顯示是嵌入式系統中反映系統輸入/輸出的人機交互界面,液晶顯示以其微功耗、體積小、顯示內容豐富、模塊化,接口電路簡(jiǎn)單等諸多優(yōu)點(diǎn)得到廣泛應用。本文在介紹以HD44780為控制器的LM016L的引腳結構、功能的基礎上,搭建LM016L與LPC2138芯片的硬件接口電路、用c語(yǔ)言編寫(xiě)顯示程序,采用PROTEUS軟件進(jìn)行功能。

  1 結構及功能簡(jiǎn)介

  LM016L采用HD44780控制器。HD44780具有簡(jiǎn)單而功能較強的指令集,可以實(shí)現字符移動(dòng)、閃爍等功能。HD44780控制器由兩個(gè)8位寄存器、指令寄存器(IR)和數據寄存器(DR)、忙標志(BF)、顯示數據RAM(DDRAM)、字符發(fā)生器ROM(CGROM)、字符發(fā)生器RAM(CGRAM)、地址計數器(AC)構成。IR用于寄存指令碼,只能寫(xiě)入不能讀出;DR用于寄存數據,數據由內部操作自動(dòng)寫(xiě)入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數據。BF為1時(shí),液晶模塊處于內部處理模式,不響應外部操作指令和接受數據。DDRAM用來(lái)存儲顯示的字符,能存儲80個(gè)字符碼。CGROM由8位字符碼生成5 x 7點(diǎn)陣字符160種和5×10點(diǎn)陣字符32種,8位字符編碼和字符的對應關(guān)系。CGRAM是為用戶(hù)編寫(xiě)特殊字符留用的,它的容量?jì)H64字節??梢宰远x8個(gè)5×7點(diǎn)陣字符或者4個(gè)5×10點(diǎn)陣字符。AC可以存儲DDRAM和CGRAM地址,如果地址碼隨指令寫(xiě)入IR,則IR自動(dòng)把地址碼裝入AC,同時(shí)選擇DDRAM或者CGRAM單元。LMO16L液晶模塊的引腳功能見(jiàn)下表1。

LMO16L液晶模塊的引腳功能

  2 基于Proteus ISIS 7的液晶模塊

  2.1 接口設計

  運行Proteus ISIS 7進(jìn)入設計界面,依照圖1所示在元件庫中選擇需要的元件。Lpc2138的P0.0-P0.7端口作為8位數據的輸出端,P0.8、P0.9、P0.10作為控制信號的輸出端,連接完成的電路如圖l所示。

連接完成的電路

  2.2 軟件設計

  電路圖繪制好之后,就可以編寫(xiě)LM016L的驅動(dòng)程序。LM016L的操作有兩大類(lèi):讀操作和寫(xiě)操作。一般情況下不需要從液晶中讀取數據,所以對液晶操作主要是寫(xiě)指令和寫(xiě)數據兩個(gè)寫(xiě)操作,對于忙標志(BF),查詢(xún)的方法,保證液晶模塊有足夠時(shí)間進(jìn)行內部數據處理。在寫(xiě)源程序時(shí),需要根據液晶模塊的時(shí)序圖編寫(xiě)程序。LM016L的時(shí)序如圖2所示。

LM016L的時(shí)序

  根據電路圖1定義引腳:RS BIT P0.8;RW BIT P0.9;LCD E BIT PO.10。

  本設計的開(kāi)發(fā)環(huán)境為keil uvision3,程序大體分為初始化、控制信息與數據傳輸3部分。下面就將結合程序源代碼略加說(shuō)明:

程序

程序

  用keil軟件編譯后生成HEX文件,在Proteus中打開(kāi)lpc2138芯片屬性對話(huà)框,將生成的HEX文件加載進(jìn)去,再進(jìn)行運行就可以看到圖3的結果,說(shuō)明設計成功。

仿真結果

  3 結束語(yǔ)

  利用Proteus實(shí)現了對ARM7+LM016L液晶模塊的仿真,實(shí)現了字符串的顯示。Proteus為ARM學(xué)習提供了很好的軟件平臺,使初學(xué)者可以?huà)侀_(kāi)電路設計中的一些細枝末節,快速掌握ARM的核心內容。同時(shí)該方法不需要硬件資源,也為學(xué)校開(kāi)設ARM課程闖出一條最佳途徑。



關(guān)鍵詞: 液晶模塊 ARM PROTUES 仿真

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>