Définition des paramètres de l’interface série.
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
La définition de constantes, variables globales et de toutes les fonctions utilisées par le code de la fonction
main().
Parmi ces fonctions, on a une série de fonctions qui permettent de gérer un écran LCD en mode 4 bits.
Nous avons gardé les connections du programme assembleur décrit par julien. (cf lien…….)
Fonction d’initialisation de l’écran.
void InitLcd(); // initialisation de l ecran, Attention
au brochage.
Fonction de positionnement de curseur sur une ligne déterminée.
void Lcd_Line1(); // position en debut de ligne 1
void Lcd_Line2(); // position en debut de ligne 2
void Lcd_Line3(); // position en debut de ligne 3
void Lcd_Line4(); // position en debut de ligne 4
Fonction d’envoi des commandes à l’écran.
void Lcd_Send_noWait(char VarSend); // envoi de commande dans delais
void Lcd_Send(char VarSend); // envoi de commande avec delais
de 50us, minimum pour les ecrans
Fonction affichage de variable suivant un certain format : binaire, hexa, decimal.
void Lcd_Hexa(char VarSend); // affichage d une valeur hexa 0x..
void Lcd_Binaire(char VarSend); // Affichage d une valeur Binaire
10101010b
void Lcd_Decimal(char ValSend); // Affichage d une valeur en
decimal (donnée d entrée sur 1 octet)
Fonction administrative pour la gestion de l’écran
void Lcd_Clear(); // Effacement de l ecran et position du
curseur en 00
void Lcd_Char(char CharSend); // Affichage du un caractere, passe
la valeur Ascii du carac
void ReturnHome(); // revient en position 00
void Lcd_Cur_S_Right(); // decalage du curseur vers la droite
void Lcd_Cur_S_Left(); // decalage du curseur vers la
gauche
Fonction d’affichage de chaîne de caractère à l’écran
void Lcd_Printf(char *Chaine); // Affichage d une chaine de
caractere
void AffichageAlphabet(); // Affichage de tous les caracteres supportés
par le LCD
void DisplayHexaBinDeci(char Val); // Affichage d une valeur en Hexa,
binaire, decimal pour ecran 4 ligne
Fonction pour la gestion d’un mini clavier de 4 touches qui n’utilise pas les interruptions mais la
méthode de scrutation ( polling).
Fonction annexe pour la temporisation.
La fonction main () utilise les différentes fonction à tour de rôle sans autre but que de donner des exemples
et montrer le résultat à l utilisateur.