當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]摘要:本文分別以GPI0口直接連接、串行轉(zhuǎn)換連接、CPLD分部連接三種方法闡述了無外部總線的Philips ARM微控制器LPC210X與點(diǎn)陣圖形液晶顯示器的接口設(shè)計(jì),并給出硬件電路框圖

摘要:本文分別以GPI0口直接連接、串行轉(zhuǎn)換連接、CPLD分部連接三種方法闡述了無外部總線的Philips ARM微控制器LPC210X與點(diǎn)陣圖形液晶顯示器的接口設(shè)計(jì),并給出硬件電路框圖和主要程序。 關(guān)鍵詞:ARM LPC210X LCD接口 串并轉(zhuǎn)換 CPLD 引言 Philips最近推出了其第一款基于ARM內(nèi)核的控制器LPC210X,但由于LPC210X外部總線不開放,無法擴(kuò)展內(nèi)存、驅(qū)動液晶顯示器等,給它的推廣帶來了一定的影響。筆者最近在一工控板項(xiàng)目中采用了該系列芯片,項(xiàng)目后斯應(yīng)客戶要求需對幾個(gè)參量進(jìn)行顯示并擴(kuò)展鍵盤,不得已之下,采用了CPLD,并利用了GPIO口模擬總線和液晶時(shí)序與點(diǎn)陣圖形液日模塊HS12864-16建立了連接。下面詳細(xì)探討包括該種連接的三種接口方式。 1 LPC210X的GPI0口和HS12864-16A介紹 LPC210X控制器包含LPC2104、LPC2105、LPC2106,除了片內(nèi)靜態(tài)RAM不同外,其他完全相同。該系列器件具有32個(gè)GPIO口(P0.0~P0.31),沒有外部總線,大多GPIO口是復(fù)用口,所以它一般不適合連接大屏幕液晶顯示器,但驅(qū)動小規(guī)模液晶模塊進(jìn)行工業(yè)控制上的參量顯示還是非常合適的。 GPIO包含四個(gè)寄存器,如表1所列。 表1 配置GPI0口的四個(gè)寄存器 名 稱地 址 描 述 IOPIN 0xE0028000 引腳值寄存器,引腳當(dāng)前狀態(tài)都從該寄存器讀出 IOSET 0xE0028004 輸出置位寄存器,只能寫1,對應(yīng)引腳輸出高電平 IOCLR 0xE0028008 輸出清零寄存器,只能寫1,對應(yīng)引腳輸出低電平 IODIR 0xE002800C 方向控制寄存器??刂泼總€(gè)I/O方向另外GPIO口還包含兩個(gè)引腳連接模塊寄存器PINSEL0、PINSEL1,用來為32個(gè)引腳配置I/O功能或其他特殊功能。 HS12864-16A是內(nèi)部不帶字符發(fā)生器的3V液晶模塊(LPC210X可直接驅(qū)動5V液晶模塊俁考慮到功耜耗,不贊成連接),其主要引腳如表2所列)。 表2 HS12864-16A引腳525252 引 腳 號引 腳 名 稱 描 述 1、23、 VSS、VDD、V0 電源(3.3V)、電源地、驅(qū)動負(fù)太 4 D/I 數(shù)據(jù)指令選擇 5 R/W 讀寫選擇 6 E 使能,R/W=0,下降沿鎖存DB7DB0 7~14 DB0~DB7 數(shù)據(jù)線 15、16 CS1、CS2 左、右半屏選擇 17 RET 復(fù)位,低電平復(fù)位 18 Vout LCD驅(qū)動負(fù)壓,-10V,分壓接3腳 19、20 EN、NO 背光電源 顯示屏由128%26;#215;64點(diǎn)陣組成,共有64行,分為8頁,每頁8行,每行128列。寫指令規(guī)則如下:當(dāng)D/I=0、R/W=0,所有指令由傳輸?shù)綌?shù)據(jù)線的8位二進(jìn)制數(shù)據(jù)決定,開顯示為0x3f,并顯示為0x3e,傳輸行、列地址由2低6位決定,傳輸頁地址為低3位決定。 2 三種接口設(shè)計(jì) 2.1 直接連接法 連接框圖如圖1所示。 該種方式占用GPIO口較多,對于要大量應(yīng)用GPIO口復(fù)用功能的系統(tǒng)并不合適。為便于說明,圖1將LPC210X的P0.0~P0.12選為連接的13 個(gè)口,具體到設(shè)計(jì)系統(tǒng)中,可根據(jù)系統(tǒng)用到功能對應(yīng)GPIO口復(fù)用功能進(jìn)行選取和配置。HS12864-16A的數(shù)據(jù)線為8條,所以存在于Flash中的字模也是按8位存的,可由字模軟件得出,傳輸數(shù)據(jù)進(jìn)行顯示的時(shí)候要滿足以下時(shí)序:首先使D/I為高電平,R/W為低電平,接著將Flash里的某個(gè)8位二進(jìn)制字模傳送到8個(gè)I/O口上,然后使能E模擬下降沿時(shí)序,把數(shù)據(jù)鎖存到液晶顯示器內(nèi)部的顯示存儲器中即可顯示。 程序由ADS1.2編譯器編譯。

GPIO口配置: #define LCD_DI 0x00000100 ;指令選擇線P0.8 #define LCD_RW 0x00000200 //讀寫選擇線P0.9 #define LCD_E 0x00000400 //使能線P0.10 #define LCD_CS1 0x00000800 //左屏選擇線P0.11 #define LCD_CS1 0x00000800 //左屏選擇線P0.11 #define IO_USE 0x00001FFF //13個(gè)GPIO口傳輸方向 傳輸字模數(shù)值到液晶顯示器數(shù)據(jù)上的子程序如下: void SendData(unsigned char date){ IOSET=data; IOCLR="data%26;amp;0x000000FF; } 備注:以上子程序?yàn)椴⑿袀鬏?,也可以用串行移位進(jìn)行傳輸,具體代碼如下: unsigned char i; for(i=0;i<8;i++){ //依次發(fā)送8位數(shù)據(jù) if((data%26;amp;0x80)!=0) //最高位為1,對應(yīng)口線置1 IOSET=IO_TURN; Else IOCLR=IO_TURN; //否則置0 data<<=1; //移到下一數(shù)據(jù)線 } IO_TURN=0x00000080; //8位數(shù)據(jù)傳輸完畢后,仍然將P0.7設(shè)為起始線 } 下面以左半屏來說明如何在屏幕上任意顯示16%26;#215;16點(diǎn)陣漢字。 傳送指令子程序如下: void wcodel(unsigned char code){ //送指令 IOSET=LCD_CS1; //開左屏

IOCLR=LCD_CS2; //關(guān)右屏 IOCLR=LCD_RW; //寫選擇 IOCLR=LCD_DI; //指令選擇 SendData(code); //依次將指令代碼傳到數(shù)據(jù)線上 IOSET=LCD_E; //模擬使能E下降沿 IOCLR=LCD_E; } 同理,只要把IOCLR=LCD_DI改為IOSET=LCD_DI便成傳送數(shù)據(jù)了。為便于區(qū)分,可將函數(shù)名改為wdata1(data)。 顯示左屏漢字子程序如下: void hzleft(unsigned char page,unsigned charrow,unsigned char number){ //形參分別為頁、列、漢字序號 unsigned char i,j; wcode1(0xc0); //設(shè)置12864從第1行顯示 wcode1(0x3f); //開顯示器 for(j=page;j reg[3:0]lock; //定義鎖存寄存器 always@(enable or data) begin if(!enable) //低電平鎖存 lock<=data; else //高電平開通鎖存 ,輸出8位 begin out_high=lock; out_low=data; end end endmodule 至于P0.5選通CS1、CS2,在另一always塊中用ifelse語句進(jìn)行判斷就可以了。 程序設(shè)計(jì)完成后,在WEBPACK中對用到的引腳進(jìn)行分配與鎖定,然后編譯。如果需要仿真的 埃?鴕?杓貧ゲ鬮件,可使用Xilinx公司推出的免費(fèi)仿真軟件MODELSIM。 對于上面的第二種方法,也可以考慮用CPLD設(shè)計(jì)稱位存儲器及時(shí)序控制。在復(fù)雜應(yīng)用中,加上CPLD不但可以令設(shè)計(jì)簡化,還可以使系統(tǒng)性能大大增加。 結(jié)語 對于無外部總線的Philips LPC210X,只能通過GPIO口模擬部連接液晶顯示器。但在設(shè)計(jì)過程中,可以考慮通過串行轉(zhuǎn)換或CPLD分部連接的方法減少GPIO口的使用,以便充分利用LPC210X的資源。不過沒有總線畢竟有所束縛,好在Philips即將推出的LPC22X4系列控制器開放了外部總線,相信當(dāng)這款芯片推出后,必將得到更多的關(guān)注。

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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