4.1 KiB
Transcript from http://developer.pertelian.com/index.php?option=com_content&view=section&id=3&Itemid=9
Received via http://web.archive.org/web/20100903020330/http://developer.pertelian.com/index.php?option=com_content&view=section&id=3&Itemid=9 Apr 2019
Pertelian X2040 Hardware Instruction Set
To issue an instruction, you must first issue a Set Instruction Mode command to set the LCD in instruction mode. The Set Instruction Mode command has byte code 0xFE hex (254 decimal).
Instruction | Byte 7 | Byte 6 | Byte 5 | Byte 4 | Byte 3 | Byte 2 | Byte 1 | Byte 0 | Description | Exec. Time |
---|---|---|---|---|---|---|---|---|---|---|
Set Instruction Mode | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | Sets the LCD to Instruction Mode | 1.64ms |
The byte following the Set Instruction Mode command is treated as an instruction. For example, to clear the display write the byte codes 0xFE and 0x01 to the device.
Instruction | Byte 7 | Byte 6 | Byte 5 | Byte 4 | Byte 3 | Byte 2 | Byte 1 | Byte 0 | Description | Exec. Time |
---|---|---|---|---|---|---|---|---|---|---|
Clear display | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Clears display and returns cursor to the home position (address 0) | 1.64ms |
Backlight Off | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Turns the backlight off | 1.64ms |
Backlight On | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Turns the backlight on | 1.64ms |
Entry mode set | 0 | 0 | 0 | 0 | 0 | 1 | I/D | S | Sets cursor move direction (I/D), specifies to shift the display (S). These operations are performed during data read/write | 40us |
Display On/Off control | 0 | 0 | 0 | 0 | 1 | D | C | B | Sets On/Off of all display (D), cursor On/Off (C) and blink of cursor position character (B) | 40us |
Cursor/display shift | 0 | 0 | 0 | 1 | S/C | R/L | * | * | Sets cursor-move or display-shift (S/C), shift direction (R/L). DDRAM contents remains unchanged | 40uS |
Function set | 0 | 0 | 1 | DL | N | F | * | * | Sets interface data length (DL), number of display line (N) and character font(F) | 40uS |
Set CGRAM address | 0 | 1 | CGRAM address | Sets the CGRAM address. CGRAM data is sent and received after this setting | 40uS | |||||
Set Display Data address | 1 | The offset value: Row 1, Column 1 starts at offset 0x0 hex, Row 2, Column 1 starts at offset 0x40 hex, Row 3, Column 1 starts at offset 0x14 hex, Row 4, Column 1 starts at offset 0x54 hex | Set the address where to start displaying characters at using offset to specify row and column | 40uS | ||||||
Write to CGRAM or DDRAM | Data | Writes data to CGRAM or DDRAM. For DDRAM see character set below | 40uS | |||||||
Remarks
- DDRAM = Display Data RAM
- CGRAM = Character Generator RAM
- DDRAM address corresponds to cursor position
-
- = Don't care
DL set 1 for 8 bit interface, 0 for 4 bit interface
N set 1 for 2 lines, 0 for 1 line
F set 0 for 5x8 dots
S/C set 1 for Display shift, 0 for Cursor move
R/L set 1 for Shift to the right, 0 for Shift to the left
D set 1 for Display ON, 0 for Display OFF
C set 1 for Cursor ON, 0 for Cursor OFF
B set 1 for Cursor blinking
I/D set 1 for Increment, 0 for Decrement
S set 1 for Automatic display shift
- = Don't care
LCD Character Set
Use the following character codes to display the following symbols from the table. For example, the character 'A' is 01000001 binary or 65 decimal.
Initialization Sequence
Based on the instruction set, the proper Pertelian initialization sequence is as follows:
0xFE; //Set instruction mode
0x38; //Function set with 8-bit data length, 2 lines, and 5x7 dot size
0xFE;
0x06; //Entry mode set; increment cursor direction; do not automatically shift
0xFE;
0x10; //Cursor/display shift; cursor move
0xFE;
0x0C; //Display On; cursor off; do not blink
0xFE;
0x01; //Clear display
//Begin normal operations