Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Introduction :
II. Généralité
a. Microcontrôleur :
1. Datasheet de PIC18F452 : il constitue de 40 pattes
2. Les portes entres /sorties :
Le PIC 18F452 a cinq type de porte : PORTA, PORTB, PORTC, PORTD, PORTE, La plupart
des ces portes ont de nombreuses utilisation, par exemple on peut l’utilise le PORTA comme
entre et aussi comme sortie.
Sont de petits claviers utilisés pour entrer des données numériques dans les systèmes de
microcontrôleurs. Les Claviers sont disponibles dans une variété de tailles et de styles, de 2 x 2 à
4 x 4 ou même plus grand. Dans Ce Mini- projet on a utilise un clavier 4 x 4 et un écran LCD de
concevoir une simple calculatrice.
La structure du clavier utilisé dans ce projet se compose de seize interrupteurs formés dans une
matrice 4 x 4, et les chiffres cités 0-9, Entrez, "+", ".", "-", "*" et "/ ".
Les rangées et les colonnes du clavier sont connectées à PORTB d'un microcontrôleur qui balaie le
clavier pour détecter le moment où un commutateur est enfoncé.
Les afficheurs à cristaux liquides généralement appelés LCD (Liquid Crystal Display)
sont des modules
compacts qui nécessitent peu de composants pour leur mise en œuvre. Plusieurs affi
cheurs sont disponibles sur le marché, ils se différencient les uns des autres par leurs
dimensions (de 1 à 4 lignes de 6 à 80 caractères).
Pour communiquer avec l'extérieur tout afficheur à besoin d'un circuit spécialisé de
gestion appelé « contrôleur d'affichage
», il en existe différents modèles sur le marché mais ils ont tous le même foncti
onnement.
Le contrôleur sert donc d'interface entre le microcontrôleur et l'afficheur .
Le but du driver est de gérer le bus CONTROL afin que le contrôleur d'affichage comprenne Le
bus DATA et affiche ce que l'on souhaite sur l'écran LCD.
Le contrôleur d'affichage peut recevoir deux types d'information sur le bus DATA, un ordre (ex:
effacer l'écran) ou une donnée (ex: le caractère A). Ordres ou données sont envoyés sur le bus
DATA sous forme d'octets (8 bits). Mais pour ne pas utiliser toutes les broches de sorties d'un
microcontrôleur pour communiquer avec un LCD, les contrôleurs d'affichage fonctionnent
également en 4 bits, un nombre codé sur 4 bits s'appelle un quart et .En mode 4 bits, un octet est
Envoyé en deux fois : le quart et de poids fort puis le quart et de poids faible.
Le bus CONTROL est constitué de trois lignes:
La ligne RS (Register Select) qui permet au contrôleur d'affichage de savoir si le
contenu du bus DATA est un ordre ou une donnée .Un niveau bas indiquera un ordre et un niveau
haut une donnée.
La ligne RW (Read Write) informe le contrôleur si on vient lire ou écrire dans sa mémoire, un niveau
bas correspondant à une action d'écriture.
La ligne E (Enable) qui informe le contrôleur d'affichage qu'un quartet (mode 4 bits) ou un octet
(mode 8
bits) est disponible. Cette ligne est active sur front descendant. Elle réalise la sync
hronisation entre le microcontrôleur et l'afficheur.
v Bibliothèque pour LCD
La programmation en assembleur d'un écran LCD en mode parallèle ou en série est généralement
une tâche complexe et nécessite d’une bonne compréhension du fonctionnement interne de
l'écran LCD. La langue mikroC fournit des fonctions pour les deux modes de programmation
basée sur le texte déjà préparé, ce qui simplifie l'utilisation d'écrans LCD.
Le contrôleur LCD HD44780
Le HD44780 est l'un des contrôleurs de cristaux liquides les plus appréciés, étant utilisé dans
l'industrie et dans les applications commerciales.
Le module est monochrome et vient dans différentes formes et tailles. Des modules avec 8, 16, 20,
24, 32 et 40 caractères sont disponibles.
Selon le modèle, l'écran LCD est fabriqué avec 14 ou 16 pattes pour l'interface.
Le tableau suivant présente la configuration des pattes et les fonctions des pattes d’un LCD
à 14 pattes.
La patte VSS est à 0V ou du sol. La patte VDD doit être connectée
à la borne positive d’alimentation. Bien que les fabricants spécifient une alimentation 5V
DC, les modules travaillent habituellement aussi avec une alimentation un peu bas que 3V ou
aussi haut que 6V.
La patte 3 VEE est désigné pour réglage du contraste de l'affichage et doit être
reliée à une alimentation en courant continu. Un potentiomètre est généralement connecté à
l'alimentation avec son curseur raccordé à la patte VEE et l'autre patte du potentiomètre relié à
la masse. De cette façon la tension à la patte VEE, et où le contraste de l'affichage, peut
être réglée à volonté.
La patte 5 est le registre de sélection de lecture / écriture (R / W). Cette patte est
reliée avec la masse (état logique bas) afin d'écrire des données de caractères au module
LCD. Lorsque cette broche est à +5 V (états logique haut) donc les
informations sortants du module LCD peuvent être lues.
La patte 6 est la validation (EN), qui est utilisé pour initier le transfert
de commandes ou de données entre le module et le microcontrôleur. Lors de l'écriture
à l'écran, les données sont transférés uniquement sur le front descendant (haut-
bas) sur cette patte. Lors de la lecture de l’affichage, les données deviennent accessibles
après le front montant (bas-haut) de la patte de validation, et ces données demeurent tant que la
patte de validation est au niveau logique haut.
Les broches 7 à 14 sont les huit lignes de bus de données (D0
à D7). Les données peuvent être transférées entre le microcontrôleur et le module LCD à l'aide
soit d'un seul octet de 8 bits soit de deux 4-bits. Dans ce dernier cas, seuls les quatre lignes de
données supérieures (D4 à D7) sont utilisées. Le 4-bits mode a l'avantage de nécessiter
moins de lignes d'E / S pour communiquer avec l'écran LCD
Le mikroC LCD bibliothèque fournit un grand nombre de fonctions pour contrôler
du texte LCD avec 4-bits et les interfaces de données 8-bit, et pour les graphiques LCD. La
plus courante est la 4-bit interface en mode texte sur écran LCD. Ce qui suit sont les fonctions
disponibles, pour LCD 4-bit interface en mode texte LCD :
Lcd_Config
Lcd_Init
Lcd_Out
Lcd_Out_Cp
Lcd_Chr
Lcd_Chr_Cp
Lcd_Cmd
Lcd_Config
La fonction Lcd_Config est utilisée pour configurer l'interface LCD. La connexion par défaut
entre le LCD et le microcontrôleur est la suivante :
LCD Patte du port de microcontrôleurs
RS → 2
FR → 3
D4 → 4
D5 → 5
D6 → 6
D7 → 7
La patte R / W de l'écran n'est pas utilisé et doit être reliée à la masse.
Cette fonction devrait être utilisée pour modifier la connexion par défaut. Il devrait être
appelé avec les paramètres dans l'ordre suivant :
Nom de port, RS patte, EN patte, R/W patte, D7 patte, D6 patte, D5 patte, D4 patte ,
Le nom du port doit être spécifié en passant son adresse. Par exemple, si RS patte est
connectée à RB0, EN patte à RB1, D7 patte à RB2, D6 patte à RB3, D5 patte à RB4, et
D4 patte à RB5, alors la fonction doit être appelée comme suit :
Lcd_Init
La fonction Lcd_Init est appelée pour configurer l'interface entre le microcontrôleur et
l'écran LCD lorsque les connexions sont faites par défaut que
vient d'être illustré. Le nom du port doit être spécifié en passant son adresse. Par exemple, en
supposant que LCD est reliée à PORTB et les connexions par défaut précédentes sont utilisées, la
fonction doit être appelée en tant que :
Lcd_Init();
Lcd_Out
La fonction Lcd_Out affiche du texte à la ligne indiquée et la position des colonnes de
l'écran LCD. La fonction doit être appelée avec des paramètres dans l'ordre suivant :ligne,
colonne, texte
Exemple : pour afficher du texte "Ordinateur" à la ligne 1 et la colonne 2 de l'écran LCD nous
devrions appeler la fonction comme suit :
Lcd_Out (1, 2, "Ordinateur");
Lcd_Out_Cp
La fonction Lcd_Out_Cp affiche le texte à la position actuelle du curseur.
Exemple : pour afficher le texte "Ordinateur" à la position actuelle du curseur, la fonction
devrait être appelé en tant que :
Lcd_Out_Cp ("Ordinateur");
Lcd_Chr
La fonction Lcd_Chr affiche un caractère à la ligne indiquée et la colonne la position du curseur.
La fonction doit être appelée avec les paramètres dans le l'ordre suivant ligne, colonne, caractère
Exemple : pour afficher caractère "K" à la ligne 2 et la colonne 4 de l'écran LCD nous devrions
appeler la fonction de :
Lcd_Chr(2, 4, ‘K’);
Lcd_Chr_Cp
La fonction Lcd_Chr_Cp affiche un caractère à la position actuelle du courser. Par exemple, pour
afficher le caractère "M" à la position actuelle du curseur, la fonction doit être appelée en tant que
:
Lcd_Chr_Cp ('M');
Lcd_Cmd
La fonction Lcd_Cmd est utilisée pour envoyer une commande à l'écran LCD. Avec ce
commande, nous pouvons déplacer le curseur vers n'importe quelle ligne, désactiver l'écran
LCD, faire clignote le curseur, décaler l'affichage, etc. Une liste des plus
couramment utilisés commandes LCD est donnée dans Tableau suivant :
a. Le fonctionnement de la calculatrice :
Il est important de réaliser que lorsqu'une touche est enfoncée ou relâchée, nous obtenons ce que l'on
appelle contacter le bruit, où la sortie impulsions touche haut et bas momentanément, la production d'un
certain nombre de logique 0 et 1 des impulsions à la sortie. Bruit de contact de commutation est
habituellement retiré soit en matériel ou par programmation dans un processus appelé le contact anti-
rebond.
Dans le logiciel le plus simple pour éliminer le bruit de contact est d'attendre environ 20 ms après une
clé de contact est pressé ou clé de contact est libéré.
Une fonction appelée getkeypad a été développé pour lire une clé du clavier.
La langue mikroC a intégré les fonctions appelées Keypad_Read et Keypad_Released de lire une clé à
partir d'un clavier lorsqu'une touche est enfoncée et quand une touche est relâchée
II. Application :
Notre projet et une simple calculatrice qui peut effectuer une arithmétique entière.
Les touches sont organisées comme suit:
0123
4567
8 9 10 11
12 13 14 15
Les touches sont étiquetées comme suit:
1234
5678
9 0 . Enter
+−*/
Programme pour LCD : pour qu’on puisse voir le résultat affiché dans LCD en décimale.
a. Sur MikroC:
CAP - ELEC :
Etape 3 : avant d’entre l’opération il faut appuis sure entre, et par la suit la résultat s’affiche
automatiquement :
Résultat : 1500/5= 300 par la suit, le calculatrice efface le résultat et recommence ( il
affiche « NO1 » pour commencer une entre opération).
Conclusion :