It is very easy to interface an MCU with a character LCD (let say, 16x2, 20x2, 20x4, etc.) because we don't need to constantly refresh what is displayed. Once we send what we want to see, it is displayed as long as the LCD is powered.

On the other hand, if we want to use a, let say, 800x600 graphics LCD (TFT or whatever with Parallel RGB interface) with the same MCU, we need to refresh the whole frame at a specific frequency, which almost make it impossible to use such an LCD with a relatively slow MCUs whose clock speed is, say, 16MHz or 20Mhz. Even if we choose a faster MCU, the display refreshing process takes most of its processing power.

Taking into account that, I am not going to display a video stream on the LCD, rather than that, I just would like to use the LCD as the information panel of a machine like a CNC machine where most of the things on the display will be constant and only some parameters will change;

  1. Do I still need refresh entire frame continuously?
  2. Is there a simpler way to overcome this without using FPGA, PLA, etc?
  • 1
    \$\begingroup\$ what you want is effectively a framebuffer that talks to an LCD. We'd typically call that a graphics card. \$\endgroup\$ – Marcus Müller May 23 '19 at 9:48
  • 1
    \$\begingroup\$ Even the 7-segment numeric LCDs you have on cheap calculators need continuous refresh. \$\endgroup\$ – dim May 23 '19 at 10:37
  • \$\begingroup\$ Thank you for your comments @Markus:I would like to ask then; There are many low end products, like, photo frames, low end consoles, etc. There must be a simple, easy and cheap way to implement a circuit that acts as a graphics card, to receive data from a slow MCU, buffer it and refresh LCD in lower frequencies than 60Hz, as there is no rapid changes in what is displayed.Remember, there were 25FPS video cameras. So, I think 25Hz refresh rate will be OK for such an application. What is that circuit? Any clue is welcome, since I even don't know how to search about it in the internet. \$\endgroup\$ – Nkgunel May 23 '19 at 13:52
  • \$\begingroup\$ @Nkgunel Even if there is no rapid changes in the image, 25Hz is certainly not high enough. It will flicker like hell. Moreover, the LCD expects the refresh rate to be within a given range so you don't have much choice. But it doesn't matter, there are chips that do what you describe. For example, look at ftdichip.com/Products/ICs/FT81X.html. It certainly isn't the easiest route, however (compared to off-the shelf raspberrypi-based hobbyist solutions, for example). \$\endgroup\$ – dim May 23 '19 at 14:56
  • \$\begingroup\$ Dim, Thank you very much! That is exactly what I need. \$\endgroup\$ – Nkgunel May 23 '19 at 19:21

All LCDs require refresh. On the character displays, this is usually hidden from you - you're not connecting directly to the LCD segments, there will be a driver chip intermediating. This can remember what the segments are supposed to be, because it's a relatively small amount of data. By comparison the high resolution graphics displays would require much more memory to store it themselves, so it's not done that way.

You can get small colour LCD graphic displays which take SPI input and have their own framebuffer memory to store what's being displayed. They tend to be much smaller e.g. https://www.adafruit.com/product/618

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.