1. Connecting the pins incorrectly will lead to junk or black blocks on the screen.eg: connecting DB7 to Pin 0 of a port. 2. If you are using the programmer port as an output port to the LCD , be extremely careful !!! Leaving the pins connected while programming will lead to erratic behaviour, like junk, black blocks, non-execution even on reset, etc... 3. The above mistake may also alter the display size. I have had the topmost line of my words gone missing due to the above problem (most probably). 4. Writing wrong code, incorrect use of busy flag and delay loops lead to black blocks on the screen and lots of frustration. 5. A huge delay loop may take too long to output, creating panic. Too small a delay also may increase execution time a lot. 6. Incorrect use of busy flag will most probably lead to no output (black bars) or a hung display, which means the MCU will never find the busy flag cleared and will go on waiting indefinitely.