Ich habe mir gerade noch mal deine lcd.h angesehen. Was macht diese Zeile?
Code:
#define LCD_PORT         PORTD       /**< port for the LCD lines   */
#define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 4 */
#define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 5 */
#define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 6 */
#define LCD_DATA3_PORT   LCD_PORT     /**< port for 4bit data bit 7 */
#define LCD_DATA0_PIN    4            /**< pin for 4bit data bit 0  */
#define LCD_DATA1_PIN    5            /**< pin for 4bit data bit 1  */
#define LCD_DATA2_PIN    6            /**< pin for 4bit data bit 2  */
#define LCD_DATA3_PIN    7            /**< pin for 4bit data bit 3  */
#define LCD_RS_PORT      LCD_PORT     /**< port for RS line         */
#define LCD_RS_PIN       2            /**< pin  for RS line         */
#define LCD_E_PORT       LCD_PORT     /**< port for Enable line     */
#define LCD_E_PIN        3            /**< pin  for Enable line     */


#define LCD_PORT         PORTB       /**< port for the LCD lines   */???????????????????????????????????????????????????????????????

#if LCD_READ_REQUIRED
#define LCD_RW_PORT      LCD_PORT     /**< port for RW line         */
#define LCD_RW_PIN       0            /**< pin  for RW line         */
define LCD_RW_PORT      LCD_PORT     /**< port for RW line         */
#define LCD_RW_PIN       1            /**< pin  for Hintergrundbeleuchtung        */
Die Zeile mit den Fragezeichen schaltet auf PORTB um. Lösch sie mal raus.