Quel est l'intérêt de D0-D3 sur LCD?

10

La bibliothèque Arduino LiquidCrystal a 4 constructeurs avec différents arguments:

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)

Les commentaires suivants sont indiqués pour les arguments du constructeur:

[...] d0, d1, d2 et d3 sont facultatifs; s'il est omis, l'écran LCD sera contrôlé en utilisant uniquement les quatre lignes de données (d4, d5, d6, d7).

À quoi cela sert-il d0-d3s'ils ne sont pas nécessaires? Vont-ils diminuer le temps de réponse?

Ami de Kim
la source

Réponses:

12

Ce type d'écran LCD a deux modes de fonctionnement principaux: le mode 4 bits qui utilise 4 broches de données (d4-d7) et le mode 8 bits qui utilise les 8 broches de données (d0-d7).

Le mode 4 bits a l'avantage de nécessiter moins de broches de sortie sur votre Arduino. Cependant, cela signifie que votre esquisse doit envoyer chaque commande / caractère sous la forme de deux lots distincts de 4 bits (l'un après l'autre). Ceci est géré automatiquement pour vous par la bibliothèque LiquidCrystal, vous n'aurez donc pas besoin de complexité supplémentaire dans votre code. Cependant, cela signifie que votre esquisse nécessite environ le double du nombre de cycles de processeur pour envoyer quoi que ce soit à l'écran LCD.

En revanche, le mode 8 bits envoie chaque commande / caractère comme un seul lot de 8 bits. Cela signifie simplement qu'il fonctionne techniquement un peu plus vite.

Cela dit, une personne qui regarde l'écran ne verra probablement pas de différence de vitesse significative la plupart du temps, car cela va encore très vite. L'impact principal sera sur le microcontrôleur (l'Arduino dans ce cas). S'il peut utiliser le mode 8 bits plus rapide, il peut consacrer un peu plus de temps de traitement à d'autres choses. Cela peut être particulièrement utile pour les applications critiques en termes de timing.

Peter Bloomfield
la source
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.Ce qui n'est généralement pas un problème car de nombreux modules (en particulier ceux chinois bon marché comme ceux sur eBay) ont tendance à avoir de faibles taux de rafraîchissement, vous ne pouvez donc pas les mettre à jour trop rapidement sans qu'ils se transforment en un gâchis flou et illisible de toute façon.
Synetech
3

La réponse se trouve sur la même page que la citation que vous avez mentionnée (j'ai souligné la déclaration importante):

Crée une variable de type LiquidCrystal. L'affichage peut être contrôlé à l'aide de 4 ou 8 lignes de données . S'il s'agit du premier, omettez les numéros de broche de d0 à d3 et laissez ces lignes non connectées. La broche RW peut être liée à la terre au lieu d'être connectée à une broche sur l'Arduino; si c'est le cas, omettez-le des paramètres de cette fonction.

Il s'avère que l'écran LCD Hitachi HD44780 peut fonctionner en modes 4 bits ou 8 bits.

jfpoilpret
la source
1
Oui, il indique qu'il peut être contrôlé à l'aide de 4 et 8 lignes de données. Mais quel est l'intérêt d'utiliser 8 si vous n'en avez besoin que de 4? Je veux dire, n'y a-t-il aucun avantage à utiliser 8 sur 4? Pourquoi gaspiller 4 lignes de données si cela ne sert à rien?
Ami de Kim
1
L'utilisation du mode 8 bits est un peu plus rapide côté Arduino et plus simple (moins de code). Mais en général, cela n'en vaut pas vraiment la peine, en comparaison avec 4 broches de sortie épargnées.
jfpoilpret
@jfpoilpret Ça vaut le coup si vous avez quatre broches de sortie supplémentaires ...
Anonymous Penguin
@annon pouvez-vous être plus concret sur la façon dont il vaut la peine d'utiliser le mode 8 broches? Des valeurs expérimentales concrètes?
jfpoilpret
1
@jfpoilpret Comme indiqué dans la réponse de Peter , cela donne un peu plus de temps de traitement à la puce. Si vous avez quatre broches supplémentaires, allez-y et ajoutez-les. Si elle devait être beaucoup plus grande / plus chère, cela n'en vaut pas vraiment la peine.
Pingouin anonyme
1

La présence de ces broches est une exigence de la technique qui devait être utilisée pour interfacer l'écran LCD avec les microprocesseurs qui étaient disponibles à l'époque où la puce du contrôleur HD44780U a été développée.

Les microcontrôleurs monopuce tels que nous les connaissons étaient encore à l'avenir et l'écran LCD devait être interfacé aux puces de microprocesseur 8 bits de l'époque en utilisant les mêmes techniques que tout autre périphérique d'E / S ou de mémoire 8 bits qui était un 8- peu de bus.

floresta
la source