jakob291 писал(а):И столкнулся с феноменом: шина данных LCD висит на порту В микроконтроллера. Там же находятся порты MOSI, MISO, SCK для ISP.
Никакого феномена это же внутрисхемное программирование.
jakob291 писал(а):Получается или программировать (отключив ЖКИ) или работать с ЖКИ (не всегда). Иначе CVAVR говорит, что программатор не вышел в режим программирования.
можно для удобства сделать перемычки.А вообще по идее если на входе Enable ЖК не меняется уровень с высокого на низкий, то дисплей никакого влияния не должен оказывать на схему входы вроде как должны быть в Z состоянии.
Пробуйте подтянуть эту ногу к питанию резистором 2-10кОм, чтобы во время программирования наводки не приводили дисплей в действие.
jakob291 писал(а):Реально, ISP лишает меня 3 портов на шине?
Вообще то в режиме слейв используется 4 ноги
SS не забывайте
jakob291 писал(а): Почему не удается работа ЖКИ при успешном программировании, но подключенном программаторе? Есть ли способа борьбы?
Если даже вас съели, у вас всегда есть два выхода
Можно сделать переходной буфер для программатора, который при низком уровне ресет активирует связь, при высоком - переводит ноги в Z состояние.Вообще нам неизвестно что у вас за программатор, что он там куда подключает, когда программирование не требуется.
Попробуй через
UNIPROF там можно выставить практически любые ноги порта для программирования.Вам разве имеет значение чем прошивать?Можно компилировать в одной проге, прошивать в другой.
PS В схеме не указано

соединение минуса контроллера с общим проводом порта, нужно ОБЯЗАТЕЛЬНО соединить, иначе все труды насмарку.
В поисках истины человек развивается.