interfacing pic16f877a to 16x4 LCD. how?

beenthere

Joined Apr 20, 2004
15,819
There is more to it than some code. The interface is the connection between the PIC and the display. The data sheets for the display will tell you what it needs to see in order to show a message. Then you need to figure out how to do that using I/O pins on the PIC.
 

retched

Joined Dec 5, 2009
5,207
Depending on the compiler you are using, once you wire the display to the PIC, there may be functions available that make it as easy as:

PrintToLCD("Hello");

or something like that.

That is entirely compiler dependent, however.
 

Eng_Bandar

Joined Feb 27, 2010
46
I will use Protues to simulate the circuit




and this code

Rich (BB code):
// LCD module connections
sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;
sbit LCD_RS_Direction at TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB4_bit;
sbit LCD_D7_Direction at TRISB5_bit;
// End LCD module connections
void main(){
  Lcd_Init();                        // Initialize LCD
  Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
  Lcd_Out(1,1,"Hi World!");                 // Write text in first row
}
Don't afraid this is simple code the main thing here this

Rich (BB code):
void main(){
  Lcd_Init();                        // Initialize LCD
  Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
  Lcd_Out(1,1,"Hi World!");                 // Write text in first row
}
others, only configuration of LCD pins.
If you want more explanation tell me.


whole project in attachment
 

Attachments

Last edited:
Top