has anyone interfaced a powertip lcd to 167/ST10? If yes, Pls let me know the ports used and the initialisation sequence regards rajesh
Hi Rajesh! Well, I don't know the powertip display, but many lcd displays use that HD44780 controller. If yours is the same, I might be ablre to help you. I only have code for the c51, but you will be able to understand the init sequence etc. It is just important to keep in mind that the timing is pretty slow and waiting a bit longer while the initialization is better than doing it very quickly or at the lowest delay possible, because that might cause a problem every now and then while building the series... Take care Sven
Hi Sven Thanks for the help. The controller here is LC7981. But still i would like to go through your code for some hints. regards Rajesh
Send e-mail to s dot petersen at amotec dot de. I will send you the code.
hello, i am trying to interface an lcd with the atmel 89c52. I downloaded an lcd code that i found in the keil software but doesnt seem to work. does any one know why. the lcd that i am using has the usuall driver. I found out that the power up of the lcd is very important. I tried powering it up the way that it is supposed to but still no outcome was achieve. thanks marcus smith
Hi Marcus, it depends on what LCD controller is implemented in that LCD display. Some really need a verrrryyy slooooowwwww access. It doesn't matter when you slow it down more than reqired in the datasheet, it might rather help. Just increase the delay loop counters and try again. The timing is not very complicated, so best is to get the data sheet and programm the required timing and initialization procedure. Not much of a big deal. -cu Sven
hello thanks for the resonding to my message. I am really having a hard time making the lcd work. I am using the atmel at89c52 microcontroller and the lcd L1672 14 pin parrallel port interface from Seiko. I really need some help with it. do you know of any particular c code. I would really appreciate your help. thanks, Marcus
Hi, If it can please you, I've written a LCD driver for the Sheiko M4032 (quite an old 2x20 character LCD), but as already told, the mechanism to control the LCD is still valid. Send me your email to gjgvancompernolle at yahoo dot com and I'll send you my C-file. To control the LCD, I'm using one 8051 port for the 8 data bits and 3 pins of another port for the control bits (R/W, Reg. select and Enable). I'm rebuilding the driver now to access it via an I2c controlled PCF8574 I/O expander, just to gain back my precious 8051 ports. As already mentioned in previous reactions, timing is a very important issue, especially during initialization. I also struggled with this, but could finally find an optimum timing schedule. The driver can still be improved by checking a busy flag of the LCD, so that you don't wait unnecessary, but this is really if you want to finetune it to the extreme to gain every microsecond that otherwise would be lost. But I've chosen for secure operation and don't use this check (yet??). Rgds, Geert
Hello Mr.Geert Vancompernolle I read your message response, please send me the code to email: afantous1@yahoo.com I really appreciate your help. marcus
I have the L1672 and interfacing it to 89c52 and would like to know if you have a c code for it.
Dear Sir I need ur help in the following matter "interfacing matrix keypad ( Telephone set keypad) with 16*2 character LCD (with hd44780) using microcontroller 8051" I will b very thankful to u
Hello everyone!I'm having some problems with my LCD module too...I trying to make it work with my 8051 emulation board. I am using Philip EB-51 board with powertip PC1602F LCD module.. I've already set up everything but have problems with the C program. Can anyone send me a copy of your program please.. prefer to hav it in basic C. Thank you!
It is common that LCDs require a "repeat" of some initialization. ref http://www.8052.com/forum/read.phtml?id=101969 Erik
How about i post a copy of my C program here?Is that allow?? I really need help with this..i'm not really good with this LCD interface..
#include<reg51.h> sbit RS = P2^0; sbit RW = P2^1; sbit E = P2^2; void long_delay(unsigned int y) { unsigned int x; for (x=0;x<y;x++); } void delay(unsigned char y) { unsigned char x; for (x=0;x<y;x++); } void strobe() { E = 1; delay(150); E = 0; delay(150); } void LCD_init() { unsigned char x; for (x=0;x<3;x++) { P0=0x30; RS=0; RW=0; strobe(); delay(150); } P0=0x38; strobe(); P0=0x0c; strobe(); P0=0x01; strobe(); P0=0x02; strobe(); } void LCD_print(unsigned char x) { P0=x; RS=1; RW=0; strobe(); } void main() { LCD_init(); RI=0; E=0; for(;;) { while (RI==0); RI=0; LCD_print("Hello!!"); } }
you have no ideas of the length of delay() since it is written in C. Erik