Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   Problem displaying phrase in a 16x2 LCD (http://www.go4expert.com/forums/displaying-phrase-16x2-lcd-t693/)

granix 7Apr2006 00:44

Problem displaying phrase in a 16x2 LCD
 
i'm trying to display a phrase to a 16x2 LCD using 8051 and C programming .But a line of square dots keep on displaying on the LCD,without displaying the phrase.
can u help me verify what wrong with the code????
your help is greatly appreciated.
Code: C

#include <reg52.h>
#include <intrins.h>   

typedef unsigned char bit_8;

#define CLR 0
#define SETB 1

sbit DB0 = P1^0;
sbit DB1 = P1^1;
sbit DB2 = P1^2;
sbit DB3 = P1^3;
sbit DB4 = P1^4;
sbit DB5 = P1^5;
sbit DB6 = P1^6;
sbit DB7 = P1^7;
sbit EN = P3^7;
sbit RS = P3^6;
sbit RW = P3^5;
sbit DATA = P1;
sbit D7=P1^7;
bit_8 code *days[]={"*Sun*","*Mon*","*Tue*","*Wed*","*Thu*","*Fri*","*Sat*"};      

bit_8 code *val[]={"0","1","2","3","4","5","6","7","8","9","10","11","12"};   
bit flag;

bit_8 month=1,date=1,hh,lmin,hmin,hsec,lsec,day=0,lyear=5,hyear=0,date_count;

sbit Ready = P3^7;



void ini(void);
void command(bit_8);
void data_in(bit_8*);
void busy(void);



void main()
{
    bit_8 temp;
    ini();
    data_in("i love u");
}



void ini()
{   
    command(56);
    command(12);
    command(1);
    command(6);
}


void busy()
{
    D7=1;
    RS=0;
    RW=1;
    while(D7!=0)
    {
        EN=0;
        EN=1;
    }
}



void command(bit_8 val)
{
    busy();
    P1=val;
    RS=0;
    RW=0;
    EN=1;
    EN=0;
}



void data_in(bit_8 *string)
{
    bit_8 i;
    busy();
    for(i=0;string[i]!='\0';i++)
        {
            P1=string[i];
            RS=1;
            RW=0;
            EN=1;
            EN=0;
        }
}


shabbir 7Apr2006 05:28

Re: Problem displaying phrase in a 16x2 LCD
 
Duplicate of Problem displaying phrase in a 16x2 LCD. Thread closed.


All times are GMT +5.5. The time now is 08:05.