Rob Gamlin wrote: > > Caught this half way through, may have missed some. > > For what its worth I deal with 4 BIT lcd using a single 4094 on a common Data/ Clock bus, therefore outputs only. As long as you issue the Busy Read command, u nless the command is a Clear LCD or Clear Ram then you will have to be clocking Vfast to overrun the output. After issuing a Clear command I enforce a delay in some way to ensure the completion. LCD docs will tell you the command timings. > > Hope this helps, > > Rob. The 1/8 duty (LCD's) or 1/11 duty models have an internal oscillator of 250kHz, what does an average instruction execution of 40 microseconds, while Clear takes from 82us to 1.64ms, Return Home from 40us to 1.6ms. The 1/16 duty models have an internal oscillator of 160kHz, so average instruction is 120us, clear 120us-4.9ms, return home 120us-4.8ms. In both cases, the Read Busy Flag takes only 1us. Experience with an 8051 running at 16MHz, it takes about 14us per routine loop (per character) to read a message from the code memory and write to to the LCD, so faster than what the LCD can deal, obviously needing to check the busy flag. If the uC uses a lower clock or time delays were implemented, it works without reading the busy flag, but never will be at LCD's top speed. By the way, there is no command Clear Ram. The command Clear Display clears Ram and returns cursor to home position. -------------------------------------------------------- Wagner Lipnharski - UST Research Inc. - Orlando, Florida Forum and microcontroller web site: http://www.ustr.net Microcontrollers Survey: http://www.ustr.net/tellme.htm