Serial Graphic LCD Hookup
Let's briefly discuss how these LCDs operate in order to better understand how the firmware we will be using later in this tutorial works. First, let's talk about how the pixels on the LCDs are mapped out.
The graphic LCD is mapped out in Cartesian coordinates as shown in the following picture:
Or, if you are using the 64x128 pixel LCD, it's more like this:
ASCII characters are printed to the screen with respect to two user-changeable settings, x_offset and y_offset. These two settings define the top-left corner bit of a character space, which is 6x8 bits. By changing x_offset and y_offset, the user can place test anywhere on the screen.
Printing characters to the screen happens left to right, top to bottom, without adjusting x_offset and y_offset. Further, changing the offsets will change the entire frame of the text, meaning that writing to the end of one line and onto the next will happen seamlessly as the text has no predefined locations where it can or can't be written (except for locations close to the left and bottom edges of the display).
Backspace is also functional and tries to maintain the reference frame as set by the user.