Strange problem with 8051uc 16x2 lcd in 4bit mode.
Discussion in "Project Doubts" started by pratikshinde Jul 19, 2012.
Thu Jul 26 2012, 12:57 pm
@majoka,@Ajay
Which keil are you using?
no error messages are generated, few warnings are there, but those of functions defined but not used/called.
Which keil are you using?
no error messages are generated, few warnings are there, but those of functions defined but not used/called.
[ Edited Thu Jul 26 2012, 12:57 pm ]
Thu Jul 26 2012, 02:25 pm
@ pratikshinde
i am usingh keil4
you can download from here
http://www.4shared.com/rar/pwNkc9ac/keil_4.html
Tags keil uvision4keil4keil downloadkeil uvision downloadkeil full version
i am usingh keil4
you can download from here
http://www.4shared.com/rar/pwNkc9ac/keil_4.html
Fri Jul 27 2012, 05:26 pm
Hello mjoka,
I have used Keil from link you have given,
and now the code is working fine,
here is screen shot,
thank you very much for your support,
mjoka and Curiou_Som
http://www.4shared.com/photo/ecVTKC1W/2012-07-27_16-53-33_273.html?refurl=d1url
I have used Keil from link you have given,
and now the code is working fine,
here is screen shot,
thank you very much for your support,
mjoka and Curiou_Som
http://www.4shared.com/photo/ecVTKC1W/2012-07-27_16-53-33_273.html?refurl=d1url
[ Edited Fri Jul 27 2012, 05:27 pm ]
Fri Jul 27 2012, 10:10 pm
@pratik
welcome pratik. happy to help you.
I never thought that difference in the version of a same compiler can cause a problem like that.
Thanks for the lesson Ajay ,Majoka.
welcome pratik. happy to help you.
I never thought that difference in the version of a same compiler can cause a problem like that.
Thanks for the lesson Ajay ,Majoka.
Sat Jul 28 2012, 06:17 am
@ pratikshinde
glad to happy that u has done it
@ Curiou_Som
i was doubt that pratikshinde was using a trial version or evolution version
evolution version can compile a program with in a 2kbytes
the code was small than 2 kb but i think it was not a registered version that was creating problem
otherwise there is no difference between its versions
glad to happy that u has done it
@ Curiou_Som
i was doubt that pratikshinde was using a trial version or evolution version
evolution version can compile a program with in a 2kbytes
the code was small than 2 kb but i think it was not a registered version that was creating problem
otherwise there is no difference between its versions
Thu Mar 14 2013, 12:22 am
hello majoka and Ajay i am having problem interfacing 16x2 LCD with 89c55 controller i have used P0.4 to P0.7 as data and P2.0 and P2.1 as RS and EN respectively. I have connected 10K pull-up resistor with P0.but still i am not able to run on Hardware. Proteus run the code successfully. please tell me where I am Wrong?
please help me out
#include <regx55.h> //******************* //Pin description /* P2.4 to P2.7 is data bus P1.0 is RS P1.1 is E */ //******************** // Defines Pins sbit RS = P2^0; sbit E = P2^1; //Function declarations void cct_init(void); void delay(int); void lcdinit(void); void writecmd(int); void writedata(char); void writeString(unsigned char *); void ReturnHome(void); void cct_init(void) { P0 = 0x00; //not used //P1 = 0x00; //not used P2 = 0x00; //used as data port //P3 = 0x00; //used for generating E and RS } void delay(int a) { int i; for(i=0;i<a;i++); //null statement } void writedata(char t) { RS = 1; // This is data P0 &= 0x0F; // Make P2.4 to P2.7 zero P0 |= (t&0xF0); // Write Upper nibble of data E = 1; // => E = 1 delay(150); E = 0; // => E = 0 delay(150); P0 &= 0x0F; // Make P2.4 to P2.7 zero P0 |= ((t<<4)&0xF0);// Write Lower nibble of data E = 1; // => E = 1 delay(150); E = 0; // => E = 0 delay(150); } void writecmd(int z) { RS = 0; // This is command P0 &= 0x0F; // Make P2.4 to P2.7 zero P0 |= (z&0xF0); // Write Upper nibble of data E = 1; // => E = 1 delay(150); E = 0; // => E = 0 delay(150); P0 &= 0x0F; // Make P2.4 to P2.7 zero P0 |= ((z<<4)&0xF0);// Write Lower nibble of data E = 1; // => E = 1 delay(150); E = 0; // => E = 0 delay(150); } void writeString(unsigned char *s) { while(*s) writedata(*s++); } void lcdinit(void) { ///////////// Reset process from datasheet ///////// delay(15000); P0 &= 0x0F; // Make P2.4 to P2.7 zero P0 |= (0x30&0xF0); // Write 0x3 E = 1; // => E = 1 delay(150); E = 0; // => E = 0 delay(150); delay(4500); P0 &= 0x0F; // Make P2.4 to P2.7 zero P0 |= (0x30&0xF0); // Write 0x3 E = 1; // => E = 1 delay(150); E = 0; // => E = 0 delay(150); delay(300); P0 &= 0x0F; // Make P2.4 to P2.7 zero P0 |= (0x30&0xF0); // Write 0x3 E = 1; // => E = 1 delay(150); E = 0; // => E = 0 delay(150); delay(650); P0 &= 0x0F; // Make P2.4 to P2.7 zero P0 |= (0x20&0xF0); // Write 0x2 E = 1; // => E = 1 delay(150); E = 0; // => E = 0 delay(150); delay(650); ///////////////////////////////////////////////////// writecmd(0x28); //function set writecmd(0x0c); //display on,cursor off,blink off writecmd(0x01); //clear display writecmd(0x06); //entry mode, set increment } void main() { cct_init(); //Make all ports zero lcdinit(); //Initilize LCD writeString("Hello World"); }
please help me out
[ Edited Thu Mar 14 2013, 12:44 am ]
Thu Mar 14 2013, 11:46 pm
Please guys I need help i have tried every thing but not working.............
Fri Mar 15 2013, 10:56 pm
but still i am not able to run on Hardware. Proteus run the code successfully. please tell me where I am Wrong?taher
The obvious conclusion is that you have a hardware fault !
recheck all connections.
Have you tried adjusting the contrast ?
Post a diagram of your circuit.
Powered by e107 Forum System