NHD-3.12-25664UCx with interface: 8-bit 8080 Parallel

pd0lew

Well-known member
Is was a small adventure to get my NHD-3.12-25664UCx running in parallel 8080 mode.


Code:
// Interface: 8-bit 8080 Parallel
// NHD-3.12-25664UCx
// Oled 256 x 64 px character display
// PD0LEW test example 18-05-2026

#include <Arduino.h>
#include <U8g2lib.h>

#define DC   23
#define CS   15
#define RES  21

#define D0   40
#define D1   39
#define D2   38
#define D3   37
#define D4   36
#define D5   35
#define D6   34
#define D7   33

// pin 19 display (BS1) + 3.3V
// pin 20 display (BS0) + GND

int x = 5;
int y = 45;
int w = 245;
int h = 7;

U8G2_SSD1322_NHD_256X64_F_8080 lcd(
  U8G2_R0,
  D0, D1, D2, D3, D4, D5, D6, D7,
  CS, DC, RES
);

void hardResetOLED()
{
  pinMode(RES, OUTPUT);
  digitalWrite(RES, LOW);
  delay(50);
  digitalWrite(RES, HIGH);
  delay(200);
}

void setup()
{
  pinMode(CS, OUTPUT);
  pinMode(DC, OUTPUT);
  digitalWrite(CS, HIGH);
  hardResetOLED();

  lcd.begin();
  lcd.clearBuffer();
  lcd.setFont(u8g2_font_ncenB14_tr);
  lcd.drawStr(10, 30, "OLED OK");
  lcd.sendBuffer();
  lcd.clearBuffer();
  lcd.setFont(u8g2_font_10x20_tr);
  //lcd.setFont( u8g2_font_profont22_tr );
}

void loop()
{
  lcd.clearBuffer();
  lcd.setFont(u8g2_font_10x20_tr);
  lcd.setCursor(10,30);
  lcd.print("Johan Holstein");
  int fill = random(0, w + 1);
  lcd.drawFrame(x, y, w, h);
  lcd.drawBox(x, y, fill, h);
  lcd.sendBuffer();
  delay(5);

}

Best,
Johan


4.jpeg
 
Back
Top