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