Datasheet

PmodCLP™ Reference Manual
Copyright Digilent, Inc. All rights reserved.
Other product and company names mentioned may be trademarks of their respective owners.
Page 4 of 6
2.3 CGRAM and DDRAM
The LCD controller contains a character-generator ROM (CGROM) with 192 preset 5×8 character patterns (see
table 4 below), a character-generator RAM (CGRAM) that can hold 8 user-defined 5×8 characters, and a display
data RAM (DDRAM) that can hold 80 character codes. Character codes written into the DDRAM serve as indexes
into the CGROM (or CGRAM). Writing a character code into a particular DDRAM location will cause the associated
character to appear at the corresponding display location. Display positions can be shifted left or right by setting a
bit in the Instruction Register (IR). The write-only IR directs display operations (such as clear display, shift left or
right, set DDRAM address, etc). A busy flag shows whether the display has competed the last requested operation;
prior to initiating a new operation, the flag can be checked to see if the previous operation has been completed.
The display has more DDRAM locations than can be displayed at any given time. DDRAM locations 00H to 27H map
to the first display row, and locations 40H to 67H map to the second row. Normally, DDRAM location 00H maps to
the upper left display corner (the “home” location, and 40H to the lower left. Shifting the display left or right can
change this mapping. The display uses a temporary data register (DR) to hold data during DDRAM /CGRAM reads
or writes, and an internal address register to select the RAM location. Address register contents, set via the
Instruction Register, are automatically incremented after each read or write operation. The LCD display
uses ASCII character codes. Codes up through 7F are standard ASCII (which includes all “normal” alphanumeric
characters). Codes above 7F produce various international characters.
The predefined characters available to display (from the KS0066 datasheet) are shown in the table below: