The DUOWEISI 12864-889 is a graphic LCD module manufactured by LCD, featuring a resolution of 128x64 pixels. This module is widely used in embedded systems for displaying text, graphics, and custom images. Its compact size and versatile functionality make it ideal for applications such as industrial control panels, DIY electronics projects, and user interface displays in consumer electronics.
Parameter | Value |
---|---|
Manufacturer | LCD |
Part ID | 128*64 |
Display Type | Graphic LCD |
Resolution | 128x64 pixels |
Operating Voltage | 3.3V to 5V |
Interface Type | Parallel (8-bit/4-bit) or SPI |
Backlight | LED (white or blue) |
Operating Temperature | -20°C to +70°C |
Dimensions | 93mm x 70mm x 14mm |
The DUOWEISI 12864-889 module typically has a 20-pin interface. Below is the pinout and description:
Pin Number | Pin Name | Description |
---|---|---|
1 | VSS | Ground (0V) |
2 | VDD | Power supply (3.3V or 5V) |
3 | VO | Contrast adjustment (connect to a potentiometer for contrast control) |
4 | RS | Register Select (0: Command, 1: Data) |
5 | R/W | Read/Write control (0: Write, 1: Read) |
6 | E | Enable signal (used to latch data) |
7-14 | DB0-DB7 | Data bus lines (used for 8-bit or 4-bit communication) |
15 | CS1 | Chip Select 1 (used to enable the left half of the display) |
16 | CS2 | Chip Select 2 (used to enable the right half of the display) |
17 | RST | Reset signal (active low) |
18 | VOUT | Voltage output for internal use (connect a capacitor for stability) |
19 | A | Backlight anode (connect to +5V through a resistor) |
20 | K | Backlight cathode (connect to ground) |
Below is an example of how to interface the DUOWEISI 12864-889 with an Arduino UNO using the U8g2 library:
#include <U8g2lib.h>
// Initialize the display in 8-bit parallel mode
// Adjust the pin numbers to match your wiring
U8G2_ST7920_128X64_F_HW_SPI u8g2(U8G2_R0, /* CS=*/ 10, /* R/W=*/ 9, /* RS=*/ 8);
void setup() {
u8g2.begin(); // Initialize the display
u8g2.setContrast(100); // Adjust contrast (0-255)
}
void loop() {
u8g2.clearBuffer(); // Clear the display buffer
u8g2.setFont(u8g2_font_ncenB08_tr); // Set font
u8g2.drawStr(0, 10, "Hello, World!"); // Display text
u8g2.sendBuffer(); // Send buffer to the display
delay(1000); // Wait for 1 second
}
Note: Install the U8g2 library in the Arduino IDE before using this code. You can do this via the Library Manager.
No Display Output:
Flickering or Unstable Display:
Incorrect or Garbled Text/Graphics:
Backlight Not Working:
Q: Can I use this module with a 3.3V microcontroller?
A: Yes, the DUOWEISI 12864-889 supports both 3.3V and 5V logic levels. Ensure the power supply matches your microcontroller's voltage.
Q: How do I display custom graphics?
A: Use graphic design software to create a 128x64 monochrome bitmap, then convert it to a byte array using tools like LCD Assistant. Load the array into your microcontroller's code.
Q: Is SPI faster than parallel communication?
A: Yes, SPI is generally faster and requires fewer pins, but it depends on your specific application and microcontroller.
Q: Can I daisy-chain multiple displays?
A: No, the DUOWEISI 12864-889 does not support daisy-chaining. Each display requires separate control signals.