« SE4 2022/2023 EC2 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
(Ajout de la description de la librairie)
Ligne 36 : Ligne 36 :


=== Séquences VT100: ===
=== Séquences VT100: ===
Les séquences VT100 que j'ai sélectionnée sont (j'en ai choisi une de plus) :
Les séquences VT100 que j'ai sélectionnée sont:


<blockquote>
<blockquote>cursorhome            Move cursor to upper left corner       Echap+H
clearscreen ED2       Clear entire screen                    Ctrl+2


cursorhome            Move cursor to upper left corner      Ctrl+H
cursorup              Move cursor up one line                Echap+A


cursorup             Move cursor up one line               Ctrl+A
cursordn             Move cursor down one line             Echap+B


cursordn             Move cursor down one line              Ctrl+B
cursorrt             Move cursor right one char            Echap+C


cursorrt             Move cursor right one char             Ctrl+C
cursorlf             Move cursor left one char             Echap+D
</blockquote>


cursorlf              Move cursor left one char              Ctlr+D
=== Librairie HD44780 pour AVRGCC et AVR uC: ===
</blockquote>
La librairie permet de :
 
* choisir les pins pour chaques broches de données.
* choisir le mode 2 lignes ou 4 lignes pour l'écran.
* choisir le mode 4bits ou 8bits pour le bus de données parralèles.
* choisir le type de curseur entre :
** "no_CURSOR" qui n'affiche rien sur la position ou l'on se trouve sur l'écran.
** "underlined" qui affiche un soulignage de la position actuelle.
** "blinking" qui fait clignoter la case sur laquelle on se trouve.
** "underlined_blinking" la somme de underlined et blinking.
* implémente une fonction LCDSetup qui permet d'initialiser l'écran avec le paramètres ci-dessus.
* implémente une fonction ShiftUp qui permet de se déplacer vers le haut sur l'écran
* implémente une fonction ShiftDwon qui permet de se déplacer vers le bas sur l'écran.
* implémente une fonction ShiftRight qui permet de se déplacer vers la droite sur l'écran.
* implémente une fonction ShiftLeft qui permet de se déplacer vers la gauche sur l'écran.
* implémente une fonction LCDon qui permet d'activer l'affichage.
* implémente une fonction LCDoff qui permet de désactiver l'affichage.
* implémente une fonction NewLine qui permet de passer au début de la ligne suivante.
* implémente une fonction WriteChar qui permet d'écrire un caractère sur la case ou l'on se trouve.
* implémente une fonction LCDgotoXY qui permet de se déplacer à une position voulue sur l'écran.


ReX : D'accord, partons sur celles-ci.
La configuration doit être faite dans le fichier lcd_hd44780.h


= Documents Rendus =
= Documents Rendus =

Version du 18 juillet 2023 à 10:56

Objectifs

Il vous est demandé de :

  • comparer la taille des binaires d'un programme affichant sur 4 lignes un même texte compiler via l'IDE arduino et via AVR-GCC;
  • de réaliser un prototype de système comportant un Arduino Uno, un écran LCD 2 ou 4 lignes à contrôleur HD44780 et les quelques composants nécessaires ;
  • vous devez écrire un programme C pour gérer le contrôleur HD44780 à partir de l'ATMega328p, vous utilisez le compilateur avr-gcc pour générer l'exécutable ;
  • votre projet doit être constitué d'un répertoire comprenant un makefile et la source C, le makefile doit implanter les cibles clean, all et upload ;
  • en utilisant vos fonctions pour le contrôleur HD44780 vous ferez en sorte que les données reçues sur le port série de l'Arduino soient affichées sur l'écran ;
  • vous sélectionnerez les 5 séquences VT100 qui vous paraissent les plus importantes et vous les implanterez dans votre code.

Matériel nécessaire

Le matériel nécessaire consiste en un kit Arduino Uno.

Travail réalisé

Comparaison:

Texte à afficher:

Lorem ipsum dolor

sit amet,consectetur

adipiscing elit, sed

do eiusmod tempor

EcranLcd.jpg

Tailles :

Arduino IDE:

1820 octets de stockage flash

AVR-GCC:

850 octets de stockage flash

Séquences VT100:

Les séquences VT100 que j'ai sélectionnée sont:

cursorhome Move cursor to upper left corner Echap+H

cursorup Move cursor up one line Echap+A

cursordn Move cursor down one line Echap+B

cursorrt Move cursor right one char Echap+C

cursorlf Move cursor left one char Echap+D

Librairie HD44780 pour AVRGCC et AVR uC:

La librairie permet de :

  • choisir les pins pour chaques broches de données.
  • choisir le mode 2 lignes ou 4 lignes pour l'écran.
  • choisir le mode 4bits ou 8bits pour le bus de données parralèles.
  • choisir le type de curseur entre :
    • "no_CURSOR" qui n'affiche rien sur la position ou l'on se trouve sur l'écran.
    • "underlined" qui affiche un soulignage de la position actuelle.
    • "blinking" qui fait clignoter la case sur laquelle on se trouve.
    • "underlined_blinking" la somme de underlined et blinking.
  • implémente une fonction LCDSetup qui permet d'initialiser l'écran avec le paramètres ci-dessus.
  • implémente une fonction ShiftUp qui permet de se déplacer vers le haut sur l'écran
  • implémente une fonction ShiftDwon qui permet de se déplacer vers le bas sur l'écran.
  • implémente une fonction ShiftRight qui permet de se déplacer vers la droite sur l'écran.
  • implémente une fonction ShiftLeft qui permet de se déplacer vers la gauche sur l'écran.
  • implémente une fonction LCDon qui permet d'activer l'affichage.
  • implémente une fonction LCDoff qui permet de désactiver l'affichage.
  • implémente une fonction NewLine qui permet de passer au début de la ligne suivante.
  • implémente une fonction WriteChar qui permet d'écrire un caractère sur la case ou l'on se trouve.
  • implémente une fonction LCDgotoXY qui permet de se déplacer à une position voulue sur l'écran.

La configuration doit être faite dans le fichier lcd_hd44780.h

Documents Rendus