Prevan, Протеус тут, конечно, не при чем
Во-первых, непонять куда передается управление после rcall Init_lcd
Далее: управление R/W и RS почему-то изменением битов DDR, а не PORT
Сигнал E в схеме заведен на PORTD (в программе PORTB)
B DDRAM копируется 30 байт, хотя реально их 9
Увеличить на 1 указатель Z - это команда adiw Z,1
после метки main: ldi temp, 2 - опечатка, должно быть dat_lcd
там же brne stop - должно быть stop1
display shift left (18h) - с моим LCDALPHA не работает, shift right (1C) - нормально
команда display off - 08h
ну и во многих местах вместо rcall lcd_com - lcd_dat