摘 要:詳細(xì)介紹點陣圖形液晶模塊FYD12864-0402B的原理和AT91RM9200特性,具體闡述FYD12864-0402B與AT91RM9200的硬件接口和驅(qū)動程序的設(shè)計。該接口結(jié)構(gòu)簡單、性能穩(wěn)定,達(dá)到了設(shè)計要求,取得了良好的顯示效果。
關(guān)鍵詞:點陣圖形液晶模塊;AT91RM9200;接口結(jié)構(gòu);驅(qū)動程序
Interface Design of Dot Matrix Liquid Crystal Module
HAO Dingyuan
(College of Information Science and Technology,Chengdu University,Chengdu,610106,China
Abstract: The article introduces the principle of graphic dot matrix liquid crystal module FYD12864-0402B and the characteristics of AT91RM9200 in details,elaborates on the hardware interface circuit and the driver between FYD12864-0402B and AT91RM9200.It is proved that the interface has the advantages of simple structure and excellent stability,which satisfies the design require and can get good display effect.
eywords:liquid crystal module;AT91RM9200;interface structure;driver
1 引 言
隨著嵌入式系統(tǒng)廣泛的應(yīng)用,人們對人機界面的要求也越來越高,簡單的顯示方法已經(jīng)不能滿足需要。液晶顯示器(LCD)具有功耗低、體積小、質(zhì)量輕、超薄和可編程等優(yōu)點,廣泛用于各種儀器,儀表和低功耗電子產(chǎn)品中。特別是點陣圖形液晶顯示器,不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且具有實現(xiàn)屏幕上下左右滾動、動畫、閃爍、文本特征顯示等功能,用途十分廣泛[1]。在設(shè)計嵌入式開發(fā)平臺的過程中,以ARM芯片作為嵌入式系統(tǒng)處理器,它具有高性能、低功耗、低成本等特點(具體選型為Atmel公司出品的AT91RM9200芯片),選擇ST7920為控制器的FYD12864-0402B液晶顯示器的結(jié)構(gòu),設(shè)計了驅(qū)動程序。經(jīng)過調(diào)試,系統(tǒng)取得了很好的顯示效果。
2 硬件模塊簡介
(1 顯示模塊:FYD12864-0402B是內(nèi)置ST7920控制器的128×32點陣圖形液晶顯示器,通過對ST7920控制器的編程應(yīng)用,可以實現(xiàn)字符和圖形的顯示。FYD12864-0402B是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為128×64,內(nèi)置8 192個16×16點的漢字,和128個16×8點的ASCII字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示8×4行16×16點陣的漢字, 也可完成圖形顯示,低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)和顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊[2]。它的基本特性如下:
低電源電壓(VDD:+3.0~+5.5 V);
顯示分辨率:128×64點;
內(nèi)置漢字字庫,提供8 192個16×16點陣漢字(簡繁體可選;
內(nèi)置 128個16×8點陣字符;
2 MHz時鐘頻率;
顯示方式:STN、半透、正顯;
驅(qū)動方式:1/32DUTY,1/5BIAS;
視角方向:6點;
背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/5~1/10;
通訊方式:串行、并口可選;
內(nèi)置DC-DC轉(zhuǎn)換電路,無需外加負(fù)壓。
(2) AT91RM9200處理器:AT91RM9200是Atmel針對系統(tǒng)控制以及通信領(lǐng)域推出的基于ARM920T內(nèi)核的新微型控制器。它在工作頻率為180 MHz時處理速度為200 MIPS,具有獨立的16 k指令和16 k數(shù)據(jù)Cache,寫緩存,全功能的MMU虛擬內(nèi)存管理單元,AT91RM9200是完全圍繞ARM920TARMTburnb處理器構(gòu)建的系統(tǒng)[3]。它有豐富外設(shè)接口及標(biāo)準(zhǔn)接口,從而為低功耗、低成本、高性能的嵌入式應(yīng)用提供一個很好的處理器芯片。AT91RM9200包括一個高速片上SRAM工作區(qū)和一個低等待時間的外部總線接口(EBI,以完成應(yīng)用所要求的片外存儲器和內(nèi)部存儲器映射外設(shè)配置的無縫連接。EBI有SDRAM,BurstFLASH及靜態(tài)存儲器的控制器,并設(shè)計了專用電路以方便與SmartMedia,CompactFLASH及FLASH連接。AT91RM9200集成了許多標(biāo)準(zhǔn)接口控制器,包括USB和設(shè)備端口及與多數(shù)外設(shè)和在網(wǎng)絡(luò)層廣泛使用的10/100Base_T以太網(wǎng)媒體訪問控制器(MAC。
此外,它還提供一系列符合工業(yè)標(biāo)準(zhǔn)的外設(shè),可在音頻、電信、FLASH卡、紅外線及智能卡中使用。AT91RM9200集成了包括JTAG-ICE、專門UART調(diào)試通道(DEBUG及嵌入式的實時追蹤的一系列的調(diào)試功能[4]。AT91RM9200處理器有2種封裝:一種是BGA形式的封裝,它有256個引腳;一種是PQFP形式的封裝,它有208個引腳。本系統(tǒng)中采用的PQFP封裝的處理器。
(3) AT91RM9200與FYD12864-0402B液晶的接口電路:FYD12864 -0402B液晶顯示模塊分為串口連接和并口連接,因為AT91RM9200I/O引腳較多,所以FYD12864 -0402B在該系統(tǒng)中采用的是8位并口連接。接口連接如圖1所示:
3 驅(qū)動程序設(shè)計
對FYD12864 -0402BLCD的顯示驅(qū)動程序設(shè)計主要包括3部分: 對LCD的初始化;對LCD模塊寫指令;對LCD模塊寫數(shù)據(jù)。這3個部份是構(gòu)成其他顯示程序的基礎(chǔ)。因為LCD內(nèi)部自帶漢字模塊,因此只要向控制器發(fā)送相應(yīng)的代碼就可以實現(xiàn)漢字的顯示,對于圖形和曲線顯示只需要設(shè)置好對應(yīng)的水平地址和垂直地址,并把圖形編碼傳送到LCD模塊中就可以顯示出內(nèi)容。
(1LCD的初始化函數(shù)設(shè)計
void Init_LCD(void[JY]//初始化LCD模塊
{
Write_Single_CMD(0x30;[JY]//功能設(shè)置--8BIT控制界面,基本指令集
Write_Single_CMD(0X0C;
Write_Single_CMD(0x01;[JY]//清除屏幕顯示,將DDRAM的地址計數(shù)器清零
Write_Single_CMD(0x06;[JY]//DDRAM的地址計數(shù)器(AC)加1
}
(2 LCD模塊寫指令設(shè)計
void Write_Single_CMD(unsigned char cmd[JY]//寫單字節(jié)命令字
{
AT91F_PIO_ClearOutput(AT91C_BASE_PIOB,AT91C_PIO_PB27; [JY]// RS
AT91F_PIO_ClearOutput(AT91C_BASE_PIOB,AT91C_PIO_PB28; [JY]// RW
AT91F_PIO_SetOutput(AT91C_BASE_PIOB,AT91C_PIO_PB26; [JY]// Enable
LCD_dataout(cmd;
Delay100us(100 * delaytimes;[JY]//延時
AT91F_PIO_ClearOutput(AT91C_BASE_PIOB,AT91C_PIO_PB26;[JY]//Disable
LCD_dataout(0xFF;
Delay100us(100 * delaytimes;[JY]//延時
}
(3 LCD模塊寫數(shù)據(jù)
void Write_Single_Data(uchar a [JY]//寫單字節(jié)數(shù)據(jù)
{
AT91F_PIO_SetOutput(AT91C_BASE_PIOB,AT91C_PIO_PB27; [JY]// RS
AT91F_PIO_ClearOutput(AT91C_BASE_PIOB,AT91C_PIO_PB28;[JY]//RW
AT91F_PIO_SetOutput(AT91C_BASE_PIOB,AT91C_PIO_PB26;[JY]//Enable
LCD_dataout(a;
AT91F_PIO_ClearOutput(AT91C_BASE_PIOB,AT91C_PIO_PB26; [JY]//Disable
LCD_dataout(0xFF;
}
4 結(jié) 語
隨著智能化儀器和嵌入式系統(tǒng)的逐步推廣,LCD模塊使用也會越來越廣泛。以上的接口電路通過實際測試和使用,表明該LCD模塊和AT91RM9200接口穩(wěn)定可靠,字符和圖形顯示正常,達(dá)到設(shè)計要求,可以進(jìn)行推廣使用。
參 考 文 獻(xiàn)
[1]李維,郭強,周云仙.液晶顯示應(yīng)用手冊[].北京:電子工業(yè)出版社,2002.
[2]FYD Corporation.FYD12864-0402B LCD datasheet[].2002.
[3]ATMEL Corporation.AT91RM9200 Microcontroller Data-sheet[].2002.
[4]朱義君,楊育紅.AT91系列ARM微控制器體系結(jié)構(gòu)與開發(fā)實例[M].北京:北京航空航天大學(xué)出版社,2005.
[5]江俊輝.基于ARM的嵌入式系統(tǒng)硬件設(shè)計[J].微計算機信息,2005(7):11-13.