電路仿真軟件詳談(30),基于proteus電路仿真軟件的顯示系統(tǒng)設(shè)計(jì)
電路仿真軟件在仿真界具有重要地位,小編為此開(kāi)設(shè)了電路仿真軟件系列專(zhuān)欄。往期文章中,小編對(duì)電路仿真軟件基礎(chǔ)知識(shí)、protues電路仿真軟件應(yīng)用等均有所介紹。為進(jìn)一步提高大家對(duì)protues電路仿真軟件的應(yīng)用技巧,本文將介紹如何基于protues進(jìn)行ARM7顯示系統(tǒng)設(shè)計(jì)。如果你對(duì)本文即將討論的內(nèi)容存在興趣,不妨繼續(xù)往下閱讀哦。
引言
隨著科技的發(fā)展,ARM在社會(huì)各個(gè)方面的應(yīng)用越來(lái)越廣。ARM芯片廣泛應(yīng)用于無(wú)線(xiàn)產(chǎn)品、PDA、GPS、網(wǎng)絡(luò)、消費(fèi)電子產(chǎn)品、STB及智能卡。LPC2138是Philips公司生產(chǎn)的基于ARM7TDMI的RISC微處理器,主頻可達(dá)50MHz。液晶顯示是嵌入式系統(tǒng)中反映系統(tǒng)輸入/輸出的人機(jī)交互界面,液晶顯示以其微功耗、體積小、顯示內(nèi)容豐富、模塊化,接口電路簡(jiǎn)單等諸多優(yōu)點(diǎn)得到廣泛應(yīng)用。本文在介紹以HD44780為控制器的LM 016L液晶模塊的引腳結(jié)構(gòu)、功能的基礎(chǔ)上,搭建LM016L與LPC2138芯片的硬件接口電路、用c語(yǔ)言編寫(xiě)顯示程序,采用Proteus軟件進(jìn)行功能仿真。
一、液晶模塊結(jié)構(gòu)及功能簡(jiǎn)介
LM016L液晶模塊采用HD44780控制器。HD44780具有簡(jiǎn)單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動(dòng)、閃爍等功能。HD44780控制器由兩個(gè)8位寄存器、指令寄存器(IR)和數(shù)據(jù)寄存器(DR)、忙標(biāo)志(BF)、顯示數(shù)據(jù)RAM(DDRAM)、字符發(fā)生器ROM(CGROM)、字符發(fā)生器RAM(CGRAM)、地址計(jì)數(shù)器(AC)構(gòu)成。IR用于寄存指令碼,只能寫(xiě)入不能讀出;DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動(dòng)寫(xiě)入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù)。BF為1時(shí),液晶模塊處于內(nèi)部處理模式,不響應(yīng)外部操作指令和接受數(shù)據(jù)。DDRAM用來(lái)存儲(chǔ)顯示的字符,能存儲(chǔ)80個(gè)字符碼。CGROM由8位字符碼生成5 x 7點(diǎn)陣字符160種和5×10點(diǎn)陣字符32種,8位字符編碼和字符的對(duì)應(yīng)關(guān)系。CGRAM是為用戶(hù)編寫(xiě)特殊字符留用的,它的容量?jī)H64字節(jié)??梢宰远x8個(gè)5×7點(diǎn)陣字符或者4個(gè)5×10點(diǎn)陣字符。AC可以存儲(chǔ)DDRAM和CGRAM地址,如果地址碼隨指令寫(xiě)入IR,則IR自動(dòng)把地址碼裝入AC,同時(shí)選擇DDRAM或者CGRAM單元。
二、基于Proteus ISIS 7的液晶模塊仿真
2.1 接口設(shè)計(jì)
運(yùn)行Proteus ISIS 7進(jìn)入設(shè)計(jì)界面,依照?qǐng)D1所示在元件庫(kù)中選擇需要的元件。Lpc2138的P0.0-P0.7端口作為8位數(shù)據(jù)的輸出端,P0.8、P0.9、P0.10作為控制信號(hào)的輸出端,連接完成的電路如圖l所示。
2.2 軟件設(shè)計(jì)
電路圖繪制好之后,就可以編寫(xiě)LM016L的驅(qū)動(dòng)程序。LM016L的操作有兩大類(lèi):讀操作和寫(xiě)操作。一般情況下不需要從液晶中讀取數(shù)據(jù),所以對(duì)液晶操作主要是寫(xiě)指令和寫(xiě)數(shù)據(jù)兩個(gè)寫(xiě)操作,對(duì)于忙標(biāo)志(BF),查詢(xún)的方法,保證液晶模塊有足夠時(shí)間進(jìn)行內(nèi)部數(shù)據(jù)處理。在寫(xiě)源程序時(shí),需要根據(jù)液晶模塊的時(shí)序圖編寫(xiě)程序。LM016L的時(shí)序如圖2所示。
根據(jù)電路圖1定義引腳:RS BIT P0.8;RW BIT P0.9;LCD E BIT PO.10。
本設(shè)計(jì)的開(kāi)發(fā)環(huán)境為keil uvision3,程序大體分為初始化、控制信息與數(shù)據(jù)傳輸3部分。下面就將結(jié)合程序源代碼略加說(shuō)明:
用keil軟件編譯后生成HEX文件,在Proteus中打開(kāi)lpc2138芯片屬性對(duì)話(huà)框,將生成的HEX文件加載進(jìn)去,再進(jìn)行仿真運(yùn)行就可以看到圖3的結(jié)果,說(shuō)明設(shè)計(jì)成功。
利用Proteus實(shí)現(xiàn)了對(duì)ARM7+LM016L液晶模塊的仿真,實(shí)現(xiàn)了字符串的顯示。Proteus為ARM學(xué)習(xí)提供了很好的軟件平臺(tái),使初學(xué)者可以?huà)侀_(kāi)電路設(shè)計(jì)中的一些細(xì)枝末節(jié),快速掌握ARM的核心內(nèi)容。同時(shí)該方法不需要硬件資源,也為學(xué)校開(kāi)設(shè)ARM課程闖出一條最佳途徑。
以上便是此次小編帶來(lái)的“電路仿真軟件”相關(guān)內(nèi)容,通過(guò)本文,希望大家對(duì)如何基于protues設(shè)計(jì)ARM顯示系統(tǒng)具備一定的認(rèn)知。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來(lái)更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!