Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Off-Topic: How to reduce flicker on the graphic LCD?

Status
Not open for further replies.

thomasn102

New Member
Hi everyone,
How do I reduce the flicker on my graphic LCD? This is basically how I control the LCD:

while (1) {
clear_LCD(); // Write 0 to the entire LCD RAM
write_stuff();
}
The reason why I have to clear the entire LCD was if I don't, the stuff from the previous screen is still there (if it is not overwritten) and I think this is the source of my problem, but I don't know how to get by this. Please help!
Best regards,
Thomas
 
That's a pretty broad question. Any other information would help. What kind of micro? What kind of LCD? What are you trying to do with it?

j.
 
One way is the have an image in memory of the graphics lcd display area. It is faster to access the memory image for various operations and then write the entire image to the LCD.
 
try putting small delay before clearing display (you can start with
10-20ms for example). this won't nececarily fix it but it will
make it look much better.
 
Thank you all for your help. I am using a PIC18F452 Microcontroller with a Philips PCF8548 LCD driver. I thought of having an image of the LCD screen in RAM, but this requires a lot of RAM space. I also tried with some delay before the clear_screen event, but the flicker is still unbearable.
Regards,
Thomas
 
I think you will always have flicker if you clear continuously. I wouls try to work it out another way. For example I think you problem is something like:

- You print "Value is: 1000"
- Then value goes to 20 but you read "Value is: 2000" on the LCD as there are the zeros left behind from the "1000"

This is quite common situation, I solve this by printing spaces afer the number, so in the example you would print "Value is: 20 "

You can either have a fixed amout of spaces after any number (string) or have to count them according to what you just printed.

Or you have a different reason to clear the display?
 
This is exactly what I am facing! I will try this method to see if it works, but I think I should. Thank you all of you for your help!
Regards,
Thomas
 
Status
Not open for further replies.

Latest threads

Back
Top