Hello all, Well I spoken a little bit too soon. The LCD initializes but I am=20 have trouble sending characters it. Here is the code of what I am trying=20 to send and I have also included the code that sends the character or=20 characters to the LCD. Well this isn't working. I get the new position=20 but there is no character or string. I have gotten down to the=20 LCD_Send_data is not working. The LCD_Send_cmd routine works correctly.=20 I just can't see what I have done wrong. Any help will be greatly=20 appreciated. Thanks, rich! LCD_data =3D PORTD LCD_set_position(3); LCD_send_char('a'); LCD_send_string("Hello!"); extern void LCD_Send_cmd(unsigned char value) { LCD_data =3D value; LCD_rs =3D 0; LCD_rw =3D 0; LCD_e =3D 1; wait(30); LCD_e =3D 0; } extern void LCD_Send_data(unsigned char value) { LCD_data =3D value; LCD_rs =3D 1; LCD_rw =3D 0; LCD_e =3D 1; wait(30); LCD_e =3D 0; } extern void LCD_send_char(char char_) { //LCD_data =3D char_; LCD_Send_data(char_); //pulse the enable line wait(5); //wait for 5 microseconds (us) //LCD_e =3D 0; //wait(10); //read_busy_flag(); //wait for the LCD to finish //LCD_rs =3D 0; } extern void LCD_send_string(const char *string_data) { unsigned int i; for (i=3D0; string_data[i] !=3D '\0'; i++) { if ( string_data[i] =3D=3D '\n' || string_data[i] =3D=3D '\r') { LCD_line2(); } else { LCD_send_char(string_data[i]); } } } On 10/21/2015 11:46 PM, Richard R. Pope wrote: > Hello Issac and et al, > Well I have gotten the 18F4550 to talk to the LCD correctly and I > am now using the subroutines that I wrote for a 16F84a. I want to tell > everyone just how much I appreciate the help that I received. This is a > great place to get help. > Thanks all, > rich! --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .