1 概述 彩色液晶顯示器作為當代高新技術的結晶產,不但具有超薄平臺、顯示信息豐富、色彩逼真的特點,而且還具有體積小、耗電省、壽命長、無輻射、抗震、防爆等其它類型顯示器無可比擬的優點,因而是工控儀表、機電設備等行業更新換代的理想顯示器件。另外,隨著單片機與嵌入式系統應用領域的不斷擴大,對于以單片機為核心構成的高檔儀器儀表、信息家電、工控產品、數據采集等系統的人機界面友好性提供了越來越高的要求。要求不但可以顯示漢字,還要顯示圖像;如果能用五彩繽紛的色彩來顯示不同的信息則更理想。但是,對于軟硬件資源均十分緊張的普通單片機來說,顯示漢字已十分勉強,更談不上圖形及彩色圖形的顯示了,即便對硬件功能強大的高性能單片機來說,管理好彩色液晶顯示器也不是一件容易的事。因此對于普通單片機而言,具有友好的彩色人機界面將是十分困難的事件。 如果能像微機那樣,將具體的顯示過程由顯卡去管理,而CPU僅負責提供一下顯示數據,則將大大簡化了顯示過程,從而解決彩色液晶顯示過程復雜的難題。YD-613智能彩色液晶顯示器即是具有彩色顯示管理功能的液晶顯示器。 2 性能特點 YD-613是一款內嵌高速管理單片機的智能液晶顯示器。該顯示器采用了顯示畫面預置技術,即將顯示內容分為固定部分和變化部分。固定部分可在微機上進行繪制、編輯、修改,然后將其作為預置畫面下載到顯示器內E2PROM中保存。在需要顯示時,僅需使用簡單的預置畫面調用指令就可調出來顯示預置畫面,不但可以循環、交替、重疊顯示,還可與變化部分的數據即現場實現顯示的數據組合顯示。從而將上位機從繁雜的顯示管理工作解脫出來,也降低了對上位機的軟硬件要求。使用普通單片機即可構成彩色晶人機界面。YD-613彩色液晶顯示器的性能特點如下: ①顯示點陣數320W×240H; ②內含GB2312一級簡體漢字庫,二級漢字庫可選; ③內含高速MCU及顯示驅動邏輯電路; ④顯示器提供忙信號輸出,以便能夠即時檢測模塊狀態; ⑤ 同時提供RS-232C標準串行通信接口及打印機并行接口兩種通信方式; ⑥ 命令式操作,可同時顯示彩色中西文、表格、直方圖、自由曲線; ⑦ 可選配套觸摸屏。 YD-613彩色液晶顯示器的性能指標如表1所列。 指標中文顯示15行×20列 可顯示字符西文ASCII、中文一級字庫 預置頁畫256頁 圖形點陣320ΧRGBΧ240 彩色方式TFT 視野方式130 亮度350 CDm2 顯示顏色64 通信接口串口、并口 輸入電壓DC 12V 消耗功率DC 12 V 900mA 保存溫度-20度~70度 工作環境溫度0度~50度 YD-613彩色液晶顯示器外部接口采用20腳針式插座。 引腳排列如圖2所示, 圖 (2) 引腳功能說明如表2所列。 表2 YD-613引腳功能說明 引腳號信號名稱意 義備 注 1~3GND地- 4BUSY忙信號高電平有效 5~12DATA7~DATA0并口數據并口 13STB選通信號下降沿有效 14RXD接收數據串口 15 DTR緩沖數據串口 16BLC關背光 17Reset復位 18~20電源+12V 3 功能描述 3.1 內部結構YD-613彩色液晶顯示器的內部結構如圖1所示。 3.2 通信協議YD-613型彩色液晶顯示器具有串行和并行兩種通信方式。 (1)串行通信 YD-613串行通信采用標準RS-232通信方式,數據格式為:1個起始位,8個數據位,1個停止位。為了提高通信速度,顯示器內設置了一個256字節的輸入緩沖區。在發送數據前,應先檢查DTR信號。若DTR為高電平(TTL),表示緩沖區滿,要等到DTR信號變為低電平(TTL)后再發送數據。如果每組的數據量少于256字節,同時每組之間又有足夠的間隔,則不判斷DTR位信號也可連續發送。 (2)并行通信并行通信使用打印機并行接口,并行口的時序圖如圖3所示。首先,準備好數據,BUSY信號為低電平之后,發送一個STB信號(下降沿有效),等待0.5μs后再檢測BUSY信號。若為高電平,則表示本機正在處理數據或緩沖區已,等到該信號變為低電平后再延時5μs發送下一個數據。 4 標準命令集 4.1 命令定義 YD-613彩色液晶顯示器作為智能顯示器的一項突出特點就是,避免了用戶敏瑣的點陣操作,只需使用簡單的命令,就可顯示出漢字、字符和預置的圖形。YD-613的命令大致可以分為三種類型:光標控制、功能設置、圖形操作。這里以十六進制碼格式給出YD-613的標準命令集,如表3所列。十六進制格式適用于單片機作上位機,每條命令均以"ESC"(十六進制碼的"1B")打頭,后面緊跟命令代碼和所需要的參數。 YD-613命令使用規則如下: ①顏色代碼 液晶顯示器的圖形方式以光點(每個光點包含RGB三個色點)為最小點陣顯示單位。字符方式以8×16點陣為最小顯示塊單位,西文字符占一個顯示塊,16×16點陣的漢字占二個顯示塊。 放大顯示時,橫向放大的占橫向兩倍位置,縱向放大的占縱向兩行位置。 圖形點陣數與字符行列數,表示方便,在命令格式中以變量代替,其范圍見下表 GraphCol(像素列數)GraphRow(像素行數)TextCol(字符列數)TextRow(字符行數)MaxColor(最大顏色代碼) YD-613320240401564種 命令表中所用到的顏色代碼對應如下: 可顯示64種顏色直接使用顏色數據作為顏色代碼,顏色在數據中的位置是: D7 D6 D5 D4 D3 D2 D1 D0數據位 R2 R1 R0 G2 G1 G0 B1 B0對應顏色 其中: R——紅色 G——綠色 B——藍色 當顏色對應的數據位為1時,表示亮,數據位為0時,表示暗。 例:如果顯示最亮的純紅色,則將顏色代碼設為 E0H; 如果顯示最亮的黃色,則將顏色代碼設為 FCH; 表3 YD-613彩色液晶顯示器標準命令集 十 六 進 制 格 式說 明 1B 0dn回邊換行 1B 10光標稱到行尾 1B 11光標移到行首 1B 18BMP文件直接顯示 1B 19滿屏BMP文件調用 1B 1E光標移到首行 1B 1F光標移到尾行 1B 20 0~7寫入整幅BMP文件 1B 20 08特種字庫傳送 1B 20 0A標準字庫傳送 1B 23置漢字方式 1B 24置西文字符方式 1B 25n自動判別顯示數據的屬性 1B 26 m,n設定特種字庫 1B 27 No顯示特種字庫的第No個字模 1B 28(Block Page Num)寫入單塊BMP文件 1B 29 Block Page X Y Wide High 在指定位置顯示指定大小的BMP文件 1B 2A x y color1 color2 用指定顏色填充閉合圖形 1B Nx ycolor 0<=n<8初始化曲線 1B 38m n光標顏色 1B 41color x1 y1 x2 y2 畫實心矩形 1B 42color用指定的顏色清屏 1B 43color設置前景顏色 1B 44光標下移1行 1B 45 b0 b1 b2,…,bn繪制曲線 1B 46 color x1 y1 x2 y2 畫線 1B 47x y 光標移到(x y)位置 1B 48x y 光標定位到指定像素 1B 4C光標左移一字符位 1B 4Dn 設置放大倍數 1B 50n調用預置的第n頁圖像 1B 52n光標右移n字符位 1B 53n 延時 1B 55光標上移一行 1B 56n md將預置畫面寫入用戶Flash 1B 57n 光標顯示控制 1B 58n選擇覆蓋或重疊方式顯示 1B 59 color x y R畫圓 1B 5A color x1 y1 x2 y2畫空心矩形 ②放大顯示時,橫向放大的占橫向兩倍位置,縱向放大的占縱向兩行位置。 ③YD-613在圖形操作命令中,X方向坐標值最大為320,用十六進制數表示時,必須占用2字節。因此凡命令中涉及到圖形坐標的地方,X方向和Y方向均以2字節表示。低位字節在前,高位字節在后。 4.2 常用命令說明 為便于YD-613彩色液晶顯示器在嵌入式系統中的應用,下面對嵌八式系統中常用的命令說明如下。 (1) 調用預置畫面命令參數n為調用用戶預置的第(n+1)頁面,n的取值范圍為(0,254。YD-613液晶顯示器規定,對于用戶ROM,每80H個單元為1頁,每幅畫面可能有1個或多個頁面。圖4YD-613 與單片機的串行接口電路 (2)置漢字顯示方式YD-613彩色液晶顯示器的漢字庫字模均按照國標碼的順序排列。漢字內碼為兩個字節編碼,利用字節的最高位置"1"作標志,而西文的內部碼為七位編碼。 (3)置西文字符方式YD-613液晶字庫的字模僅收錄了ASCII碼的前128個字符。置成西文字符方式后,在未改變成漢字顯示方式前,所有與命令無關的字節,都將作為西文字符顯示。 (4)重疊或覆蓋顯示方式顯示漢字和字符時采用重疊或覆蓋。n=1:表示重疊顯示,此種狀態下,漢字、西文字符的顯示速度比較快。n=0:表示覆蓋顯示,即在顯示漢字或字符之前,先用背景顏色清除一下該部位。此種狀態下的顯示速度慢,適用于在畫面的固定位置上顯示動態信息。 (5)畫線命令參數color:顏色代碼。(x1 y1):所畫線段的起點坐標。(x2 y2):所畫線段的終點坐標,使用指定的顏色畫線。如果x1=x2,則所畫線段為垂線;如果y1=y2,則所畫線段為水平線段;如果x1=x2,y1=y2,則所畫線段為一點;如果x1≠x2,y1≠y2,則所畫線段為一斜線。 (6)繪制曲線以b0,b1,b2,……,bm為一組方向數據繪制曲線。Bn為結束符,bn大于等于80H則畫線結束。 YD-613在嵌入式系統中的應用 5、 接口設計 YD-613應用于嵌入式系統時,既可使用并行方式,也可使用串行方式與系統接口。下面以MCS-51系列單片機為例,分別敘述各種接口方式。 ①并行接口方式1。當用戶系統為總線擴展方式時,YD-613使用并行方式與系統接口較方便。即將YD-613的DATA0~DATA7與單片機的數據總線相連,BUSY接P1.0,STB接P1.1即可。 ②并行接口方式2。當用戶系統為非總線擴展應用,而又有較多閑置的I/O口時,也可采用并行接口方式。如可將DATA0~P1.7相連,BUSY接P3.2,STB接P3.3 ③串行接口方式1。當用戶系統I/O口線資源較為緊張時,可使用單片 機的UART串口并轉換為RS-232電平后與YD-613接口。由于YD-613只接收顯示數據,數據傳送為單工,故此時僅使用單片機串行數據發送端TXD即可;同時,還應點用單片機的一根口線,用于檢查YD-613的接收緩沖區滿信號。 ④串行接口方式2。當用戶系統的UART串口已被占用時,可利用單片機一根未用的口線模擬生成一個通信協議為(4800.n.8.1)的軟串口。并轉換為RS-232電平后與YD-613接口。下面以串行接口方式1(即使用單片機的UART標準串口)為例,給出YD-613與單片機接口電路,如圖4所示。圖4中,AT89C52的TXD端經MAX232轉換為RS-232電平后,與YD-613的RXD端相連。YD-613的緩沖區滿,指示信號DTR經MAX232轉換為RS-232電平后與AT89C52的P3.0端相連。5.2 顯示程序這里以串行接口方式1為例,給出與力電路配套的顯示程序。顯示屏顯示內容為紅色漢字"液晶",綠色亮字顯示漢字"顯示器"及英文字符"1A2B"。液晶屏顯示的字符如圖5所示。 ⑤51匯編程序樣例 ;Language 51ASM Author:UREIKA ;主頻:11.059MHZ ;SMOD=0 ;BAUD=9600; P1.2接DTR ORG0000H SJMPMAIN ;程序從30H開始 ORG0030H MAIN: MOVSP,#4FH ;設置棧指針 MOVPCON,#00H ;設置SMOD=0 MOVTMOD,#21H ;自動裝入時間常數的8位定時器 MOVSCON,#01010000B ;8bit UART ;8bit UART MOV TH1,#0FDH ;設置波特率為9600 MOV TL1,#0FDH MOVTCON,#40H ;記數啟動 clrTI ;清發送中斷標志 clrRI ;清接收中斷標志 MOVP1,#0FFH ;WAIT LCD WORKING LCALLDELAY ;延時 LCALLDELAY LCALLDELAY LCALLDELAY LCALLDELAY AGAIN:NOP MOVA,#1BH ACALLSEND MOVA,#42H ACALLSEND MOVA,#00H ;發送清黑屏指令1B 42 00 ACALLSEND MOVA,#1BH ACALLSEND MOVA,#42H ACALLSEND MOVA,#01H ;發送清蘭屏指令1B 42 00 ACALLSEND AJMPAGAIN ;循環 SJMP$ SEND:CALLDELY ;發送子程序 JNBP1.2,SEND1 ;test DTR ;測試DTR信號 SJMPSEND ;為高等待 SEND1:MOVSBUF,A ;為低將數據放入移位寄存器 JNBTI,$ ;發送標志為0等待 CLRTI ;清發送標志 SEND3:RET DELY:MOVR1,#30H ;延時子程序 DELY1:DJNZR1,DELY1 RET DELAY:MOVR1,#0FFH DELAY1:MOVR2,#0FFH DELAY2:DJNZR2,DELAY2 DJNZR1,DELAY1 RET END ;結束 51匯編程序樣例(并口) ;SETBEQU P32 ;選通信號 ;BUSYEQU P3.3 ;忙信號 ORG 0000H LJMP MAIN ;程序從100H開始 ORG 100H MAIN: MOV A,#00H ;P1口設為輸出 MOV P1,A CLR P3.2 ;P3.2設為輸出 NOP ;空操作 Nop Nop SETB P3.3 ;P3.3設為輸入 LOOP:MOV R2,#09H ;設置表格 MOVDPT R,#COMMTAB LOOP1:CLR A ;發送表格 MOVC A,@A+DPTR LCALL SEND DJNZ R2,LOOP1 LCALL DELAYL SIMP LOOP SEND: ;發送子程序 NOP SEND1:JB P3.3SEND ;檢測忙信號,忙信號等待 MOV P1,A ;不忙,將數據放到P1口 CLR P3.2 ;選通信號發出 NOP NOP NOP NOP SETB P3.2 LCALL DELAY ;延時 RET DELAY;MOV R3,#0FFH DELAY;NOP NOP NOP NOP DJNZ R3,DELAYA RET END ;結束 結語 YD-613彩色液晶智能顯示器可為嵌入式系統提供一個友好的彩色人機界面;同時,由于其內部具有顯示管理MCU,大大降低了嵌式系統使用彩色液晶顯示器的門坎,使用普通單片機即可實現彩色液晶屏的管理工作,從而可使嵌入式系統具有一個靚麗的外觀。目前受價格的制約,該產品僅應用于彩色無紙記錄儀、GPS、智能儀器等高端電子產品中。相信隨著科技的進步與時代的發展,彩色液晶顯示器會得到越來越廣泛的應用。 |