Prev: TMS375C717
Next: MT8888 with 89c51
From: Aly on 5 Aug 2006 07:38 "abhay" <abhaym244(a)gmail.com> wrote in message news:1154754568.051505.95120(a)i42g2000cwa.googlegroups.com... > > i hav done my lcd interfacing through delay function & through polling Extract from http://www.sampson-jeff.com/lcdindex.htm " If you are going to use these types of displays, heed this warning! The manufactures use the term Vcc-Vee to describe the LCD bias voltage. This is actually a NEGATIVE voltage! (At least all that I have looked at so far are negative. Check it your self before connecting.) Some displays have a negative LCD supply voltage AND a negative contrast control supply voltage. An example of this is the DMF50081 from Optrex. Others have a single negative LCD supply voltage which also controls the contrast. The smaller Optrex displays (like the DMF5005) and the Toshiba displays I have looked at work this way. Example: From the Optrex DMF5005 data sheet. Supply Voltage (LCD Drive) Vcc-Vee is Min=8V Max=26V This means (5V - (-Vee)) = 26V, Therefore Vee= -3V to -21V Most the manufactures seem to use some variation of this notation. Don't let the unclear documentation destroy your display! Yes, I should have example schematics and real applications. I am adding these as I get time. "
From: Wolfgang Mahringer on 6 Aug 2006 04:35 Hi abhay: > my initialisation instructions are 0x38h,0x80h,0x06h,0x0Eh,0x01h. This sequence doesn't look too bad...I suggest you drop the 0x80, it is not needed after reset. Since you are only seeing the blocks your LCD contrast voltage is OK. So the problem is your display does not accept the init sequence. Check also if the RS (register select), WR and CS (E) lines are correct. Look at the timing chart of your displays datasheet. Watch out: these LCD displays want a positive enable signal, not a negative one like usual :-) HTH Wolfgang -- From-address is Spam trap Use: wolfgang (dot) mahringer (at) sbg (dot) at
From: cbarn24050 on 6 Aug 2006 07:01 abhay wrote: > i hav done my lcd interfacing through delay function & through polling > of busy flag. > in delay program i gave a delay of 250ms. > by flashing i mean to say that the lcd is lit when i switch on the > power but it displays only one line (the bricks in one line) This is the normal result of a power up reset, operate the reset on your micro to run the initialisation code again, if you have it correct the lcd should go blank. If it stays the same then you have a problem in that part of the code. You MUST follow the initialisation sequence as specified in the data sheet.
From: Paul Carpenter on 6 Aug 2006 06:25 On 4 Aug, in article <1154754568.051505.95120(a)i42g2000cwa.googlegroups.com> abhaym244(a)gmail.com "abhay" wrote: >i hav done my lcd interfacing through delay function & through polling >of busy flag. >in delay program i gave a delay of 250ms. >by flashing i mean to say that the lcd is lit when i switch on the >power but it displays only one line (the bricks in one line)& i hav >correctly checked my configuring for 8 byte data transfer. Sounds like contrast voltage is in correct range. >my initialisation instructions are 0x38h,0x80h,0x06h,0x0Eh,0x01h. i hav I would check the datasheet to see what dots per character you have as some data sheets have mistakes (especially on LCDs) if your character size is 5 x 8 then 0x38 is correct. In rare circumstances the font size is 5 x 11 so this should be 0x3C, it is unlikely you have a 5 x 11 font size. As another poster has pointed out the 0x01 is not really necessary from initialisation. If you use the Display clear (0x01) then the 0x80 is a duplicate of part of the display clear function. Changine 0x0E to 0x0F may help as when it is working you should at least see a blinking cursor. >read the datasheet & recommended delay was of 1.64ms & 40usec for some >instructions So tomake program simpler i tried with 3ms delay for each >instruction. >i m having a doubt in initialising commands.do i need to initialise >something else? If none of the above then this sounds to me like one of the following:- 1/ your timing to write to the LCD is not what you think it is e.g. R/W or RS or E line inverted or even timing of these relative to each other and data. 2/ Data line or other signal not actually reaching the LCD or swapped. 3/ You do not wait long enough from power up before starting to initialise the controller, most controllers need 30 to 50ms BEFORE the first command is written >also is there something that i could do with my lcd module itself(like >any jumper setting) although i hav tried with that also but of no use I very much doubt that there is a jumper on the LCD that you should even think of changing as any jumper will be for manufacturering purposes of which LCD glass is on the module PCB. -- Paul Carpenter | paul(a)pcserviceselectronics.co.uk <http://www.pcserviceselectronics.co.uk/> PC Services <http://www.gnuh8.org.uk/> GNU H8 & mailing list info <http://www.badweb.org.uk/> For those web sites you hate
From: surindersingh on 7 Aug 2006 09:16
abhay wrote: > hi .i m interfacing 16x2 lcd to my P89LPC935 but i m unable to get > the desired output.i hav tested many times and also the program is > correct as i m able to debug it & observe the output correctly.i hav > also replaced my lcd one time. i m using HY-1602F6 lcd module.i hav > checked my pin configurations again & again but the lcd is just > flashing with backlight voltage input pins. > i m getting only blocks of one row display with no character when i > change the contrast. > > Could anyone helpme out in this as i hav to complete my project with > this lcd module soon .also i would be thankful if anyone could suggest > anyother lcd module for reliable & low cost operation. Abhay, If your LCD is HD44780 based (as most are) then please read the HD44780 datasheet and follow the initialisation strickly. power off the board and check the continuity of MCU pins to the LCD pins. power on board, check if RS,E,R/W and data signals reach okay at LCD pins. Put long delays say 20 secs and see if voltage changes at LCD pins as intented in the software. Following is example for PIC for 4-bit interfacing (snip from http://esurinder.net/pic/lcd4bit.c ) // setting interface length, higher 4-bits matter // Though naming following 8bit, these needs 4 wires // just to be consistent with HD44780 datasheet lcd_commwrt_8bit(0x38); // 0011 1000 -- set 8-bit delay(30000); lcd_commwrt_8bit(0x38); // 0011 1000 -- set 8-bit delay(30000); lcd_commwrt_8bit(0x38); // 0011 1000 -- set 8-bit delay(30000); lcd_commwrt_8bit(0x20); // 0010 0000 -- set 4-bit delay(30000); // 4-bit communication starts now with LCD lcd_commwrt(0x28); // 0010 0000 -- 4-bit, 1-line delay(30000); .... lcd_commwrt(0x01); // clear DDRAM and set DDRAM address to 0x00 delay(3000); LCD comes with blocks of characters. for example 16 charcter LCD can be of two block. first 8 character in one address range and second half in another address range. Depening on the instructions LCD controller will get from MCU, it can activate different regions/different lines. Once a pin of MCU went bad while interfacing with LCD. It was difficult to detect as we do not doubt it (as it happens not so often). So with patience verify everything in a procedural manner. thanks - Surinder |