It has been more than a year since the launch of the ClassWiz calculators. And the very first ClassWiz calculator has emerged. Also came with 192x63 high resolution screen and graphical menu. I spent sometime to reverse engineer the protocol of this screen. The protocol seemed weird at first, as the command doesn't match common controllers. I didn't ended up finding the controller, but I was able to guess the instruction use by referring to other controllers.
Basic Information
- Model: FXD1926304-LCD-A0
- Resolution: 192 x 63 + 1 line of icon
- Greyscale: 1bpp (likely)
- Controller: NT10952
Controlling
Initialization
LCD_WriteCmd(0x88); LCD_WriteCmd(0x88); LCD_WriteCmd(0x88); LCD_WriteCmd(0x88); LCD_WriteCmd(0x93); LCD_WriteCmd(0xE3); LCD_WriteCmd(0xF8); LCD_WriteCmd(0x00); LCD_WriteCmd(0x81); LCD_WriteCmd(0x3C); LCD_WriteCmd(0x2E); Delay_ms(500); LCD_WriteCmd(0x81); // Set Vop LCD_WriteCmd(0x27); // Vop LCD_WriteCmd(0x82); // Enter partial display mode LCD_WriteCmd(0x3F); // Set partial display bias LCD_WriteCmd(0x83); // Exit partial display mode LCD_WriteCmd(0x10); // Set col address high LCD_WriteCmd(0x00); // Set col address low LCD_WriteCmd(0xA0); // Set framerate LCD_WriteCmd(0xAF); // Turn on display LCD_WriteCmd(0xA4); // Disable all pixel on LCD_WriteCmd(0xAF); // Turn on display
Setting address
LCD_WriteCmd(0xB0 | page); // page range 0-7 LCD_WriteCmd(0x10); LCD_WriteCmd(0x00);
Setting contrast
LCD_WriteCmd(0x81); // Setting Vop LCD_WriteCmd(0x20 | contrast); // contrast range 0-0x1F
??
LCD_WriteCmd(0xE0); // Enter RMW mode LCD_WriteCmd(0xB7); LCD_WriteCmd(0x1A); LCD_WriteCmd(0x0F); res1 = LCD_ReadCmd(); //0x00? res2 = LCD_ReadCmd(); //0x00? LCD_WriteCmd(0x00); LCD_WriteCmd(0xEE); // Exit RMW mode
Shutdown
LCD_WriteCmd(0xAE); // Turn off display LCD_WriteCmd(0xA5); // All pixel on
Pinout
- NC
- Vo
- C1P
- C1N
- V1
- C2P
- C2N
- V2
- C3P
- C3N
- V3
- C4P
- C4N
- V4
- VDD
- GND
- D7
- D6
- D5
- D4
- D3
- D2
- D1
- D0
- RD
- WR
- RS
- RST
- CS
- NC
Note: WR and RD are low active, sample on rising edge, RST is low active, RS low = command, RS high = data