新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計應用 > 圖形點陣式液晶顯示器MSP-G320240在高速處

圖形點陣式液晶顯示器MSP-G320240在高速處

作者: 時間:2004-12-08 來源:網(wǎng)絡(luò) 收藏
摘要:介紹了內(nèi)置SED1335控制器的的工作原理及應用方法,給出了器同DSP的簡單接口電路,同時給出了相應的器的初始化和清顯示區(qū)的具體程序。

關(guān)鍵詞:液晶顯示器;DSP;接口;SED1335;

1 引言

各種儀器儀表無論是測量型的儀器儀表,還是信號源型的儀器儀表,或大或小都有一個顯示子系統(tǒng),這使得液晶顯示器(LCD)的應用尤為廣泛。由于液晶顯示器具有體積小、外形薄、功耗低、重量輕、工作驅(qū)動電壓低、無輻射,特別是視域?qū)?、顯示信息量大等優(yōu)點,因此,隨著現(xiàn)代測控技術(shù)的日益發(fā)展,液晶顯示器已經(jīng)成為測量顯示結(jié)果和人機對話的重要工具。本文介紹了內(nèi)嵌SED1335控制器的液晶顯示器MSP-G320240的工作原理,給出了它與DSP的接口方法及相應的C語言程序應用設(shè)計。

SED1335是日本SEIKO EPSON公司出品的液晶顯示控制器,它具有I/O緩沖器、指令功能豐富、能混合顯示和文本、4位數(shù)據(jù)可并行發(fā)送、并可最大驅(qū)動640256等特點。

2 MSP-G320240簡介

MSP-G320240是TRULY SEMICONDUCTORS公司生產(chǎn)的式液晶顯示器,圖1為其具體的電路結(jié)構(gòu)。

從圖1可知,MSP-G320240的最大為320240?且?guī)в斜彻夤δ?,能夠在很寬的溫度范圍?nèi)工作(0~50℃)?內(nèi)部有SED1335液晶顯示控制器。SED1335的硬件結(jié)構(gòu)可分成MPU接口部分、內(nèi)部控制部分和LCD驅(qū)動部分。

SED1335的接口部分由指令輸入緩沖器、數(shù)據(jù)輸入緩沖器、數(shù)據(jù)輸出緩沖器和標志寄存器組成。通過引腳的電平設(shè)置可選擇適配8080系列和M6800系列MPU的等兩種操作時序電路。

SED1335的控制部分由振蕩器、功能邏輯電路、顯示RAM管理電路、字符庫及其管理電路以及產(chǎn)生驅(qū)動時序的時序發(fā)生器等組成。振蕩器工作頻率可在1~10MHz內(nèi)選擇,而SED1335也可在很高的工作頻率下迅速解譯由MPU發(fā)來的各類代碼。

SED1335可以管理64kB顯示RAM,同時可以管理內(nèi)藏的字符發(fā)生器、外擴字符發(fā)生器CGRAM或外部CGRAM。64kB顯示RAM可分為文本顯示區(qū)、圖形顯示區(qū)和字符顯示區(qū)等三種顯示特性區(qū)。其中文本顯示區(qū)專用于文本方式顯示,區(qū)中每個字節(jié)的數(shù)據(jù)都認為是字符代碼。SED1335使用該字符代碼確定字符首地址,然后將相應的字模數(shù)據(jù)傳送出去,以在液晶屏上顯示該字符的88點陣塊;圖形顯示區(qū)用于圖形方式顯示,區(qū)中每個字節(jié)的數(shù)據(jù)直接被送出,每個位的電平狀態(tài)決定顯示屏上一個點的顯示狀態(tài),“1”為顯示,“0”為不顯示;SED1335內(nèi)的字符發(fā)生器CGROM固化了160種57點陣字符的字模;此外,SED1335還能外擴字符發(fā)生器,其代碼范圍是80H~9FH和E0H~FFH共64種。

SED1335的驅(qū)動部分具有各顯示區(qū)的合成顯示能力、傳輸數(shù)據(jù)的組織功能及產(chǎn)生液晶顯示模塊所需時序的功能。SED1335用4位并行方式向液晶顯示器傳輸數(shù)據(jù)。

一般來講,使用內(nèi)置SED1335控制器的液晶顯示器時,設(shè)計者無需了解SED1335對液晶屏的顯示驅(qū)動、點陣掃描、顯示存儲器管理等操作,這一切都會由SED1335自動進行?因此只需清楚SED1335的各種數(shù)據(jù)指令格式、顯示存儲器的區(qū)間劃分和接口引腳的功能定義即可。

該液晶顯示器同微處理器的接口也很簡單,只要按液晶顯示器的引腳功能定義將其分別連接于微處理器的相應管腳即可。微處理器對液晶顯示器的操作有四類、共13條指令:第一類是系統(tǒng)控制指令(2條),用于設(shè)置SED1335的軟件初始化和顯示驅(qū)動電源狀態(tài);第二類是顯示操作指令(7條),該類指令用于設(shè)置顯示的數(shù)據(jù)起始地址、區(qū)域、方式以及光標的顯示方式、形狀和光標地址指針的移動方向等;第三類是繪制操作指令(2條),該指令專用于對液晶屏上的像素(點)進行操作;第四類是存儲操作指令(2條),該指令用于將顯示數(shù)據(jù)寫入顯示區(qū)并把光標地址確定的數(shù)據(jù)送到緩沖區(qū)。SED1335的多數(shù)指令都帶有參數(shù),這些參數(shù)值可根據(jù)所控制的液晶顯示器的具體特征和顯示的需要來進行設(shè)置,其指令集如表1所列。

表1 SED1335的指令集

功 能指 令操作碼

說 明

參數(shù)量
系統(tǒng)控制SYSTEM SET40H初始化,顯示窗口設(shè)置8
SLEEP IN53H空閑操作-
顯示操作DISP ON/OFF59H/58H設(shè)置顯示方式1
SCROLL44H設(shè)置顯示區(qū)域,卷動10
CSRFORM5DH設(shè)置光標形狀2
CGRAM ADR500H設(shè)置CGRAM起始地址2
CSRDIR4CH~4FH設(shè)置光標移動方向-
HDOT SCR5AH設(shè)置點單元卷動位置1
OVLAY5BH設(shè)置合成顯示方式1
繪制操作CSRW46H設(shè)置光標地址2
CSRR47H讀出光標地址2
存儲操作MWRITE42H數(shù)據(jù)寫入顯示緩沖區(qū)若干
MREAD43H從顯示緩沖區(qū)讀數(shù)據(jù)若干



3 MSP-G320240同DSP的接口

TI公司的16-bit定點DSP TMS320F206是一種低功耗的DSP器件,它采用改進的哈佛結(jié)構(gòu),有1條程序總線和3條數(shù)據(jù)總線。該DSP采用流水線操作,同時具有高度并行32-bit算術(shù)邏輯單元、1616bit并行硬件乘法器、片內(nèi)存儲器、片內(nèi)外設(shè)和高度專業(yè)化的指令集,特別適合于信號處理,可用于工業(yè)控制領(lǐng)域和各類儀器儀表的開發(fā)設(shè)計。液晶顯示器MSP-G320240有8位數(shù)據(jù)線、3個電源線和5個控制線,當TMS320F206外接16MHz晶振,且工作時鐘控制模式選為1時,可以把液晶顯示器MSP-G320240的讀寫信號線同TMS320F206的讀寫信號線直接相連。圖2所示是液晶顯示器與TMS320F206的典型接口電路。

4?。谜Z言程序設(shè)計

TMS320F206的用戶可以用匯編語言或C語言進行源程序的編寫,因為用C語言開發(fā)出的系統(tǒng)易于維護,可靠性高,可移植性好。下面是用C語言編寫的液晶顯示器MSP-G320240的初始化及清屏程序:

ioport unsigned int port1ff1; /*定義片選地址*/

ioport unsigned int port1ff0;

#define Lcd_wc port1ff1 /*LCD寫指令*/

#define Lcd_wd port1ff0 /*LCD寫參數(shù)*/

#define Lcd_rs port1ff0

#define Lcd_rd port1ff1

#define SYSTEM_SET 0x40 /*初始化設(shè)置*/

#define SCROLL 0x44 /*顯示域設(shè)置*/

#define SLEEP_IN 0x53 /*休閑模式設(shè)置*/

#define DISP_ON 0x59 /*顯示狀態(tài)設(shè)置顯示開*/

#define DISP_OFF 0x58 /*顯示關(guān)*/

#define OVLAY 0x5b /*顯示合成設(shè)置*/

#define HDOT_SCR 0x5a /*點位移設(shè)置*/

#define CSRFORM 0x5d /*光標形狀設(shè)置*/

#define CGRAM_ADR 0x5c /*CGRAM首址設(shè)置*/

#define CSRDIR_RG 0x4c /*光標移動方式設(shè)置光標右移*/

#define CSRDIR_LF 0x4d /*光標左移*/

#define CSRDIR_UP 0x4e /*光標上移*/

#define CSRDIR_DW 0x4f /*光標下移*/

#define CSRW 0x46 /*光標指針設(shè)置*/

#define CSRR 0x47 /*讀取光標指針*/

#define MWRITE 0x42 /*數(shù)據(jù)寫入設(shè)置*/

#define MREAD 0x43 /*數(shù)據(jù)讀取設(shè)置*/

#define Lcd AP 0x28 /*顯示屏一行所占字節(jié)數(shù)*/

#define wait() while((Lcd_rs&0x0040)==0x0040)/*等待*/

void Clear(unsigned int Add1,unsigned int Add2,unsigned int Data)

{unsigned int Counter;

Lcd_wc=CSRDIR_RG;wait();?/*Add1: 顯示區(qū)首址*/

Lcd_wc=CSRW; wait();/*Add2: 顯示區(qū)末址 */

Lcd_wd=0x00; wait(); /*Data: 顯示數(shù)據(jù)*/

Lcd_wd=0x00;wait();?

Lcd wc=MWRITE; wait();

{for_Counter=Add1;Counter<Add2;Counter++)

{Lcd_wd=Data;wait();}?

Lcd_wc=CSRDIR_DW; wait();}

void Lcd_Init( void) /*初始化液晶子程序*/

{unsigned int i; Lcd_wc=SYSTEM_SET; wait();

for(i=0;i<8;i++)/* Systab[]=0x30,0x87,

0x07,0x27,0x42,0xf0,0x28,0*/

{ Lcd_wd=Systab[i];wait();}Lcd_wc=

SCROLL; wait();

for(i=0;i<10;i++) /*Scrtab[]=0,0,

0xf0,0,0x40,0xf0,0,0x80,0,0x00*/

{Lcd_wd=Scrtab[i];wait(); Lcd_wc=

HDOT_SCR; wait(0;

Lcd_wd=0x00; wait();Lcd_wc=OVLAY;

wait();Lcd_ wd=0x08;wait();

Lcd_Clear(0,0x8000,0x00); /* 清顯示區(qū)子程序*/

Lcd_wc=DISP_ON; wait();Lcd_wd=

0x54;wait(); /*0x54*/

Lcd_wc=CSRFORM;wait();Lcd_wd=0x07;

wait();

Lcd_wd=0x87;wait();

Lcd_wc=CSRDIR_DW;wait();



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉