Bibliothèque C pour contrôleur d’afficheur LCD HD44780 (2 / 4 étapes)

Étape 2: Comment imprimer à un emplacement précis du curseur

Continuons d’examiner les exemples de code de bibliothèque LCD hd44780. Veuillez vous reporter à l’article précédent pour des liens vers le code source et une explication de ce que nous y travaillons.

Nous allons maintenant examiner l’exemple de code suivant :

CursorPosition.c

Remarque : Dans l’image ci-dessus, les lignes qui commencent par « 0 » et « 1 » sont ligne.
Les lignes qui commencent par « 2 » et « 3 » sont deux.

L’écran que j’ai est un ERM2004-1. Il prend en charge deux 40 lignes de caractère réparti sur 20 4 lignes de caractères à l’écran.

Si vous n'avez pas fait, se référer au dernier post, pour le lien référentiel de code et télécharger le code source, donc vous pouvez suivre le long.

Nous tout d’abord afficher l’exemple de code complet et nous discuterons ensuite le code section par section.

 #include #include "hd44780_4bit_lib.h"/* * This code example uses the hd44780_setCursorPosition() functioh * to set the starting cursor position using row, col information * This cursor info is then written to the DDRAM address. * Using this method it is very easy to postion text on the dissplay */void main() { WDTCTL = WDTPW | WDTHOLD; // Disable watchdog timer // according to spec give the display 10ms to come up to voltage __delay_cycles(10000 * CPUSPEED); // set up data length, number of lines and font // notice we have setup the display for 2 lines and // using the 5 x 8 character size hd44780_init(N_2LINE, FONT_8); // if needed set up the cursor // hd44780_send_command(HD44780_CMD_DISPLAY_ON_CURSOR); // hd44780_send_command(HD44780_CMD_DISPLAY_ON_CURSOR_BLINK); hd44780_send_command(HD44780_CMD_RETURN_HOME); hd44780_send_command(HD44780_CMD_CLEAR_DISPLAY); // set Increment direction and cursor direction hd44780_send_command(HD44780_CMD_INCREMENT); hd44780_send_command(HD44780_CMD_MOVE_CURSOR_RIGHT); // hd44780_send_command(HD44780_CMD_RETURN_HOME); //hd44780_send_command(HD44780_CMD_CLEAR_DISPLAY); // The display I am testing with is a two line 40 character display // The display shows 20 characters per line so each line wraps twice // for what looks like a 4 line display. // On line one if you write past the 20th character the text // shows up on what appears // to be the third line. // Same goes for the second line, any character past the // 20th character is written // to what appears to be the fourth line. // hd44780_setCursorPosition(0, 0); hd44780_write_string("0123456789"); hd44780_setCursorPosition(0, 10); hd44780_write_string("0123456789"); hd44780_setCursorPosition(0, 20); hd44780_write_string("11234567890123456789"); hd44780_setCursorPosition(1, 0); hd44780_write_string("21234567890123456789"); hd44780_setCursorPosition(1, 20); hd44780_write_string("31234567890123456789"); hd44780_send_command(HD44780_CMD_RETURN_HOME);} 

La première section du code est expliquée dans la section précédente.

La fonction hd44780_send_command() met en place l’interface hd44780 pour envoyer des commandes à l’IR, le registre d’instruction. Ces commandes sont juste mise en place de l’écran pour l’écriture.

Si vous êtes intéressé, veuillez vous référer à la spécification hd4780 pour plus de détails. Voir le post précédent pour un lien pour la spécification.

 hd44780_setCursorPosition(0, 0); hd44780_write_string("0123456789"); hd44780_setCursorPosition(0, 10); hd44780_write_string("0123456789"); hd44780_setCursorPosition(0, 20); hd44780_write_string("11234567890123456789"); hd44780_setCursorPosition(1, 0); hd44780_write_string("21234567890123456789"); hd44780_setCursorPosition(1, 20); hd44780_write_string("31234567890123456789"); hd44780_send_command(HD44780_CMD_RETURN_HOME); 

La fonction hd44780_setCursorPosition() appelle une Instruction, appelée « adresse DDRAM Set "
Les arguments passés ensemble vers le haut de la ligne et cursor position afin que la prochaine fois données est envoyé à l’écran, que les données soit positionnées à l’emplacement correct.

La fonction hd44780_write_string() prend la chaîne passée et imprime un caractère à la fois à l’emplacement de départ spécifié par la fonction hd44780_setCursorPosition(). Le compteur d’adresse AC fonctionne il magie si vous n’avez pas à vous soucier d’incrémentation ou décrémentation de la position du curseur.

Articles Liés

Comment utiliser la bibliothèque SRIO pour Arduino

Comment utiliser la bibliothèque SRIO pour Arduino

avec SRIO Library, vous pouvez étendre votre Arduino d'e/s avec registre à décalage 4021 et 74HC595vous pouvez trouver ce tutrorial ici : http://www.e-licktronic.com/en/content/19-tutorial-library-sriohttp://www.e-licktronic.com/en/content/19-tutoria
Sticks personnalisé pour contrôleur sans prendre leur APART

Sticks personnalisé pour contrôleur sans prendre leur APART

facile de faire des Sticks pour les contrôleursÉtape 1: matériaux Ballons d'eauCiseauxContrôleur deEtape 2: Couper les ballons Couper les ballons un peu au-dessus de 2 1/2 cmÉtape 3: Ballon de diapositive sur le stick analogiqueÉtape 4: Profitez Tout
Comment faire pour créer un CD avec les titres de votre bibliothèque iTunes pour écouter dans votre voiture ?

Comment faire pour créer un CD avec les titres de votre bibliothèque iTunes pour écouter dans votre voiture ?

Si vous avez toujours voulu avoir un CD avec votre musique préférée depuis votre bibliothèque iTunes, donc vous pouvez facilement écouter pendant que vous êtes sur un long trajet avec votre voiture, par exemple, c'est la façon de le faire.Étape 1: Ou
Boîte de bibliothèque thread pour bobines maigres--Sulky, Gutermann, Mettler Metrosene (capacité : 175 bobines)

Boîte de bibliothèque thread pour bobines maigres--Sulky, Gutermann, Mettler Metrosene (capacité : 175 bobines)

cet organisateur de thread est supérieur à ce que vous pouvez trouver pré-faites, surtout si vous avez beaucoup des bobines de fil de style maigre.Pourquoi ?Il détient les bobines de fil à haute densité (capacité de 175 par boîte), mais alors que les
Boîte pour contrôleur CNC début

Boîte pour contrôleur CNC début

Liste de matériel :1 laser coupe 6mm acrylique X12.M6 * 15 vis X83.2020R en aluminium X44. 5V Fan X15 interrupteur X26.12V module LED X27. début CNC Controller X1 (acheter chez Alliance bricolage LX)Etape 1: assembler
1 fil contrôleur LCD pour Arduino

1 fil contrôleur LCD pour Arduino

Alors qu'il travaillait sur un projet de ATtiny que j'ai trouvé je manquait le nombre requis de pins et besoin de fixer un écran LCD avec juste 1 filJ'avais trouvé une Instructable sur comment utiliser un registre à décalage pour contrôler l'écran LC
Contrôleur de température Heatbed pour RepRap en utilisant Gen6

Contrôleur de température Heatbed pour RepRap en utilisant Gen6

Merci de vérifier ce petit mode d'emploi de toutes sortes sur ! Je veux juste obtenir ce quelques choses de la route :-Pied, il s'agit en aucune façon une fin tout, soyez tous ! Je n'a pas pris de photos pendant le tournage du, mais c'est très simple
Installation de Grove bibliothèque pour Intel Edison

Installation de Grove bibliothèque pour Intel Edison

Cette instructable va vous apprendre comment faire pour installer la bibliothèque Grove et exécutez base démos pour le bosquet de kit de démarrage plus gen 2 sur la plateforme Intel Edison.Le matériel suivant est nécessaire pour cela instructable :(1
Arduino TFT affichage et polices de la bibliothèque

Arduino TFT affichage et polices de la bibliothèque

Je suis assez fan de l'Arduino comme il y a tellement logiciels déjà disponibles sur l'internet, ce qui rend remplir plus facilement de nouveaux projets !Récemment j'ai acheté quelques écrans TFT 1.8" à bas prix pour un projet, au début je ne pouvais
Construire votre propre contrôleur (bon marché!) multifonctions sans fil caméra.

Construire votre propre contrôleur (bon marché!) multifonctions sans fil caméra.

IntroductionJamais imaginé de construire votre propre contrôleur de caméra ?Remarque importante : Les condensateurs pour le MAX619 sont 470n ou 0.47u.  Le schéma est correct, mais la liste des composants a été mal - mise à jour.Il s'agit d'une entrée
Contrôleur de piscine personnalisé - Arduino et Raspberry Pi

Contrôleur de piscine personnalisé - Arduino et Raspberry Pi

nous avons acheté une maison avec une piscine. Les deux premières semaines, que nous avons fait plusieurs erreurs coûteuses, y compris l'utilisation de l'appareil de chauffage pour chauffer toute la piscine plus de 90 degrés. Je pense que nous avons
Automatisé contrôleur aveugle Horizontal motorisé solaire

Automatisé contrôleur aveugle Horizontal motorisé solaire

J'ai commencé ce projet parce que nous avons certains stores horizontaux situés dans une fenêtre élevée au-dessus de la porte principale à notre maison. Cette fenêtre fait face au sud, et ici, dans le Colorado, qui signifie beaucoup de soleil. Il ser
En utilisant une RPi pour contrôler une LED RGB

En utilisant une RPi pour contrôler une LED RGB

Comme rahulkar mentionné dans son tutoriel, LED de contrôle semble être le « Hello World » de l'électronique. Il est facile de mettre en place, on apprend beaucoup sur le fonctionne électronique et en fin de compte, vous avez un chouette petit morcea
I2C LCD contrôleur partie II

I2C LCD contrôleur partie II

maintenant que nous avons installer et monter le contrôleur ici est un petit projet. Nous allons construire un thermomètre.Liste des pieces1. Arduino1. I2C LCD1. DHT11 Capteur de température1. 1 k résistance7. fils de raccordementÉtape 1 : Connexion