Дык. В разных компиляторах по разному бкдет. (как и под вынь32 програмирование).
Ты же видишь текст только файла .с а что в подключаемых *.h не видишь
А заголовки *.h в разных компиляторах по разному реализованы.
Вот если ты возьмешь текст на Си после препроцесора (например из листинга программы асм + си создаваемого при компиляции) в котором уже включены все заголовки и учтены дефайны - тогда он будет транспортабелен на АНСИ компиляторы.
А так ищи пример LCD под WinAVR, их куча в сети.
А лучше поставь себе CodeVision он не большой 2.5 Мб для скачки.
Вот прицепил провереные мной примеры LCD с эмуляцией в VMLAB (готовлю новую задачу в курс).