Eu tenho um ATmega8 com um Nokia LCD 5510 conectado a ele. Tudo funciona muito bem em uma tábua de pão e meu próximo passo é movê-lo para uma tábua mais permanente. Meu problema é que não consigo programar o ATmega8 enquanto o LCD também está conectado. Suponho que é porque eles usam os mesmos pinos SPI e que o LCD de alguma forma interfere na programação. Como posso fazer isso diferente para poder piscar o ATmega via ISP sem desconectar o LCD?
8
Respostas:
Você precisa impedir que qualquer outro dispositivo direcione as linhas SPI durante a programação.
Para evitar a contenção do driver, um resistor em série deve ser colocado em cada uma das três linhas dedicadas, se houver a possibilidade de que circuitos externos possam estar acionando essas linhas.
Dê uma olhada na nota de aplicação AVR910.
Portanto, seria melhor se as linhas de redefinição do ATMEGA e o monitor estivessem funcionalmente conectadas para impedir que o monitor fizesse alguma coisa enquanto o programador mantinha o reset.
fonte
Outra solução é desativar a tela durante a programação .
A tela fica ativa quando o pino CS (seleção de chip) está baixo (0v). Se você colocar um resistor pull-up de 10kR entre o pino CS e 3V3 , ele será desativado / alto por padrão. Para habilitá-lo, conecte o pino CS a uma saída do seu microcontrolador e defina essa saída como baixa (0V). Eu fiz isso em um dos meus projetos e funciona bem.
A tela funciona em 3,3V, você terá que adicionar um divisor de tensão se o seu micro controlador funcionar em 5V.
fonte