Modern Device LCD117/Serial LCD Driver Commands
A popular display chip
seems to be LCD117 and is a 9600 baud chip that is recommended for Arduino,
Basic Stamp and most microcontrollers, which are capable of 9600 bps
serial transmission.
Some of the following commands are CASE Sensitive and may require a pause.
Command / Comments |
Suggested Pause |
Example |
|
Send Text |
Serial.print("Hello World!"); |
||
?a |
Home Cursor |
Serial.print("?a"); |
|
?b |
Destructive Backspace |
Serial.print("?b"); // backspace |
|
?c# |
Set Cursor Style: 0= none 2= blinking 3=underline |
Serial.print("?c0"); // turn cursor off |
|
?f |
Clear Screen |
Serial.print("?f"); |
|
?g |
Beep (requires speaker on pin 6) |
Serial.print("?g"); |
|
?h |
Backup Cursor (Non-destructive backspace) |
Serial.print("?h"); |
|
?i |
Forward cursor |
Serial.print("?i"); |
|
?j |
Up cursor |
Serial.print("?j"); |
|
?k |
Down cursor |
Serial.print("?k"); |
|
?l |
Clear cursor line |
Serial.print("?l"); |
|
?m |
Carriage Return |
Serial.print("?m"); |
|
?n |
CRLF, carriage return & line feed, |
Serial.print("?n"); |
|
?s# |
Set tabs at # spaces |
100 ms |
Serial.print("?s7"); |
?t |
Tab, advance one tab position |
Serial.print("?t"); |
|
?x## |
Position cursor on x column, (two characters
are required), first column is column 0 |
Serial.print("?x09"); |
|
?y# |
Position cursor at y row, first row
is row 0, |
Serial.print("?y3"); |
|
?? |
Display a "?" |
Serial.print("??"); |
|
?! |
Send direct command to LCD |
Serial.print("?!01"); |
|
?B |
Backlight Intensity – sets PWM value, two hex digits req. (00 to FF) |
100 ms |
Serial.print("?BFF"); |
?D# |
Define Character "?D#1A001A001A001A00"
D# = character |
100 ms |
Serial.print("?D31F001F001F001F00"); |
?# |
Print a custom character |
5 ms |
Serial.print("?3); |
?H |
High output on auxiliary digital pins: valid numbers are 4,5,6 |
Serial.print("?H4"); |
|
?L |
Low output on auxiliary digital pins: valid numbers are 4,5,6 |
Serial.print("?L4"); // aux pin 4 LOW |
|
?G |
Configure for LCD geometry. Supported
formats: |
Serial.print("?G216"); |
|
Ganging up commands is OK, except for commands requiring a following pause |
Serial.print("?x01?y1?fHello World"); |
||
Enhanced Commands |
|||
?># |
Enter BIG Number Mode (numbers only!) "?>3" X # = 3 or 4 , # represents number of characters displayed. (20x4 LCD's only) |
100 ms |
Serial.print("?>4"); |
?< |
Exit BIG number mode "?<" |
Serial.print("?<"); |
|
?C# |
Define custom boot screen line # = 0 - 3 |
100 ms |
Serial.print("?C0abcdefghijklmnopqrst") |
?S# |
"?S0" -
display no screen on boot. |
Serial.print("?S2); // custom boot screen |
|
?* | display boot screen at any time | Serial.print("?*); // show boot screen |
Copyright © 2008-2015 Ted J. Mieske
All Rights Reserved.