//------------------------------------------------------------------------------ // Titre : Header librairie LCD pour myAVR LCD Addon //------------------------------------------------------------------------------ // Fonction : Librairie LCD pour myAVR LCD Addon //------------------------------------------------------------------------------ // Langage : C // Date : 29/09/2008 // Version : 1.2 // Auteur : Devtronic SARL //------------------------------------------------------------------------------ #ifndef MYAVR_LCD #define MYAVR_LCD #define BIT_LCD_RS 2 // bit du port sur lequel est connectée la pin RS du LCD #define BIT_LCD_E 3 // bit du port sur lequel est connectée la pin E du LCD #define BIT_LCD_D4 4 // bit du port sur lequel est connectée la pin D4 du LCD #define BIT_LCD_D5 5 // bit du port sur lequel est connectée la pin D5 du LCD #define BIT_LCD_D6 6 // bit du port sur lequel est connectée la pin D6 du LCD #define BIT_LCD_D7 7 // bit du port sur lequel est connectée la pin D7 du LCD #define PORT_LCD PORTD // port sur lequel sont connectées les pins du LCD (sauf R/W) #define DPORT_LCD DDRD // registre de direction du port sur lequel sont connectées les pins du LCD (sauf R/W) #define LCD_CMD_EFF 0x01 // Commande d'effacement LCD #define LCD_CMD_HOME 0x02 // Commande de renvoi du curseur à la position initiale #define LCD_CMD_ENTRY_MODE 0x04 // Commande de sélection du mode d'insertion #define LCD_BIT_ENTRY_SHIFT 0 // Position bit de sélection inversion/non inversion #define LCD_BIT_ENTRY_INC 1 // Position bit de sélection incrémentation/décrementation curseur #define LCD_CMD_DISPLAY 0x08 // Commande de gestion de l'affichage LCD #define LCD_BIT_DISP_DISP 2 // Position bit d'activation/désactivation de l'affichage #define LCD_BIT_DISP_CURS 1 // Position bit d'activation/désactivation curseur #define LCD_BIT_DISP_BLINK 0 // Position bit d'activation/désactivation clignotement curseur #define LCD_CMD_SHIFT 0x10 // Commande de déplacement affichage/curseur #define LCD_BIT_SHIFT_TYPE 3 // Position bit de type de déplacement #define LCD_BIT_SHIFT_SENS 2 // Position bit de sens de déplacement #define LCD_CMD_SET_DDRAM 0x80 // Commande d'affectation de l'adresse DDRAM #define LCD_LIGNE_1 0x00 // Adresse ligne 1 #define LCD_LIGNE_2 0x40 // Adresse ligne 2 #define LCD_CMD_SET_CGRAM 0x40 // Commande d'affectation de l'adresse CGRAM // Envoi au LCD du caractère entré en paramètre void MYAVRLCD_envoiCaractere(char caractere); // Envoi au LCD de la commande entrée en paramètre void MYAVRLCD_envoiCommande(char commande); // Initialisation du LCD void MYAVRLCD_initialisation(void); // Effacement du LCD void MYAVRLCD_effacement(void); // Renvoi du curseur à la position initiale void MYAVRLCD_home(void); // Sélection du mode d'insertion pour le LCD // direction_curseur : 1 = incrémentation - 0 = décrémentation // inversion_affichage : 1 = inversion - 0 = non inversion void MYAVRLCD_modeInsertion(int direction_curseur,int inversion_affichage); // Configuration affichage LCD // affichage_actif : 1 = actif - 0 = inactif // curseur_actif : 1 = actif - 0 = inactif // clignotement_actif : 1 = actif - 0 = inactif void MYAVRLCD_confAffichage(int affichage_actif,int curseur_actif,int clignotement_actif); // Déplacement affichage ou curseur // type : 1 = affichage - 0 = curseur // sens : 1 = droite - 0 = gauche void MYAVRLCD_deplacement(int type,int sens); // Déplacement du curseur de n caractères vers la droite // nombre_caracteres : nombre de caracteres de déplacement vers la droite void MYAVRLCD_deplacerCurseurDroite(int nombre_caracteres); // Déplacement du curseur de n caractères vers la gauche // nombre_caracteres : nombre de caracteres de déplacement vers la gauche void MYAVRLCD_deplacerCurseurGauche(int nombre_caracteres); // Déplacement de n caractères vers la droite des données à partir du curseur // nombre_caracteres : nombre de caracteres de déplacement vers la droite void MYAVRLCD_deplacerAffichageDroite(int nombre_caracteres); // Déplacement de n caractères vers la gauche des données à partir du curseur // nombre_caracteres : nombre de caracteres de déplacement vers la gauche void MYAVRLCD_deplacerAffichageGauche(int nombre_caracteres); // Ecriture d'une chaîne de caractère sur le LCD // chaine : le pointeur sur la chaîne de caractères à envoyer // nb_caracteres : le nombre de caractères de la chaîne void MYAVRLCD_ecrireChaine(char *chaine, int nb_caracteres); // Déplacement du curseur // y : numéro de la ligne (1 ou 2) // x : numéro du caractère (1 à 16) void MYAVRLCD_deplacerCurseur(int y,int x); // Ajout d'un caractère en mémoire CGRAM (8 emplacements possibles) // caractere : pointeur sur le caractère à ajouter (en mémoire programme) // code : code du caractère void MYAVRLCD_ajouterCaractere(const char *caractere,int code); // Affiche une variale de type entier sur l'écran LCD // entier : l'entier à afficher sur l'écran void MYAVRLCD_afficherEntier(int entier); // Affiche une variable de type double à l'écran avec un nombre de décimales définit // vdouble : la valeur décimale à afficher // nb_decimales : le nombre de décimales à afficher après la virgule void MYAVRLCD_afficherDouble(double vdouble, int nb_decimales); #endif //--------------------------------------------------------------------------