welche Zeilen sind das? Die Test-Ausgabe in main?
Wenn du die Zeichen mit " " schreibst, werden sie als String interpretiert, und der Funktion wird ein Zeiger auf diesen String übergeben. Um nur ein einzelnes Zeichen als unsigned char zu übergeben, musst du es mit ' ' schreiben:
lcd_data('T');
lcd_data('e');
lcd_data('s');
lcd_data('t');