dashkil
Member level 2
i have written a code in mikro c without using lcd library, my lcd has a ST7066U driver and i have written for 8-bit interfacing. now i have test the code in proteus 7 but nothing is showing.
Note: i am not using lcd library given in mikroc because the code is for HD44780 and for 4-bit. Is there a library for 8 bit interfacing? And is ST7066U is fully compatible with HD44780?
I have posted this twice in microcontroller section , i am not getting even a single feedback; plz i need a help very badly ...
Please help me,check my code and tell me about is there any wrong with the code;
Note: i am not using lcd library given in mikroc because the code is for HD44780 and for 4-bit. Is there a library for 8 bit interfacing? And is ST7066U is fully compatible with HD44780?
I have posted this twice in microcontroller section , i am not getting even a single feedback; plz i need a help very badly ...
Please help me,check my code and tell me about is there any wrong with the code;
Code:
sbit RS at RA0_bit;
sbit RW at RA1_bit;
sbit EN at RA2_bit;
//*************************************//
void enable(); // for strobe control
void command(unsigned char cmd_code); // for instruction
void Lcd_string(unsigned char *text); // for writting a string
void Lcd_int(); // for Lcd initialization
//***********************************//
void main()
{
TRISA=0;
TRISB=0;
delay_ms(200);
Lcd_int();
while(1)
{
Lcd_string("ALMIGHTY *****");
command(0x01); // clear display
command(0x02); // return cursor to origin
delay_ms(200);
}
}
//***********************************//
void enable()
{
EN=1;
delay_ms(1);
EN=0;
delay_ms(2);
}
//************************************//
void command(unsigned char cmd_code)
{
PORTB=cmd_code;
enable();
}
//************************************//
void Lcd_int()
{
RS=0; // for instruction data
RW=0; // for write operation
EN=0; // enable is low
command(0x30); // mode 8 bit, 1 line display,font 5x8
command(0x30);
command(0x0F); // entire display on,cursor on,blinking on
command(0x02); // return cursor to origin
command(0x01); // clear display
command(0x06); // entry mode is set
}
//************************************//
void Lcd_string(unsigned char *text)
{
RS=1;
RW=0;
while(*text!='\0')
{
PORTB=*text++; // for outputing a single byte at a time
enable();
}
}
//************************************//