EPAIII
Member
Hippy or anyone who understands his routine for parallel LCDs.
The LCDs data sheets which I have read require an initialization routine that repeats the 8 bit mode command three times with time delays before each of them. The first requires the longest delay after power up, I guess to allow the chip to initialize. But the other two are supposed to be preceeded by a delay also. It took me a while but I see the trick used to transmit the 8 bit command three times. The first two "byte" variables consist of two nibbles. The first three nibbles are 0011 and the fourth is 0010. The sub that sends them to the LCD sends each nibble in turn so the three 8 bit commands are sent. But, as far as I can see, there is no delay between the first and second nibble. By calling the sub a second time, a delay is provided before the third 8 bit command and then the 4 bit command immediately follows it.
Am I missing something or is the second delay really not necessary? Or was it not necessary for the LCD used to set up the routine but it is needed for mine? In case you haven't guessed, the routine is not working with my LCD, a 2 X 20 from Cryatalfontz. I am also using an 18X but I don't think that matters.
Can anyone shed some light?
The LCDs data sheets which I have read require an initialization routine that repeats the 8 bit mode command three times with time delays before each of them. The first requires the longest delay after power up, I guess to allow the chip to initialize. But the other two are supposed to be preceeded by a delay also. It took me a while but I see the trick used to transmit the 8 bit command three times. The first two "byte" variables consist of two nibbles. The first three nibbles are 0011 and the fourth is 0010. The sub that sends them to the LCD sends each nibble in turn so the three 8 bit commands are sent. But, as far as I can see, there is no delay between the first and second nibble. By calling the sub a second time, a delay is provided before the third 8 bit command and then the 4 bit command immediately follows it.
Am I missing something or is the second delay really not necessary? Or was it not necessary for the LCD used to set up the routine but it is needed for mine? In case you haven't guessed, the routine is not working with my LCD, a 2 X 20 from Cryatalfontz. I am also using an 18X but I don't think that matters.
Can anyone shed some light?