跳轉到內容

Alcor6L/eLua/mizar32.lcd

來自華夏公益教科書

此模組包含用於驅動 Mizar32 顯示模組的雙行字元 LCD 面板的功能。

從物理上講,顯示屏每行有 16 個字元,但內部有 40 個字元的 2 行記憶體。它一次顯示這 40 列中的 16 列,並有各種方法來確定這 40 列中的哪一列顯示在 16 列的顯示屏上。如果您只想顯示 16x2 字元,則 resetgotoprint 函式就足夠了。

mizar32.lcd.reset

[編輯 | 編輯原始碼]

初始化顯示屏,將所有內容重置為初始狀態:清除螢幕,無游標,顯示 40 列記憶體的 1-16 列,準備列印到 (1,1),從左到右寫入文字,並在每個字元後將游標向右移動一位。您不必在程式開始時呼叫重置,但這樣做將確保您的程式在顯示屏被以前的執行留在了奇怪的狀態下時仍然可以工作。

mizar32.lcd.reset()

mizar32.lcd.setup

[編輯 | 編輯原始碼]

這可以用來設定 LCD 顯示屏的一些奇怪的操作模式。兩個引數都是可選的,如果您省略它們,它們將預設設定為 false,這將設定合理的模式。

mizar32.lcd.setup( display_shift, right_to_left )
  • display_shift - 如果為真,則在您隨後列印的每個字元中,游標將在字元記憶體中移動一個位置,但顯示屏的內容也將向相反方向水平移動一個位置,從而使游標保持在物理顯示屏的同一列。這可以用來實現“滾動文字”效果。但是請注意,當游標從 40 列移動到 1 列或反之時,它會翻轉到另一行。
  • right_to_left - 如果為真,文字將從右到左列印:游標將在字元記憶體中向左移動一個位置,並且,如果也啟用了顯示屏移動,則顯示屏的內容將向右移動,從而使游標保持在螢幕上的同一列。

mizar32.lcd.clear

[編輯 | 編輯原始碼]

清除顯示屏,將游標移動到左上角(位置 1,1)並重置顯示屏移動以顯示 1 到 16 列。

mizar32.lcd.clear()

mizar32.lcd.home

[編輯 | 編輯原始碼]

將游標移動到左上角(位置 1,1)並重置顯示屏移動。

mizar32.lcd.home()

mizar32.lcd.goto

[編輯 | 編輯原始碼]

將游標移動到指定的行和列。

mizar32.lcd.goto( row, column )
  • row - 一個數字(1 或 2)表示您要移動到的行。
  • column - 一個數字(1 到 40)表示該行中字元記憶體中的位置。

mizar32.lcd.getpos

[編輯 | 編輯原始碼]
row, column = mizar32.lcd.getpos()

返回當前游標位置。

返回

  • row - 一個數字(1 或 2)表示當前行。
  • column - 一個數字(1 到 40)表示字元記憶體中的當前列。

mizar32.lcd.print

[編輯 | 編輯原始碼]

從當前游標位置開始寫入 LCD 字元記憶體。游標將為每個列印的字元前進一個位置。當它超過 40 列時,它會移動到另一行的 1 列(反之亦然,當從右到左列印時)。

mizar32.lcd.print( [data1] [, data2] ... [datan] )
  • data - 每個資料項可以是字串或整數。字串是顯示 ASCII 文字訊息的正常方式。整數引數應具有 0 到 255 的值以顯示單個字元,該字元可以是使用者定義的字元 0-7,常規的 ASCII 字元 32-125 以及 126 和 127 代表左右箭頭以及程式碼為 160-255 的中文字元、希臘字元和數學符號。

mizar32.lcd.cursor

[編輯 | 編輯原始碼]

設定在游標位置顯示的游標型別,或將游標向左或向右移動。

mizar32.lcd.cursor( what )
  • what - 一個字串,用於說明應該做什麼
    • "none""line""block" 分別在游標位置顯示不可見游標、恆定下劃線或閃爍的實心塊。
    • "left""right" 將游標在字元記憶體中和顯示屏上向左或向右移動一個位置,而不會更改底層字元。在這種情況下,顯示屏從不移動,並且,像往常一樣,游標在一行的 40 列和另一行的 1 列之間迴圈。

mizar32.lcd.display

[編輯 | 編輯原始碼]

開啟或關閉物理顯示屏,或將顯示的字元向左或向右移動。

mizar32.lcd.display( what )
  • what - 一個字串,用於說明應該做什麼
    • "off""on" 分別關閉或重新開啟物理顯示屏。當顯示屏關閉時,它看起來是空白的,但字元記憶體的內容、游標的位置和型別、使用者定義的字元和設定模式都會被記住,並且您可以在顯示屏關閉時寫入字元記憶體並執行所有其他操作。這使您能夠更新顯示屏,而不會讓觀看者看到過多的閃爍。
    • "left""right" 將顯示的字元向左或向右移動一位。例如,如果它顯示的是通常的 1-16 列,並且您說 mizar32.lcd.display("left"),那麼它將顯示 2-17 列:可見字元向左移動,但字元記憶體的視窗向右移動。

mizar32.lcd.definechar

[編輯 | 編輯原始碼]

對八個使用者可定義字元中的一個進行程式設計,其程式碼為 0 到 7。定義後,可以使用 mizar32.lcd.print(n) 顯示字元,其中 n 是 0 到 7 之間的數字。如果正在顯示所討論的字元,其可見形式將立即在顯示屏上發生變化。在通電時,8 個字元被定義為隨機垃圾。

mizar32.lcd.definechar( code, glyph )
  • code - 一個數字(0 到 7)表示您希望重新定義的字元。
  • glyph - 一個最多包含八個數字的表格,以從上到下的順序給出字元八行的位模式。每個數字的值從 0 到 31,用於定義行中 5 個位中的哪一個應為黑色。畫素的值從左到右依次為 16、8、4、2 和 1。例如,{ 1, 3, 7, 15, 31, 15, 7, 3, 1, 0 } 將定義一個指向左側的實心三角形,位於前 7 行。額外的行將被忽略,缺失的行將被空白填充。

mizar32.lcd.buttons

[編輯 | 編輯原始碼]

指示當前按下五個使用者按鈕中的哪一個。

buttons = mizar32.lcd.buttons()

返回

  • buttons - 一個包含最多五個字元 L、R、U、D 和 S 的字串,用於指示當前是否按下了左、右、上、下和選擇按鈕。如果沒有任何按鈕被按下,則返回一個空字串。硬體允許可靠地檢測選擇按鈕,以及最多兩個其他四個按鈕:如果左、右、上和下中有三個按鈕被按下,則返回全部四個按鈕。
華夏公益教科書