NHD-12864WDY3 Control

Comments

3 comments

  • Alee_S

    Hi adunkin,

    Please reference our Arduino sample code written for the NHD-2.7-12864WDY3 display that calls the command for using the default grayscale settings in the initialization sequence and uses a traditional transmission for the data and command routines. The function 'ImageDisplay_12864' should be reviewed demonstrates how each input byte is broken down and transmitted in order to convert the information to an image on-screen.
    Arduino Sample Code: https://www.newhavendisplay.com/resources_dataFiles/excode/txt/Arduino/NHD-2.7-12864.txt

    For this particular display, 1 nibble will correspond to 1 pixel. Setting custom grayscale settings will not affect the data and command routine transmissions and only affects the pixel intensity.

    Best,

    0
  • adunkin

    I have looked at the example and have 1 last question.  It appears the example is parsing the character array and then sending 1 byte per pixel.  But this contradicts what is indicated in the SSD1322 datasheet which says each nibble is for a pixel.  Also, when I put the device in gray-scale mode and send bytes over parallel 6080 interface, only the most significant nibble appears to change the pixels.  So if I send 0x80 10 times, it turns 10 pixels gray, rather than what I would think it would do and set 1 pixel gray, 1 pixel off, for a total of 20 times.

    0
  • Alee_S

    Hi adunkin,

    In a typical design using the SSD1322 controller, an intersection of 1 Segment line and 1 Common line will form a pixel, and 4 Segments are a part of each RAM column address. The Ram column address ranges from 0 - 77 hex, or 0 - 120 decimal. The SSD1322 controller is designed to support a max resolution of 480-segments x 128-commons, and each of the 120 columns of the SSD1322 consists of 4 Segments (120 x 4 = 480). One nibble (4 bits or 1/2 a byte) is responsible for 1 segment or 1 pixel, so 2 sequential bytes will write to 4 segments or 4 pixels of 1 column. The value of the nibble (Range: 0 - F hex) will dictate the grayscale intensity of the pixel.
    This can be better visualized on pg. 22 of the SSD1322 datasheet: https://www.newhavendisplay.com/app_notes/SSD1322.pdf
     
    Our NHD-2.7-12864WDY3 display was designed with 2 SEG lines intersecting with 1 COM line to form a pixel (also shown on our drawing), so this changes the equation such that 2 sequential bytes are responsible for 2 pixels instead of 4 pixels.

    Our example code is parsing through the hex table data and spreading each byte value over 8 pixels, as this hex data generated is for a 128x64 BMP image with 8 pixels per byte.

    I hope this is helpful.

    0

Please sign in to leave a comment.