You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pertelian/docs/hardware_instruction_set.md

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

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.

charcode0

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