摘 要:詳細介紹點陣圖形液晶模塊FYD12864-0402B的原理和AT91RM9200特性,具體闡述FYD12864-0402B與AT91RM9200的硬件接口和驅動程序的設計。該接口結構簡單、性能穩定,達到了設計要求,取得了良好的顯示效果。
關鍵詞:點陣圖形液晶模塊;AT91RM9200;接口結構;驅動程序
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 引 言
隨著嵌入式系統廣泛的應用,人們對人機界面的要求也越來越高,簡單的顯示方法已經不能滿足需要。液晶顯示器(LCD)具有功耗低、體積小、質量輕、超薄和可編程等優點,廣泛用于各種儀器,儀表和低功耗電子產品中。特別是點陣圖形液晶顯示器,不僅可以顯示字符、數字,還可以顯示各種圖形、曲線及漢字,并且具有實現屏幕上下左右滾動、動畫、閃爍、文本特征顯示等功能,用途十分廣泛[1]。在設計嵌入式開發平臺的過程中,以ARM芯片作為嵌入式系統處理器,它具有高性能、低功耗、低成本等特點(具體選型為Atmel公司出品的AT91RM9200芯片),選擇ST7920為控制器的FYD12864-0402B液晶顯示器的結構,設計了驅動程序。經過調試,系統取得了很好的顯示效果。
2 硬件模塊簡介
(1 顯示模塊:FYD12864-0402B是內置ST7920控制器的128×32點陣圖形液晶顯示器,通過對ST7920控制器的編程應用,可以實現字符和圖形的顯示。FYD12864-0402B是一種具有4位/8位并行、2線或3線串行多種接口方式,內部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為128×64,內置8 192個16×16點的漢字,和128個16×8點的ASCII字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構成全中文人機交互圖形界面。可以顯示8×4行16×16點陣的漢字, 也可完成圖形顯示,低電壓低功耗是其又一顯著特點。由該模塊構成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結構和顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊[2]。它的基本特性如下:
低電源電壓(VDD:+3.0~+5.5 V);
顯示分辨率:128×64點;
內置漢字字庫,提供8 192個16×16點陣漢字(簡繁體可選;
內置 128個16×8點陣字符;
2 MHz時鐘頻率;
顯示方式:STN、半透、正顯;
驅動方式:1/32DUTY,1/5BIAS;
視角方向:6點;
背光方式:側部高亮白色LED,功耗僅為普通LED的1/5~1/10;
通訊方式:串行、并口可選;
內置DC-DC轉換電路,無需外加負壓。
(2) AT91RM9200處理器:AT91RM9200是Atmel針對系統控制以及通信領域推出的基于ARM920T內核的新微型控制器。它在工作頻率為180 MHz時處理速度為200 MIPS,具有獨立的16 k指令和16 k數據Cache,寫緩存,全功能的MMU虛擬內存管理單元,AT91RM9200是完全圍繞ARM920TARMTburnb處理器構建的系統[3]。它有豐富外設接口及標準接口,從而為低功耗、低成本、高性能的嵌入式應用提供一個很好的處理器芯片。AT91RM9200包括一個高速片上SRAM工作區和一個低等待時間的外部總線接口(EBI,以完成應用所要求的片外存儲器和內部存儲器映射外設配置的無縫連接。EBI有SDRAM,BurstFLASH及靜態存儲器的控制器,并設計了專用電路以方便與SmartMedia,CompactFLASH及FLASH連接。AT91RM9200集成了許多標準接口控制器,包括USB和設備端口及與多數外設和在網絡層廣泛使用的10/100Base_T以太網媒體訪問控制器(MAC。
此外,它還提供一系列符合工業標準的外設,可在音頻、電信、FLASH卡、紅外線及智能卡中使用。AT91RM9200集成了包括JTAG-ICE、專門UART調試通道(DEBUG及嵌入式的實時追蹤的一系列的調試功能[4]。AT91RM9200處理器有2種封裝:一種是BGA形式的封裝,它有256個引腳;一種是PQFP形式的封裝,它有208個引腳。本系統中采用的PQFP封裝的處理器。
(3) AT91RM9200與FYD12864-0402B液晶的接口電路:FYD12864 -0402B液晶顯示模塊分為串口連接和并口連接,因為AT91RM9200I/O引腳較多,所以FYD12864 -0402B在該系統中采用的是8位并口連接。接口連接如圖1所示:
3 驅動程序設計
對FYD12864 -0402BLCD的顯示驅動程序設計主要包括3部分: 對LCD的初始化;對LCD模塊寫指令;對LCD模塊寫數據。這3個部份是構成其他顯示程序的基礎。因為LCD內部自帶漢字模塊,因此只要向控制器發送相應的代碼就可以實現漢字的顯示,對于圖形和曲線顯示只需要設置好對應的水平地址和垂直地址,并把圖形編碼傳送到LCD模塊中就可以顯示出內容。
(1LCD的初始化函數設計
void Init_LCD(void[JY]//初始化LCD模塊
{
Write_Single_CMD(0x30;[JY]//功能設置--8BIT控制界面,基本指令集
Write_Single_CMD(0X0C;
Write_Single_CMD(0x01;[JY]//清除屏幕顯示,將DDRAM的地址計數器清零
Write_Single_CMD(0x06;[JY]//DDRAM的地址計數器(AC)加1
}
(2 LCD模塊寫指令設計
void Write_Single_CMD(unsigned char cmd[JY]//寫單字節命令字
{
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模塊寫數據
void Write_Single_Data(uchar a [JY]//寫單字節數據
{
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 結 語
隨著智能化儀器和嵌入式系統的逐步推廣,LCD模塊使用也會越來越廣泛。以上的接口電路通過實際測試和使用,表明該LCD模塊和AT91RM9200接口穩定可靠,字符和圖形顯示正常,達到設計要求,可以進行推廣使用。
參 考 文 獻
[1]李維,郭強,周云仙.液晶顯示應用手冊[].北京:電子工業出版社,2002.
[2]FYD Corporation.FYD12864-0402B LCD datasheet[].2002.
[3]ATMEL Corporation.AT91RM9200 Microcontroller Data-sheet[].2002.
[4]朱義君,楊育紅.AT91系列ARM微控制器體系結構與開發實例[M].北京:北京航空航天大學出版社,2005.
[5]江俊輝.基于ARM的嵌入式系統硬件設計[J].微計算機信息,2005(7):11-13.