Microcontroleur PIC - Part 10c
Microcontroleur PIC - Part 10c
Microcontroleur PIC - Part 10c
Microcontrôleurs
PIC
10ème partie - Chapitre 3
La pratique :
l'écriture de programmes
Les afficheurs à cristaux liquides (LCD) de type alphanumérique,
capables de visualiser soit des chiffres, soit des nombres, sont,
aujourd’hui, utilisés dans de nombreuses applications. Cela est dû
à la disponibilité sur le marché de nouveaux modèles à des prix à la
portée de tous mais aussi parce que les afficheurs de nouvelle
conception sont fournis équipés de drivers d’interface en mesure de
piloter de façon autonome le LCD à partir de simples commandes
reçues en format digital. Quand un afficheur alphanumérique dispose
des drivers d’interface, il est dit “intelligent”. Malgré cet adjectif
qui les qualifie, les afficheurs intelligents demandent presque toujours
l’interconnexion avec un dispositif à microcontrôleur en mesure de
gérer les différents signaux qu’ils exigent.
ELECTRONIQUE 62 magazine - n° 15
TECHNOLOGIE
ELECTRONIQUE 63 magazine - n° 15
TECHNOLOGIE
avons appelées “LIGNE_1”, “LIGNE_2” facilement le deviner à la lecture du ment identique : elles positionnent la
et “CARACT”. Les deux premières rou- programme, il s’agit du tableau dans ligne “RS” à “0” pour dire à l’afficheur
tines servent à positionner le curseur lequel on place l’inscription que l’on que l’on est en train d’envoyer une com-
au début de la première ligne et au veut visualiser. mande, et transmettent ensuite la com-
début de la seconde, alors que la rou- mande qui permet de positionner le
tine “CARACT” permet d’écrire un carac- Voyons maintenant le fonctionnement curseur au début de la première ou de
tère prélevé d’un tableau qui se trouve des deux routines “LIGNE_1” et la deuxième ligne. La routine “CARACT”
au point du programme distingué par “LIGNE_2”, tout en tenant compte rappelle la routine “TABLE” à travers
l’étiquette “TABLE” et, comme on peut qu’elles sont conçues de façon totale- l’instruction “CALL” et met le contenu
Tableau 1 : Avant de pouvoir utiliser l’afficheur pour la visualisation de données, il faut lui envoyer une série de commandes
d’initialisation qui permettent de préparer l’afficheur au mode de fonctionnement désiré. C’est la raison pour laquelle il faut
se référer à ce tableau qui indique, pour chaque commande possible, la valeur logique du bus de données et des lignes de
contrôle RS et R/W.
ELECTRONIQUE 64 magazine - n° 15
TECHNOLOGIE
Appelle LIGNE_1
W=0
W = COUNT_4
PC = TABLE
W = COUNT_4 call TABLE TABLE
Appelle CARACT add WF PC ;PC TABLE + 1
RETLW “E”
Appelle CARACT W = “E”
Incrém. CONT_4
Incrém. CONT_4
Décrém. COUNT_3 W=1
PC = TABLE
Décrém. COUNT_3 NON call TABLE TABLE
COUNT_3 = 0 ?
add WF PC ;PC = TABLE + 2
NON OUI
COUNT_3 = 0 ? RETLW “E”
OUI RETLW “L”
FIN W + “L”
Z I d e s P a l u d s - B P 1 2 4 1 - 1 3 7 8 3 AU B AG N E C e d e x
Tél. : 04 42 82 96 38 - Fax 04 42 82 96 51
I n t e r n e t : h t t p : / / w w w. c o m e l e c . f r
Un compilateur sérieux est enfin disponible (en Basic par rapport au langage assembleur sont
deux versions) pour la famille des microcontrôleurs COMPILATEUR BASIC POUR PIC évidents : l'apprentissage des commandes est
8 bits. Avec ces softwares il est possible "d'écrire" un quelconque immédiat ; le temps de développement est considérablement réduit ; on
programme en utilisant des instructions Basic que le compilateur peut réaliser des programmes complexes avec peu de lignes
transformera en codes machine, ou en instructions prêtes pour être d'instructions ; on peut immédiatement réaliser des fonctions que seul
simulées par MPLAB ou en instructions transférables directement dans un expert programmateur pourrait réaliser en assembleur. (pour la liste
la mémoire du micro. Les avantages de l'utilisation d'un compilateur complète des instructions basic : www.melabs.com)
SRC pub 02 99 42 52 73 08/2000
PIC BASIC COMPILATEUR : Permet d'utiliser des fonctions de PIC BASIC PRO COMPILATEUR : Ajoute de nombreuses autres
programmation avancées, commandes de saut (GOTO, GOSUB), de fonctions à la version standard, comme la gestion des interruptions, la possibilité
boucle (FOR… NEXT), de condition (IF… THEN…), d'écriture et de lecture d’utiliser un tableau, la possibilité d’allouer une zone mémoire pour les variables,
d'une mémoire (POKE, PEEK) de gestion du bus I2E (I2CIN, I2COUT), la gestion plus souple des routines et sauts conditionnels (IF… THEN…
de contrôle des liaisons séries (SERIN, SEROUT) et naturellement de ELSE…). La compilation et la rapidité d’exécution du programme compilé sont
toutes les commandes classiques du BASIC. La compilation se fait très bien meilleures que dans la version standard. Ce compilateur est adapté aux
rapidement, sans se préoccuper du langage machine. utilisateurs qui souhaitent profiter au maximum de la puissance des PIC.
PBC (Pic Basic Compiler) ...................... 932,00 F PBC PRO ............................................ 2 070,00 F
DEMANDEZ NOTRE NOUVEAU CATALOGUE 32 PAGES ILLUSTRÉES AVEC LES CARACTÉRISTIQUES DE TOUS LES KITS NUOVA ELETTRONICA ET COMELEC
Expéditions dans toute la France. Moins de 5 kg : Port 55 F. Règlement à la commande par chèque, mandat ou carte bancaire. Bons administratifs acceptés.
Le port est en supplément. De nombreux kits sont disponibles, envoyez votre adresse et cinq timbres, nous vous ferons parvenir notre catalogue général.
ELECTRONIQUE 65 magazine - n° 15
TECHNOLOGIE
du registre “W” sur le port B, en l’en- tir de cette position. A l’étiquette fois que la routine “TABLE” est appe-
voyant ensuite à l’af ficheur pour la “TABLE”, le contenu du “Program Coun- lée, après l’instruction “ADDWF PCL”,
visualisation. ter” est additionné à celui du registre le “Program Counter” pointera ensuite
“W” et le résultat est ensuite remis aux dif férentes instructions rencon-
L’instruction CALL qui, comme vous le dans le “Program Counter”. trées. Celles-ci sont toutes du type
savez, ser t à exécuter une sous-rou- “RETLW”, c’est-à-dire de retour à la rou-
tine, charge dans le “Program Coun- Comme nous le verrons bientôt, Le tine, chargeant dans le registre “W” à
ter” l’adresse de l’étiquette “TABLE”. registre “W” est chargé avec un nombre chaque fois une lettre différente. Ce
Le programme continue ensuite à par- de 0 à 31. Ce qui veut dire qu’à chaque sera justement le contenu du registre
ELECTRONIQUE 66 magazine - n° 15
TECHNOLOGIE
RETLW ‘ ‘
RETLW ‘ ‘
RETLW ‘ ‘
RETLW ‘C’
RETLW ‘O’
RETLW ‘U’
RETLW ‘R’
RETLW ‘S’
RETLW ‘ ‘
RETLW ‘ ‘
RETLW ‘ ‘
RETLW ‘P’
RETLW ‘I’
RETLW ‘C’
RETLW ‘ ‘
RETLW ‘ ‘
END
ELECTRONIQUE 67 magazine - n° 15