基于PROTEUS技術的ARM顯示系統設計與仿真
0 引言
隨著科技的發(fā)展,ARM在社會各個方面的應用越來越廣。ARM芯片廣泛應用于無線產品、PDA、GPS、網絡、消費電子產品、STB及智能卡。LPC2138是Philips公司生產的基于ARM7TDMI的RISC微處理器,主頻可達50MHz。液晶顯示是嵌入式系統中反映系統輸入/輸出的人機交互界面,液晶顯示以其微功耗、體積小、顯示內容豐富、模塊化,接口電路簡單等諸多優(yōu)點得到廣泛應用。本文在介紹以HD44780為控制器的LM016L液晶模塊的引腳結構、功能的基礎上,搭建LM016L與LPC2138芯片的硬件接口電路、用c語言編寫顯示程序,采用PROTEUS軟件進行功能仿真。
1 液晶模塊結構及功能簡介
LM016L液晶模塊采用HD44780控制器。HD44780具有簡單而功能較強的指令集,可以實現字符移動、閃爍等功能。HD44780控制器由兩個8位寄存器、指令寄存器(IR)和數據寄存器(DR)、忙標志(BF)、顯示數據RAM(DDRAM)、字符發(fā)生器ROM(CGROM)、字符發(fā)生器RAM(CGRAM)、地址計數器(AC)構成。IR用于寄存指令碼,只能寫入不能讀出;DR用于寄存數據,數據由內部操作自動寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數據。BF為1時,液晶模塊處于內部處理模式,不響應外部操作指令和接受數據。DDRAM用來存儲顯示的字符,能存儲80個字符碼。CGROM由8位字符碼生成5 x 7點陣字符160種和5×10點陣字符32種,8位字符編碼和字符的對應關系。CGRAM是為用戶編寫特殊字符留用的,它的容量僅64字節(jié)??梢宰远x8個5×7點陣字符或者4個5×10點陣字符。AC可以存儲DDRAM和CGRAM地址,如果地址碼隨指令寫入IR,則IR自動把地址碼裝入AC,同時選擇DDRAM或者CGRAM單元。LMO16L液晶模塊的引腳功能見下表1。
2 基于Proteus ISIS 7的液晶模塊仿真
2.1 接口設計
運行Proteus ISIS 7進入設計界面,依照圖1所示在元件庫中選擇需要的元件。Lpc2138的P0.0-P0.7端口作為8位數據的輸出端,P0.8、P0.9、P0.10作為控制信號的輸出端,連接完成的電路如圖l所示。
2.2 軟件設計
電路圖繪制好之后,就可以編寫LM016L的驅動程序。LM016L的操作有兩大類:讀操作和寫操作。一般情況下不需要從液晶中讀取數據,所以對液晶操作主要是寫指令和寫數據兩個寫操作,對于忙標志(BF),查詢的方法,保證液晶模塊有足夠時間進行內部數據處理。在寫源程序時,需要根據液晶模塊的時序圖編寫程序。LM016L的時序如圖2所示。
根據電路圖1定義引腳:RS BIT P0.8;RW BIT P0.9;LCD E BIT PO.10。
本設計的開發(fā)環(huán)境為keil uvision3,程序大體分為初始化、控制信息與數據傳輸3部分。下面就將結合程序源代碼略加說明:
用keil軟件編譯后生成HEX文件,在Proteus中打開lpc2138芯片屬性對話框,將生成的HEX文件加載進去,再進行仿真運行就可以看到圖3的結果,說明設計成功。
3 結束語
利用Proteus實現了對ARM7+LM016L液晶模塊的仿真,實現了字符串的顯示。Proteus為ARM學習提供了很好的軟件平臺,使初學者可以拋開電路設計中的一些細枝末節(jié),快速掌握ARM的核心內容。同時該方法不需要硬件資源,也為學校開設ARM課程闖出一條最佳途徑。
評論