Раз уж такая петрушка, отпишусь и я по LCD в этой ветке...
Начал эксперименты ставить, использую мегу8, для генерации 8битного кода использую регистр 4094, схема подключения практически то, что указано на схеме 3 здесь:
http://www.caxapa.ru/sch/lcd3v.htmlИспользовал дисплей 16x1, если конкретно по имени - то Winstar WH1601A-YGH-CTK даташит его скурил почти в пепел - но информации в нем недостаточно. Так, например, пришлось методом проб и ошибок добиваться заполнения всех 16 символов. При его разработке технология такова, что чип управляет только 8 символами. И чтобы отобразить строку из 16 символов приходится устанавливать ему режим ДВУХСТРОЧНОГО, причем, продолжение первой строки (9 символ) необходимо помещать в адрес DDRAM 0x40 (вопреки логичному, казалось бы, 0x28).
Что осталось из неразрешенного:
Зачем данному дисплею память на 80 символов, если отображаются только 16? Я не смог найти способ "сдвинуть" строчку. Кто знает - подскажите, пожалуйста! И еще вопрос - при сдвигании этой самой строчки - как будет происходить сдвигание по экрану - ведь вторая половина строки - уже другая "подстрока"? По-моему, проще генерировать именно 16 символьное отображение, которое выводить на экран

Также, подозреваю, что не совсем правильно вгонять экран в 2-строчный режим. Но в 1-строчном режиме издевался даже так, что всю строку пытался забить символами, но на экране все равно светятся только 8...
Еще интересно было бы разобраться с LCD-эмулятором AVR Studio. Что за файлик ему необходимо подсовывать и как с этим работать?
Библиотечку для IAR для работы с LCD, похоже, придется создать свою...
P.S. Еще было бы интересно, кто каким образом организует таблицу перекодировки русских символов...
P.P.S.: может, уважаемые модераторы изменят заголовок темы и здесь будем обсуждать все про LCD?