2014年7月28日 星期一

{ 內建四種控制模式整合型 1602 英文字型液晶螢幕 } IIC 通訊模式下,LCD 控制功能展示

3V3, 內建四種控制模式整合型 1602 英文字型液晶螢幕, IIC 通訊模式

Note:預設出貨設定是 IIC 通訊控制模式。經過簡單的改裝之後,就可以變成與上圖一樣可使用四種通訊模式控制的 1602 英文字型液晶螢幕。

這片外觀與一般 1602 英文字型液晶螢幕相無異的 LCD ( 正面如上圖,背面如下 3V3 與 5V 兩款 )
3V3 與 5V0 兩種不同電源輸入的 1602 LCD 背面

在不須外掛任何晶片的情況之下,可以使用四種方法來做控制:
  • 並行通訊
    • 4-bit 匯流排模式
    • 8-bit 匯流排模式
  • 串列通訊
    • IIC ( or 稱 I2C) 模式
    • 4 線 SPI 模式
下面使用自行撰寫的函示庫使用 IIC 模式來測試這片 LCD ( 3V3 版本的 LCD 提供 IIC 與 SPI 兩個函式庫 ( .o 檔 ) 的測試程式,編譯方法請參考下面 3V3 LCD 的範例說明網頁 )。測試的選單程式畫面如下,共有 16 個選項:

IIC 控制模式下的功能測試
  • 1:清除螢幕,並將游標移動回螢幕原點 ( 0, 0 )
  • 2:移動游標回原點
  • 3、4、5:螢幕顯示、游標底線、游標閃爍,開、關選擇
  • 6、7:輸入的文字超出螢幕的寬度時,是否要自動滾動螢幕是向右或是向左
  • 8、9:輸入文字的方向是由左右向、還是由右向左
  • 10、11:整個贏目標包括游標,一起往右或是往左移動
  • 12、13:不影響螢幕中的文字,只將游標往右或是往左移動
  • 14:移動游標到指定的位置 ( 由 0 開始算 )
  • 15:顯示文字在指定的螢幕位置上
  • 16:在游標處輸入一段文字 ( 可接受換行 )
  • 17:顯示自訂的文字
上面這些功能完整測試在下面的影片中,不過拍攝的時候因為是直立的,所以轉檔之後要側著看比較清楚,這比較不方便但是清楚;另外也有製作成直立式的,但影片解析度要調高一點看比較清晰。反正這兩個影片內容都是相同的,看哪個比較舒服就看哪個,自己選吧!





更多詳細的介紹,請到賣場或是相關的部落格發佈網頁!


商品網址:


部落格商品使用範例網頁:


IIC 與 SPI 模式函式庫的編譯說明:

如果購買的整合型 LCD 是 3V3 版本,那在商品的雲端硬碟的 codes 資料夾下多了兩個功能測試的程式,分別是使用 IIC 和 SPI 通訊的功能測試,這些功能測試就是上面影片中的那些選項,每個畫面中的選項都對應到函式庫裡的一個功能函式。所有功能函式的定義都宣告在 JLX1602A4IIC.h ( @ IIC 模式 ) 和 JLC1602A4SPI.h ( @ SPI 模式 ) 裡,函式庫已預先編譯為 OBJ 檔 ( 現不提供函式庫原始檔 )。

整合型 LCD 測試程式 @ IIC 模式 
整合型 LCD 測試程式 @ SPI 模式

PS. 編譯下面這些程式需要 wiringPi 函式庫,安裝方式請參考 Download and Install

這些程式可以直接在樹莓派使用瀏覽器下載 ( 或使用部落格介紹的編輯環境設置說明網頁 ) 並存放在家目錄下 ( 假設目錄名稱為 ~/codes/ ),程式編譯的方式如下:

@I2C
pi@raspberrypi ~/codes $ sudo g++ IIC_FunctionTest.cpp JLX1602A4IIC.o -lwiringPi -o iic_functiontest


@SPI
pi@raspberrypi ~/codes $ sudo g++ SPI_FunctionTest.cpp JLX1602A4SPI.o -lwiringPi -o spi_functiontest


要執行,直接輸入編譯後名稱即可,例如要執行 iic_functiontest 就輸入

pi@raspberrypi ~/codes $ ./iic_functiontest

4 則留言:

  1. 你好,請問修改四種模式的接線方式在哪裡?

    回覆刪除
  2. 您好:

    如果您有購買商品的話,接線修改在商品資料手冊第六頁。解開硬體限制之後,相對應的通訊接腳功能同樣的也詳細描述在資料手冊上。

    回覆刪除
  3. 您好 請問A4.A5的腳可以更改嗎@@?

    回覆刪除

留言屬名為"Unknown"或"不明"的用戶,大多這樣的留言都會直接被刪除掉,不會得到任何回覆!

發問問題,請描述清楚你(妳)的問題,別人回答前不會想去 "猜" 問題是什麼?

不知道怎麼發問,請看 [公告] 部落格提問須知 - 如何問問題 !