سلام
c برای فراخوانی LCD من در مورد برنامه نویسی میکرو 8051مشکل دارم . هر چه برنامه را تغییر می دهم و تاخیر برایش قرار می دهم باز هم lcd جواب نمی دهد.
لطفا برنامه من را خوانده و اشکال آن را رفع کنید.
با تشکر
# define LCD_E P2_0
#define LCD_RW P2_1
#define LCD_RS P2_2
#define LCD_DB P0
void time1ms ()
{
int i;
for (i=0; i < 100; i++);
}
void delay1 (int n)
{
int i;
for (i=0; i< n; i++)
time1ms ();
}
void main ()
{
LCD_RW =0;
LCD_RS =0;
delay1(500);
LCD_DB = 0x01;
delay1(500);
LCD_E =1 ;
delay1(50);
LCD_E =0;
delay1(500);
LCD_RW =0;
LCD_RS =0 ;
delay1 (500);
LCD_DB = 0x38;
delay1(500);
LCD_E =1 ;
delay1(50);
LCD_E =0;
delay1(500);
LCD_RW =0;
LCD_RS = 0;
delay1(500);
LCD_DB = 0x0E;
delay1(500);
LCD_E = 1;
delay1(50);
LCD_E =0;
delay1(500);
LCD_E = 1;
delay1(50);
LCD_E =0;
delay1(500);
LCD_RW =0;
LCD_RS = 0;
delay1(500);
LCD_DB = 0x06;
delay1(500);
LCD_E =1 ;
delay1(50);
LCD_E =0;
delay1(500);
LCD_RW =0;
LCD_RS = 0;
delay1 (500);
LCD_DB = 0x80;
delay1(500);
LCD_E =1 ;
delay1(50);
LCD_E =0;
delay1(500);
LCD_RW =0 ;
LCD_RS = 1;
delay1(500);
LCD_DB ='N';
while (1) ;
}
[/code]
c برای فراخوانی LCD من در مورد برنامه نویسی میکرو 8051مشکل دارم . هر چه برنامه را تغییر می دهم و تاخیر برایش قرار می دهم باز هم lcd جواب نمی دهد.
لطفا برنامه من را خوانده و اشکال آن را رفع کنید.
با تشکر
# define LCD_E P2_0
#define LCD_RW P2_1
#define LCD_RS P2_2
#define LCD_DB P0
void time1ms ()
{
int i;
for (i=0; i < 100; i++);
}
void delay1 (int n)
{
int i;
for (i=0; i< n; i++)
time1ms ();
}
void main ()
{
LCD_RW =0;
LCD_RS =0;
delay1(500);
LCD_DB = 0x01;
delay1(500);
LCD_E =1 ;
delay1(50);
LCD_E =0;
delay1(500);
LCD_RW =0;
LCD_RS =0 ;
delay1 (500);
LCD_DB = 0x38;
delay1(500);
LCD_E =1 ;
delay1(50);
LCD_E =0;
delay1(500);
LCD_RW =0;
LCD_RS = 0;
delay1(500);
LCD_DB = 0x0E;
delay1(500);
LCD_E = 1;
delay1(50);
LCD_E =0;
delay1(500);
LCD_E = 1;
delay1(50);
LCD_E =0;
delay1(500);
LCD_RW =0;
LCD_RS = 0;
delay1(500);
LCD_DB = 0x06;
delay1(500);
LCD_E =1 ;
delay1(50);
LCD_E =0;
delay1(500);
LCD_RW =0;
LCD_RS = 0;
delay1 (500);
LCD_DB = 0x80;
delay1(500);
LCD_E =1 ;
delay1(50);
LCD_E =0;
delay1(500);
LCD_RW =0 ;
LCD_RS = 1;
delay1(500);
LCD_DB ='N';
while (1) ;
}
[/code]
دیدگاه