
SLD01a Serial LCD Driver
$5.00 USD
|
Overview
The SLD01a serial LCD driver is a pre-programmed, code protected PicMicro chip which converts raw serial data in either RS-232c or TTL formats into
a 4-bit parallel format applicable to LCD displays using a Hitachi HD44780-compatible character display chipset. A 64 byte receive buffer is used to
assist in data loss prevention.
The SLD01a requires a 5vdc power supply. Additional support circuitry is necessary to convert RS-232c
data signals to TTL format if the SLD01a is intended for that purpose.
A MAX232 or similar is typically all that is required, as shown in the figures below.
If using a TTL data source, such as a microcontroller, no support circuitry is required.
Most character LCD units will be able to share the same 5vdc power source as the SLD01a. A potentiometer or resistor can be used to set the LCD contrast, but is not
absolutely necessary. Some units will also require an additional resistor for the backlight.
Serial data must be at a rate of 9600 bps and be in the format 8 bit, no parity, and 1 stop bit, no flow control These settings are not editable.
I want to be clear that these serial driver chips are not compatible with the Max Orbital protocol. The SLD01a is intended to be a bare-bones driver chip - I
originally programmed & used it to use as a very low cost text-only display interface for industrial PLC's and automated test equipment.
|
LCD Formatting
The LCD can be configured for a specific number of columns and lines with two additional escape sequences.
The desired number of columns is set by first sending the escape character, then a lower-case 'x', followed by two digits specifying the number of columns allowed before
the SLD01a forces a line-break.
The LCD line count is specified in a similar manner - escape, lower-case 'y', and two digits.
Two digits must be used, even when the number of lines can be represented with one. For example, to set the SLD01a into a 16 x 2 format you would send
"<esc>x16<esc>y02"
The LCD configuration is saved in the SLD01a EEPROM which is persistant even when removed from a power source. This makes it only necessary to configure the SLD01a
once for any given LCD format.
|
Non-Text Characters & Escape Sequences
When either non-printable linefeed or carriage return character is received the SLD01a will line-break by causing the LCD cursor to move to the first character
placement on the next line of the display. After the last character of the last line is reached, the SLD01a will clear the display and begin again at the first character
of the first line.
When the non-printable delete character is encountered, the SLD01a will reposition the LCD cursor one position to the left, deleting the last displayed character.
When the non-printable bell character (ASCII 7) is encountered the aux pin (pin 6) will briefly energize. This is the same procedure as the 'b' escape sequence.
Proprietary escape sequences allow for some additional features. All escape sequences are triggered by sending the escape character (ASCII 27 [0x1B]) to the SLD01a.
Table 1 lists the single character escape sequences recognized and the functions that they perform.
| CHR |
DESCRIPTION |
DEC |
HEX |
FUNCTION |
| c |
lower-case C |
99 |
63 |
clear LCD screen and place cursor at home position |
| b |
lower-case B |
98 |
62 |
briefly energize the auxillary output (pin 6) |
| O |
upper-case O |
79 |
4F |
turn auxillary output on |
| o |
lower-case O |
111 |
6F |
turn auxillary output off |
| L |
upper-case L |
76 |
4C |
turn LCD backlight on |
| l |
lower-case L |
108 |
6C |
turn LCD backlight off |
TABLE 1
|
|