首頁 解決方案 STN 字元型液晶顯示器控制介面指南

STN 字元型液晶顯示器控制介面指南

January 19,2023

介紹

華凌擁有相當豐富的字元型液晶顯示器模組標準品,依據顯示型式有WH0802、WH1202、WH1601、WH1602、WH1604、WH2002、WH2004、WH2402、WH4002等系列的標準品。客戶可以用最少的控制腳來達成顯示目的,可以讓客戶端更方便容易選擇MCU使用。市面上常見的字元型液晶顯示器模組 (Character LCD Module),如果要使用I2C介面時,通常會在模組上外加一個I2C介面轉接電路板,除了LCM的厚度增加,生產製造也會多幾道工序,進而導致良率下降等風險。如圖1所示

The common Character LCD Module with an additional I2C transfer board

圖1: 為市面上常見外加一塊 I2C 轉接電路板的字元型液晶顯示模組。

Winstar's WH1602 Character LCD Module with built-in I2C and SPI interface

圖2: 為華凌 WH1602 的字元型液晶顯示器模組,背面不需要轉接電路板就可以直接使用 I2C、SPI 介面來控制。

 

以下介紹華凌字元型液晶顯示器模組,在不需要額外轉接電路板的情況下,搭配開發板 Arduino Uno就可以直接使用不同的通訊介面控制字元型液晶顯示器模組。

  • WINSTAR WH1602 LCM: 每行可顯示16個字,共可顯示2行字。
  • WINSTAR WH2002 LCM: 每行可顯示20個字,共可顯示2行字。
  • WINSTAR WH2004 LCM: 每行可顯示20個字,共可顯示4行字。
 

這三款LCM內部皆採用RW1063這個LCD控制器 (LCD controller),它提供了I2C、SPI兩種串列介面和一個6800並列介面(Parallel interface)。

備註:關於介面的詳細說明,請參考 認識顯示介面

識別 LCM 的腳位

編號 腳位名稱 說明
No.1 Vss 電源負極輸入腳(接地)。
No.2 Vdd 電源正極輸入腳(5V)。
No.3 V0 對比控制腳。
No.4 RS 命令/資料選擇線。
No.5 RW 只有6800 8/4bit介面有用到,讀取/寫入選擇線。
No.6 E 只有6800 8/4bit介面有用到,致能選擇線。
No.7 DB0/SA0 6800 8bit介面時為資料線位元0。
I2C介面時為SA0位址設定線。
No.8 DB1/SA1 6800 8bit介面時為資料線位元1。
I2C介面時為SA1位址設定線。
No.9 DB2 只有6800 8bit介面有用到,資料線位元2。
No.10 DB3 只有6800 8bit介面有用到,資料線位元3。
No.11 DB4 只有6800 8/4bit 介面有用到,資料線位元4。
No.12 DB5/CSB/CSB 6800 8/4bit 介面時為資料線位元5。
I2C和SPI介面時為CSB晶片致能選擇線。
No.13 DB6/SDA/SCLK 6800 8/4bit 介面時為資料線位元6。
I2C介面時為SDA資料線。
SPI介面時為SCLK時脈控制線。
No.14 DB7/SCL/SID 6800 8/4bit 介面時為資料線位元7。
I2C介面時為SCL時脈控制線。
SPI介面時為SID資料線。
No.15 A+ 背光電源正極輸入腳。
No.16 K- 背光電源負極輸入腳。
 
表1:LCM的腳位說明

 

關於上表中的 V0,這邊是使用 20k Ohm 的可變電阻來調整字元的對比,如果測試使用時,看不清文字或者持續顯示底影的畫面,可以轉動這個可變電阻調整對比。

V0 可變電阻連接方式,如下圖3所示:

figure3-v0-variable-resistor-connection-method
 
圖3:VR可變電阻連接方式示意圖。

 

LCM 和開發板 Arduino Uno 接線方式

 

如圖4所示,LCM 四種通訊介面I2C、SPI、6800 8bit/4bit連接 Arduino Uno 的方式。讀者可以觀察到 I2C 和 SPI 介面只需要少量的 GPIO 腳位控制字元型液晶顯示器模組。

其中,I2C介面的接法,是因為Arduino Uno的I2C腳位內部,提供了上拉電阻,所以,沒有再額外接上拉電阻到SDA和SCL腳位.如果使用者在程式中停用內部的上拉電阻時,必須自行外接一組上拉電阻。

(a)採用I2C介面的接法

(a)採用I2C介面的接法

(b) 採用SPI介面的接法

(b) 採用SPI介面的接法

(c)採用6800-4bit介面的接法

(c)採用6800-4bit介面的接法

(d)採用6800-8bit介面的接法

(d)採用6800-8bit介面的接法

圖4:LCM 四種通訊介面連接 Arduino Uno方式

 

LCM的指令

並不是每個通訊介面都可以使用LCM全部的指令集;採用SPI 介面時,沒有RW控制線和MISO腳位,因此,不支援讀取的指令。寫入方面是透過RS控制線決定是寫入命令資料或寫入顯示資料。

在I2C介面,同樣沒有RW控制線,所以,也不支援讀取的指令。寫入方面,沒有RS控制線,在寫入命令資料或顯示資料前,要先發送命令控制碼(A0=0),或資料控制碼(A0=1),來決定下一個發送的位元組是命令資料,還是顯示資料。

SPI和I2C介面的時序

兩張時序圖,如圖5及圖6所示.是以 SPI 介面方式控制 LCM 的時序圖。使用者可以觀察到 LCM 採用的 SPI ,並非一般 MCU 所提供的典型 SPI 介面,它需要額外一條 RS 信號線,來決定當前送出的位元組是命令?還是資料?資料線(SID)的位元(BIT7~BIT0)資料,在時脈線(SCLK)為低準位時變動;位元(BIT7~BIT0)資料,在時脈線(SCLK)為高準位時抓取(BIT7~BIT0)。

圖5:SPI寫入命令的時序。

圖5:SPI寫入命令的時序。

圖6:SPI 寫入資料的時序。

圖6:SPI 寫入資料的時序。

如圖7及圖8所示。是以 I2C 介面方式控制 LCM 的時序圖,除了晶片選擇線(CSB),讀者可以觀察到I2C介面控制,是每次送出三個位元組寫入一筆命令資料或顯示資料。其中,第二個位元組的A0位元,會決定第三個位元組是命令資料?還是顯示資料?

圖7:I2C 寫入命令的時序。

圖7:I2C 寫入命令的時序。

圖8:I2C 寫入資料的時序。

圖8:I2C 寫入資料的時序。

程式碼

根據使用的液晶顯示器模組修改程式設定,就可以直接編譯並使用。
步驟一:設定 LCM 單行最大字元數 例如下面設定單行最多有 16 個字元。

步驟一:設定 LCM 單行最大字元數 例如下面設定單行最多有 16 個字元。

步驟二:設定 LCM 最大行數
例如下面設定 LCM 共有 2 行。

步驟二:設定 LCM 最大行數

步驟三:設定 LCM 使用的通訊介面
例如下面設定使用 I2C 的介面。

步驟三:設定 LCM 使用的通訊介面

步驟四:編譯並上傳程式到Arduino Uno開發板
如圖9所示,是三款LCM呈現的畫面示意。
當顯示對比出現偏淡或偏深的情況時,可調整V0 腳位的可變電阻到適當的對比,如圖10所示。

(a) 對比偏淡只看到淺淺的字元 (b) 對比適中 (c) 對比偏深 每個字元有明顯的底影
figure9-a-1-screens-of-three-lcms figure9-b-1-screens-of-three-lcms figure9-c-1-screens-of-three-lcms
figure9-a-2-screens-of-three-lcms figure9-b-2-screens-of-three-lcms figure9-c-2-screens-of-three-lcms
figure9-a-3-screens-of-three-lcms figure9-b-3-screens-of-three-lcms figure9-c-3-screens-of-three-lcms
圖9:三款 LCM 呈現畫面示意圖。

 

圖10:V0 腳位可調變。

圖10:V0 腳位可調變。

如果需要索取完整的程式碼,請聯絡我們

對顯示器解決方案有疑問?您想做的,由我們實現。 聯絡我們!

訂閱

接收最新顯示器技術知識與新品消息

聯絡我們

價格/規格書/一般查詢

技術支援

聯繫我們詢問技術內容

go top
聯絡我們
close

我們重視您的隱私

通過點擊「允許所有 Cookie」,代表您同意在您的設備上存儲 Cookie 以增強網站瀏覽體驗、分析網站使用情況並協助我們的行銷和網站效能優化工作。您可以在我們的隱私權政策中找到有關於此的更多資訊。

我們重視您的隱私

Winstar 及部分第三方在 www.winstar.com.tw 上使用 cookies。關於 cookie 的種類、用途及相關第三方的詳細資訊,請參見下文及我們的《Cookie 政策》。請點擊「允許全部」來同意我們使用 cookies,以確保您在我們網站上獲得最佳體驗。您也可以設置您的偏好或拒絕 cookies(必要的 cookies 除外)。

管理同意聲明

永久啟用
必要的 Cookie

這些 Cookie 是必不可少的,以便讓您在瀏覽網站並使用其功能上有更好地體驗,例如設置您的隱私偏好、登錄或填寫表單。

分析 Cookie

這些也被稱為「統計cookie」,用於收集您使用網站的資訊,例如您訪問了哪些頁面以及點擊了哪些連結。查看詳細資訊