Quote Originally Posted by flotulopex View Post
It's working now.

So yes, the display can be directly connected to the PIC. I've inserted a 1k resistor to limit the current and it's fine.

It works at 300Bds without crystal.

At 1200Bd, it's getting fuzzy: sometimes I get correct characters on the screen, and sometimes the display is meesed-up.

At 2400Bd, it won't work anymore.

I can't understand why the same circuit will work perfectly at 9600Bd on the PC's terminal?
Hello,
It's all about timing, just like machines with gears and chains. If you engine's valves get out of time then they hit the pistons. If the old WW1 airplains machine guns get out of time then they shoot off the propeller. Same with Bits of information, if pic sends data at 2300 and the LCD is expecting 2400 then no sale! You get garbage. That is why the oscillator has to run at a <b>KNOWN and FIXED, value</b> so the pic can do it's job at the time expected of it.
Just like your homework, turned in late - no credit!
JS