У меня ATmega8 с подключенным к нему ЖК-дисплеем Nokia 5510 . Все отлично работает на макете, и мой следующий шаг - переместить его на более постоянную доску. Моя проблема в том, что я не могу запрограммировать ATmega8, когда ЖК-дисплей также подключен. Я предполагаю, что это потому, что они используют одни и те же контакты SPI и что ЖК-дисплей как-то мешает программированию. Как я могу сделать это по-другому, чтобы я мог прошить ATmega через ISP, не отключая ЖК-дисплей?
8
Ответы:
Вы должны запретить любому другому устройству управлять SPI-линиями во время программирования.
Чтобы избежать конфликта драйверов, последовательный резистор должен быть размещен на каждой из трех выделенных линий, если существует вероятность того, что внешние линии могут управлять этими линиями.
Посмотрите на примечание по применению AVR910.
Поэтому было бы лучше, если бы линии сброса ATMEGA и дисплея были функционально связаны, чтобы дисплей ничего не делал, пока программист удерживает сброс.
источник
Другое решение - отключить экран во время программирования .
Экран активен, когда на выводе CS (выбор микросхемы) низкий уровень (0 В). Если вы вставите нагрузочный резистор 10 кР между контактом CS и 3V3 , он будет отключен / высокий по умолчанию. Чтобы включить его, подключите контакт CS к выходу вашего микроконтроллера и установите для этого выхода низкий уровень (0 В). Я сделал это на одном из моих проектов, и он работает хорошо.
Экран работает с напряжением 3,3 В, вам придется добавить делитель напряжения, если ваш микроконтроллер работает на 5 В.
источник