I made working code in an older microcontroller for a character based LCD that's based on the HD44780 chip.
My code stops execution of everything else every 70uS to display one character from the remaining characters that need to be shown. I chose 70uS because I believe that's the worst case scenario for timing.
I have seen command charts that say that the waiting time is only 40uS or 50uS and I seen one that says waiting time is only 37uS.
I am aware that the busy flag exists in the LCD but I also read online that it takes longer for a character to be recognized as completed if I depend on the busy flag. On top of that, I'll be required to put the LCD in read mode and poll the busy flag. I have it hardwired in write mode. (R/W pin grounded).
Rather than constantly modifying my code by playing with the fixed wait time value, Is there an ideal way in code to figure out the minimum wait time for a character to be processed on the LCD?
I'm using an 8051 based microcontroller but answers in pseudocode are fine. I just don't want my system crawling slow all because of an LCD.
In fact, at 70uS, filling up a 16x4 line display with characters means 64 characters + 4 commands to set starting row positions equals 68 bytes to send, times 70uS = 4760uS = 4.7mS which can be pretty high if this LCD is used in a system with a high-speed internet connection and the LCD data needs to be changed in real-time as data is received from the internet.