#LetsDriveLCD [-4] – LUM-115HML300

2018-05-12

/uploads/blog/2018/1526178311746-DSC_0805_DxO_Small.jpg

The screen for today is from Hong Kong. I got it few years ago. It's the same screen that's used on Hong Kong MTR trains for displaying news, weather, and ads. It's kind of nice, and I have got 2 of them, one has few broken pixels, another one is fully working.

Basic Information

Driving Information

Pinout:

CN1:

  1. RamSelect(AB)
  2. A4
  3. A3
  4. A2
  5. A1
  6. A0
  7. GND
  8. Green
  9. Clock
  10. WriteEnable
  11. Red
  12. AddressEnable
  13. DispEnable

CN3:

  1. GND
  2. VLED
  3. VLED
  4. GNDLED
  5. GNDLED
  6. VDD

Code:

void LED_WriteScreen()
{
  int i, j;
  for (i = 0; i < 24; i ++) {
    if ((i & 0x01) != 0) {LED_A0_HIGH();} else {LED_A0_LOW();}
    if ((i & 0x02) != 0) {LED_A1_HIGH();} else {LED_A1_LOW();}
    if ((i & 0x04) != 0) {LED_A2_HIGH();} else {LED_A2_LOW();}
    if ((i & 0x08) != 0) {LED_A3_HIGH();} else {LED_A3_LOW();}
    if ((i & 0x10) != 0) {LED_A4_HIGH();} else {LED_A4_LOW();}
    for (j = 0; j < 48; j++) {
      LED_CLK_LOW();
      if (dispBuffer_G[i*6 + j/8] & (0x01 << (j % 8))) LED_GR_HIGH(); else LED_GR_LOW();
      if (dispBuffer_R[i*6 + j/8] & (0x01 << (j % 8))) LED_RD_HIGH(); else LED_RD_LOW();
      LED_CLK_HIGH();
    }
    LED_CLK_LOW();
    Delay();
    LED_AE_HIGH();
    Delay();
    LED_WE_HIGH();
    Delay();
    LED_WE_LOW();
    Delay();
    LED_AE_LOW();
    Delay();
  }
}

Result

DSC_0789_DxO_Small.jpg

DSC_0802_DxO_Small.jpg

DSC_0791_DxO_Small.jpg