Qual é o ponto de D0-D3 no LCD?

10

A biblioteca Arduino LiquidCrystal possui 4 construtores com argumentos diferentes:

LiquidCrystal(rs, enable, d4, d5, d6, d7) 
LiquidCrystal(rs, rw, enable, d4, d5, d6, d7) 
LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7) 
LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)

Os seguintes comentários são declarados para os argumentos do construtor:

[...] d0, d1, d2 e d3 são opcionais; se omitido, o LCD será controlado usando apenas as quatro linhas de dados (d4, d5, d6, d7).

Qual o sentido de d0-d3não serem necessários? Eles diminuirão o tempo de resposta?

Friend of Kim
fonte

Respostas:

12

Esse tipo de LCD possui dois modos principais de operação: modo de 4 bits que usa 4 pinos de dados (d4-d7) e modo de 8 bits que usa todos os 8 pinos de dados (d0-d7).

O modo de 4 bits tem a vantagem de exigir menos pinos de saída no seu Arduino. No entanto, isso significa que seu esboço precisa enviar cada comando / caractere como dois lotes separados de 4 bits (um após o outro). Isso é tratado automaticamente pela biblioteca LiquidCrystal, para que você não precise de mais complexidade no seu código. No entanto, isso significa que seu esboço requer aproximadamente o dobro do número de ciclos do processador para enviar qualquer coisa ao LCD.

Por outro lado, o modo de 8 bits envia cada comando / caractere como um único lote de 8 bits. Isso simplesmente significa que tecnicamente funciona um pouco mais rápido.

Com isso dito, uma pessoa que olha para a tela provavelmente não verá uma diferença significativa de velocidade na maioria das vezes, pois ela ainda ocorre muito rapidamente. O principal impacto será no microcontrolador (neste caso o Arduino). Se ele puder usar o modo mais rápido de 8 bits, poderá dedicar um pouco mais de tempo de processamento a outras coisas. Isso pode ser particularmente útil para aplicativos críticos em termos de tempo.

Peter Bloomfield
fonte
With that said, a person looking at the display probably won't see a significant speed difference most of the time, as it still goes very quickly.O que geralmente não é um problema, já que muitos módulos (especialmente os chineses baratos, como os do eBay) tendem a ter baixas taxas de atualização, então você não pode atualizá-los muito rapidamente sem que eles se transformem em uma confusão embaçada e ilegível.
#
3

A resposta está na mesma página da citação que você mencionou (destaquei a declaração importante):

Cria uma variável do tipo LiquidCrystal. A exibição pode ser controlada usando 4 ou 8 linhas de dados . No primeiro caso, omita os números dos pinos de d0 a d3 e deixe essas linhas desconectadas. O pino RW pode ser amarrado ao terra em vez de conectado a um pino no Arduino; Nesse caso, omita-o dos parâmetros desta função.

Acontece que o monitor LCD Hitachi HD44780 pode funcionar nos modos de 4 ou 8 bits.

jfpoilpret
fonte
1
Sim, diz que pode ser controlado usando 4 e 8 linhas de dados. Mas qual é o sentido de usar 8 se você só precisa de 4? Quero dizer, não há nenhuma vantagem de usar 8 sobre 4? Por que desperdiçar 4 linhas de dados se elas não servem?
Amigo de Kim
1
Usar o modo 8 bits é um pouco mais rápido no lado do Arduino e mais simples (menos código). Mas, em geral, não vale a pena, em comparação com a economia de 4 pinos de saída.
jfpoilpret
@jfpoilpret pena de que se você tem quatro pinos de saída extras ...
Pinguim Anonymous
@ annon você pode ser mais concreto sobre como vale a pena usar o modo de 8 pinos? Valores experimentais concretos?
jfpoilpret
1
@jfpoilpret Conforme declarado na resposta de Peter , isso dá um pouco mais de tempo de processamento ao chip. Se você tiver quatro pinos extras, vá em frente e adicione-o. Se exigir que seja muito maior / mais caro, não vale a pena.
Anonymous Penguin
1

A presença desses pinos é um requisito da técnica que precisava ser usada para fazer a interface do LCD com os microprocessadores que estavam disponíveis quando o chip do controlador HD44780U foi desenvolvido.

Os microcontroladores de chip único como os conhecemos ainda estavam no futuro e o LCD teve que ser conectado aos chips de microprocessador de 8 bits da época, usando as mesmas técnicas de qualquer outro dispositivo de E / S ou memória de 8 bits que fosse um dispositivo de 8 bits. ônibus pouco.

floresta
fonte