Vous êtes sur la page 1sur 29

Les filières Technologiques

L
des Enseignements Supérieurs

1
Embedded Intelligent Systems

Travaux Pratiques
Programmation C Embarqué
Cas des Microcontrôleurs PIC 8bits

A partir de la 3éme année


Licence Appliquée en Technologie

Systèmes embarqués
Prof. : CORCHER Guy Laurent
Ing. Développeur Hardware Electronique

2
Descriptif

Ces séances de travaux pratiques (TP) sont scindés deux (02) TP de douze
(12) exercices chacun. Ce TP est destiné à illustrer les notions qui ont
été présentées durant les séances de cours. Les étudiants sont amenés à
concevoir et à tester un certain nombre des programmes en langage C
embarqué sous le compilateur MikroC, de les implanter et de simuler les
programmes sur la plateforme Proteus(ISIS) et de faire des investigations
pertinentes.

L’objectif général visé est qu’à l’issue de ces travaux pratiques, les
étudiants seront capables de définir l’environnement extérieur d’un
microcontrôleur PIC (électronique d’interfaçage et l’électronique de
commande) depuis un cahier des charges et de pouvoir le programmer en
langage C. Seront traités dans ce TP, des exercices autour du
microcontrôleur PIC16F877A, microcontrôleur étoffé en termes de
fonctionnalité et très répandu. Egalement seront traités, le matériel et
les logiciels nécessaires à leur programmation. Les bases du langage C
adapté aux PICs en utilisant comme compilateur croisé le MikroC et comme
outil de CAO électronique Proteus(ISIS) pour la saisie de schéma et la
simulation.

 Contenu
Les exemples traités seront : l’allumage et clignotement des LEDs,
l’utilisation des boutons poussoirs pour commander un équipement, la
capture et la mesure d’une grandeur analogique, la sérialisation d’une
donnée pour un registre à décalage, la communication avec un ordinateur
via le RS232, la manipulation de la mémoire EEPROM pour le stockage
permanent de données, gestion d’un afficheur LCD et des afficheurs 7
segments, gestion d’un clavier, etc… Et la programmation évènementielle.

 Connaissances préalables recommandées

Les pré-requis nécessaires sont :

- Connaissances du langage de programmation C ;


- Connaissances sur les microcontrôleurs en général, les PICs en
particulier
- Connaissances des composants électroniques de base
- Représentation de données en machine ;
- Logique binaire et systèmes numériques ;
- Notions de l’électricité de base (lois des mailles et lois des noeuds,
etc.).

 Logiciels à disposition
- Compilateur croisé MikroC for PIC ;
- CAO électronique Proteus (ISIS) ;

3
 Recommandations

Le travail est effectué en binômes. Pour chaque tâche que vous aurez à
réaliser, nous vous invitons à enregistrer votre programme sous un nom
particulier pour garder une sauvegarde du travail. Pour faciliter le
débogage et assurer la maintenance et la portabilité de vos codes, il est
primordial que vous commenciez par rédiger un algorigramme, que vous
commentiez clairement votre programme et que vous pensiez à le rendre le
plus clair possible. Les schémas devront être saisis ou charger sous ISIS.
Une attention particulière doit être apportée à la lisibilité de vos
codes.

Le compilateur "MikroC" est compatible C ANSI et intègre une multitude de


routines capables de réaliser des fonctions très puissantes qu’il est
possible de consulter dans le fichier d’aide. En annexe, nous présentons
des informations sur le microcontrôleur ainsi quelques fonctions
prédéfinies en MicroC.

4
Brochage

Symbole représentatif sous Proteus (ISIS)

5
Structure interne du PIC16F877A

6
Fichier des registres

7
8
Legend: x = unknown, u = unchanged, q = value depends on condition, - = unimplemented, read as ‘0’, r = reserved.
Shaded locations are unimplemented, read as ‘0’.

9
SUJETS

10
TP1 (TRAVAUX PRATIQUES)
L’objectif de ce TP est de prendre en main la gestion des ports
d’entrées/sorties numériques à travers le pilotage de périphériques de
sortie simple telle que la diode émettrice de lumière (DEL) ou encore la
prise en compte de périphériques d’entrée tel que le bouton poussoir.
De bien appréhender le style de programmation séquentielle et modulaire
avec la notion de boucle infinie.
De se familiariser aux fonctions prédéfinies notées Delay_us(x) et
Delay_ms(x) qui permettent d’introduire des temporisations respectivement
en microseconde et milliseconde avec x (constante) comme paramètre
d’entrée. La fonction Vdelay_ms(x) permet d’introduire également une
temporisation en milliseconde avec x (variable) comme paramètre d’entrée.

EXERCICE 1: Effet temporisateur (Allumage retardé)


Sur la broche RB0 du PIC16F877A, est
connectée une LED ou DEL (Diode Emettrice de
Lumière) à travers une résistance de
limitation de courant notée R1 de 470 ohms
comme l’indique la figure ci-contre. A la
mise sous tension du système, la led doit
rester éteinte puis s’allume au bout de 2s.

A) Reproduire ou charger le schéma sous Proteus (ISIS). Schéma 0


B) Proposer un algorigramme de fonctionnement.
C) En déduire le programme en C sous MikroC puis simuler

EXERCICE 2: Clignotement d’une led


Sur la broche RB0 du PIC16F877A, est
connectée une LED ou DEL (Diode Emettrice de
Lumière). A la mise sous tension du système,
la led doit clignoter. On choisira une
fréquence de 1Hz.

Schéma 0
A) Reproduire ou charger le schéma sous Proteus
(ISIS).
B) Proposer un algorigramme de fonctionnement.
C) En déduire le programme en C sous MikroC puis
simuler
11
Sur le schéma ci-contre, on inverse la polarité
de la LED. Le courant circule de VDD vers RB0.
Cette sortie fonctionne en absorption de
courant. Dans le schéma 0, RB0 fonctionne en
source de courant.

D) Actualiser le programme précédent selon le


nouveau raccordement de la LED.

EXERCICE 3: Générer un signal d’horloge à rapport cyclique


quelconque

On désire générer sur la broche RB0 du


PIC16F877A, un signal d’horloge de rapport
cyclique X. Une LED ou DEL (Diode Emettrice
de Lumière) est connectée sur ce port RB0
comme on peut le voir sur la figure ci-
contre. Sous l’effet du signal présent sur
cette broche, la DEL clignote. La fréquence
de clignotement est fixée 1Hz. L’allure des
signaux en fonction du rapport cycle X est
donnée ci-dessous:

Schéma 0

A) Reproduire ou charger le schéma sous Proteus (ISIS).


B) Proposer pour chaque cas un algorigrammede fonctionnement.
C) Ecrire un programme en C sous MikroC qui prend en compte ces
fonctions.

12
EXERCICE 4: Faire clignoter deux (02) leds par alternance

On ajoute une deuxième led sur le port RB3. Ecrire un programme en C sous
MikroC qui permet de faire clignoter les deux leds par alternance à la
mise sous tension du système. On gardera une temporisation de 300ms.

Schéma 1

EXERCICE 5: Prise en compte d’un bouton poussoir

On modifie l’électronique en ajoutant un bouton poussoir dans le


fonctionnement du système. A la mise sous tension, la led est éteinte.

 CAS 1 :Lorsqu’on actionne et qu’on maintient le doigt sur le bouton


poussoir, la led s’allume et s’éteint au relâchement.
 CAS 2 :Une brève pression sur le bouton poussoir, fait allumer la led
durant 1000ms puis s’éteint.

Schéma 2

A) Reproduire ou charger le schéma sous Proteus (ISIS).


B) Proposer pour chaque cas un algorigramme de fonctionnement.
C) Ecrire le programme en C sous MikroC puis simuler

13
EXERCICE 6: Commenter et expliquer un programme

Soit le code source ci-dessous, associé à son algorigramme. Expliquer le


fonctionnement du programme et commenter chaque ligne du code

Proposer un schéma électronique qui permet de tester le programme. On


installera la configuration de base. Le circuit d’horloge est de 8Mhz

Brochage alimentation : VCC = …………………………………………….

GND = …………………………………………….

14
EXERCICE 7: Commenter et expliquer un programme

Soit le code source ci-dessous, associé à son algorigramme. Expliquer le


fonctionnement du programme et commenter chaque ligne du code.

Proposer un schéma électronique qui permet de tester le programme. On


installera la configuration de base. Le circuit d’horloge est de 8Mhz

Brochage alimentation : VCC = …………………………………………….

GND = …………………………………………….

15
EXERCICE 8: Prise en compte de deux boutons poussoirs et deux leds
On désire commander deux LEDs
respectivement notées D1 et D2 à l’aide
de deux boutons poussoirs BP1 et BP2 via
un microcontrôleur 16F877A comme on peut
le voir sur la figure ci-contre.

-Reproduire ou charger le schéma sous


Proteus (ISIS).

A la mise sous tension, les leds sont en


permanence allumées. Lorsqu’on actionne
le bouton poussoir BP1, les leds
clignotent par alternance aussi
longtemps que le doigt reste maintenu
sur celui-ci. Par contre, lorsqu’on
actionne le bouton poussoir BP2, les Schéma 3
leds clignotent simultanément aussi
longtemps que le doigt reste maintenu
sur ce dernier. Si aucun bouton poussoir
n’est actionné, les leds restent
allumées en permanence.

- Ecrire un programme en C sous MikroC puis tester le code en lançant la


simulation sur Proteus(ISIS).

EXERCICE 9: Fonction Marche/Arrêt à un seul bouton poussoir

Cette fonction est utilisée pour l’allumage ou l’extinction d’un appareil


électrique. La led symbolise l’appareil électrique. A la mise sous
tension, la led est éteinte ou la led peut être dans un état qui est celui
dans lequel elle était lors de la dernière mise hors tension (coupure de
courant accidentelle survenue).

 CAS 1 : Une brève pression sur le bouton poussoir, fait allumer la
led, une seconde pression l’éteint. C’est la fonction Marche/Arrêt
 CAS 2 : Une brève pression sur le bouton poussoir, fait clignoter la
led à une fréquence de 2Hz. Une seconde pression l’éteint.

A) Reproduire ou charger le
schéma sous Proteus
(ISIS).
B) Proposer un algorigramme
de fonctionnement pour
chaque cas.
C) Ecrire le programme en C
sous MikroC puis simuler

Schéma 2

16
EXERCICE 10: Fonction Marche/Arrêt Prise à deux boutons poussoirs

Soit le schéma électronique ci-contre


mettant en œuvre un microcontrôleur
PIC16F877A. Ecrire un programme en C
qui permet de réaliser la fonction
Marche/Arrêt. Cette fonction est
utilisée dans certains équipements
électroménagers.

A) A la mise sous tension, led qui


représente la machine à laver
doit rester éteinte, une brève
action sur la commande
« Marche » fait allumer la led
et une brève action sur la
commande « Arrêt » l’éteint. Schéma 4

B) En partant du même schéma représenté ci-contre, écrire un programme


en C qui permet lorsqu’on actionne brièvement la commande 
« Marche », de faire clignoter la led. La led arrête de clignoter et
revient à son état initial que lorsqu’on actionne la commande Arrêt.
On fait remarque qu’à la mise sous tension, la led doit rester
éteinte. On utilisera une temporisation de 250ms.

EXERCICE 11: Commande de 8 leds (mode chenillard)

Soit le schéma électronique ci-contre mettant en œuvre un microcontrôleur


PIC16F877. Huit leds sont raccordées au PORTB.

a) Ecrire un chenillard simple :


une led se déplaçant sur le
PORTB (de haut en bas) en
permanence avec une
temporisation de l’ordre de
200ms.

b) Ecrire un chenillard simple :


une led se déplaçant sur le
PORTB (de haut en bas puis de
bas en haut)

Schéma 5

17
c) Ecrire un chenillard double : un chenillard de haut en bas et
simultanément un autre de bas en haut qui se croisent. Le cycle doit
être permanent. On gardera la même temporisation que précédent.

d) Ecrire un chenillard à entassement : une led se déplaçant et


s’accumulant en bas.

e) Chenillard dynamique : En combinant les quatre chenillards étudiés,


proposer un chenillard dynamique dont les séquences et le timing
changent automatiquement dans un agencement cohérant de votre choix.

TP : Application pratique au chenillard dynamique

Un pharmacien vous sollicite pour la réalisation de son panneau


d’affichage électronique qu’il désire installer devant sa pharmacie. Le
panneau doit être lumineux et afficher le mot « PHARMACIE ». Il préfère
avoir deux options d’affichage qui sont :

 Option 1 : le mot « PHARMACIE » s’affichage en permanence sans


animation
 Option 2 : le mot « PHARMACIE » s’affichage avec des animations
dynamiques cohérentes.

Le basculement entre les options se fera grâce à un interrupteur

a) Reproduire ou charger le
schéma sous Proteus (ISIS).
b) Ecrire un programme en C sous
MikroC pour repondre aux
attentes du client

18
EXERCICE 12: Gestion d’un feu tricolore à un carrefour

Le circuit électronique de gestion des feux tricolores à un carrefour est


conçu à partir d’un microcontrôleur PIC16F877A. Le schéma simplifié de
l’électronique est donné ci-dessous.

Schéma 6

A un carrefour, le raccordement des feux est tel que les feux situés sur
une même voie (exemple voie A) sont connectés en parallèle, idem pour la
voie B.

Le raccordement du microcontrôleur est tel que son port RB0 relié à la


borne VB des feux tricolores représentant tous les feux Verts de la voie B
d’où la notation VB. Le port RB1 du microcontrôleur est relié à la borne
OB des feux tricolores représentant tous les feux Oranges de la voie B
d’où la notation OB et ainsi de suite jusqu’à RB5.
On notera que les notations VA, OA, RA, VB, OB et RB désignent :

Le commutateur possède trois (03) positions et chaque position a un mode


de fonctionnement:

- Position 1 : Mode Feux tricolores de croissement


- Position 2 : Mode Feux oranges clignotants
- Position 3 : Mode Test allumage de tous les feux

19
 Position 1 : Mode Feux tricolores de croissement  :Dans ce mode, les
feux doivent s’éteindre et s’allumer selon un cycle réglementaire
pour assurer la gestion du la circulation au niveau du carrefour. Ce
cycle de fonctionnement est décrit ci-dessous.

Ce cycle est segmenté en tranche


de 4s, ce temps sera ramené à
400ms dans le cas de la
simulation.

 Position 2 : Mode Feux oranges clignotants: Dans ce mode, seuls les
feux oranges clignotent à une fréquence autour de 1Hz. Ce second mode
est souvent activé tard dans la nuit vu la fluidité du trafic à ces
heures (au-delà de minuit).

 Position 3 : Mode Test allumage de tous les feux: Dans ce mode, on
allume tous les feux pour s’assurer du bon état des feux.

A) Charger le schéma sous Proteus (ISIS) et écrire le programme complet


de gestion des feux tricolores selon le cahier des charges.

20
TP2 (TRAVAUX PRATIQUES)
L’objectif de ce TP est de prendre en main l’interfaçage du
microcontrôleur à des périphériques d’entrée ou de sortie plus complexes
que les simple led ou bouton poussoir. Ce sont les afficheurs 7 segments,
les claviers, les écrans LCD la gestion des ports d’entrées/sorties
numériques à travers le pilotage d’interface de sortie simple (LED) ou la
prise en compte d’interface d’entrée simple (Bouton poussoir). De bien
appréhender le style de programmation séquentielle et modulaire avec la
notion de boucle infinie.

EXERCICE 1: Pilotage d’un afficheur 7segments (compteur modulo 10)

On désire commander un afficheur à 7


segments à fin de réaliser un compteur
modulo 10 à l’aide d’un
microcontrôleur 16F877A. Un compteur
modulo 10 est un compteur pouvant
compter de 0 à 9 donc pouvant occuper
10 positions. A la mise sous tension,
l’afficheur affiche le chiffre 0 et se
met à compter lorsqu’on actionne et
qu’on maintient le bouton poussoir Schéma 7
appuyé. Un relâchement de ce dernier,
fait passer automatiquement le
comptage à 0.

Ecrire un programme MikroC qui permet


de réaliser le fonctionnement demandé.

EXERCICE 2: Comptage par pas commandé par bouton poussoir (Mise en


évidence de l’effet de rebondissement)
On désire commander un afficheur
à 7 segments à fin de réaliser un
compteur modulo 10 à l’aide d’un
microcontrôleur 16F877A. Un
compteur modulo 10 est un
compteur pouvant compter de 0 à 9
donc pouvant occuper 10
positions.

A la mise sous tension,


l’afficheur affiche 0. Une brève
pression sur le bouton
Ecrire un programme MikroC Schéma
qui 7
permet « COMPTER » incrément le compteur
de réaliser le fonctionnement
demandé. d’un pas. Ainsi à chaque
pression, on compte d’une unité.
21
EXERCICE 3: Pilotage d’un afficheur 7segments via un transcodeur

a) Dans ce projet, le circuit intégré référence 4511 sert d’interface


entre le microcontrôleur et l’afficheur 7 segments. Ce circuit est un
transcodeur ouDécodeur Driver 7 segments. Il permet de décoder les
données de 4 bits présentent sur ses entrées A,B,C,D et d’activer ou
pas les segments de l’afficheur raccordé à ses sorties afin
d’indiquer la correspondance décimale. Pour plus d’information sur
son fonctionnement, télécharger sa documentation technique.

Schéma 8

Ecrire un programme en C sous MikroC qui permet de réaliser le


fonctionnement suivant : A la mise sous tension, le compteur affiche 0. A
chaque pression sur le bouton poussoir (+), l’affichage s’incrémente d’une
unité. A chaque pression sur le bouton poussoir (-), l’affichage
décrémente d’une unité.

b) On procède à une modification du schéma. Les sorties (RB4 à RB7) sont


connectées aux entrées A,B,C et D d’un transcodeur comme on peut le
voir sur le schéma ci-dessous.

Schéma 88

MikroC offre une bibliothèque de fonctions pour la commande des boutons


poussoirs avec rebondissements (Consulter l’aide sur MikroC)

22
EXERCICE 4: Sérialisation des données en C

La sérialisation des données est une méthode de transfert des données bit
après bit sur une broche de sortie du microcontrôleur durant un temps.
Pour transmettre des données en série, deux signaux sont nécessaires :

 un signal de données pour le transit des données, on l’appellera


SerialData
 un signal d’horloge pour synchroniser le transit des données en
question, on le notera simplement Clock ou encore Clk

a) Ecrire un programme en C sous MikroCqui permet l’envoi de données


séries sans signal d’horloge de synchronisation. Ce programme envoie
45h (0100 0101) un bit à la fois via RB7. Le bit LSB en premier.

b) Même programme mais MSB en premier. Le bit MSB est généralement


transmis en premier

c) Il est toujours important de synchroniser les données à transmettre


par un signal d’horloge. Les signaux ainsi définis pourront être
acheminés vers un registre à décalageentrée série/sortie parallèle
cas du 74HC595. Ecrire un programme en C sous MikroC qui permet
l’envoi de données séries vers un registre à décalage 74HC595. Ce
registre fonctionne avec signal d’horloge de synchronisation.

Schéma 9

23
EXERCICE 5: Ecriture d’une donnée permanente en EEPROM et lecture

L’utilité de la mémoire EEPROM est de pouvoir stocker des données en


permanence qui y seront conservées même en cas de coupure accidentelle de
courant. MikroC offre une bibliothèque de fonctions pour la prise en
charge de la lecture et de l’écriture en EEPROM. (Consulter l’aide sur
MikroC)

a) Ecrire un programme en C qui permet d’écrire la valeur 122 en mémoire


EEPROM, puis de la lire et la transmettre sur le PORTB.

b) Ecrire un programme en C qui permet d’écrire la valeur 2730 en


mémoire EEPROM, puis de la lire.

EXERCICE 6: Interface un écran alpha-numérique LCD

Les microcontrôleurs doivent souvent rendre compte de certaines


informations au monde extérieur au moyen d’afficheurs à led, LCD ou
graphique. Dans le cas présent, nous utilisons un écran LCD 2x16 pour
l’affichage de certaines informations.

Le compilateur MikroC offre une bibliothèque


de fonctions pour la prise en charge des
écrans LCD. (Consulter l’aide sur MikroC).
En se servant de ces fonctions, écrire un
programme en C (MikroC) qui permet d’afficher
à l’écran le message « This is a 2x16 » sur la
Schéma 10
première ligne de l’écran et « line LCD
Display » sur la deuxième ligne commme on peut
le voir ci-desssus.
24
EXERCICE 7: Comptage d’objets dans un processus industriel

Le comptage de pièces sur un tapis roulant dans un processus industriel


est représenté par la représentation ci- dessous. Le tapis roulant se
trouve à la fin d'une chaine de fabrication de pièces mécaniques.

Schéma 12

Un capteur de proximité permet de compter le nombre de pièces fabriquées.


Un bouton poussoir RAZ permet de mettre le compteur à zéro. Le nombre de
pièces comptées est affiché par un afficher LCD en temps réel.

Ecrire un programme en C (MikroC) pour la fonction demandée. L’entrée


RB0/INT doit etre considérée comme une entrée interruptible

25
EXERCICE 8: Mesure et affichage d’une grandeur analogique variable.
On désire mesurer et afficher une grandeur analogique. Le signal
analogique est récupéré sur le curseur d’un potentiomètre. Cette valeur
pouvant évoluer de 0 à 5V. Le compilateur).
MikroC offre une bibliothèque de fonctions pour la prise en charge de
données analogiques. (Consulter l’aide sur MikroC

Schéma 13

Le capteur analogique symbolisé ici par un


potentiomètre peut un capteur de température,
de pression ou tout autre capteur
convertissant un phénomène physique extérieur
en grandeur électrique.

Ecrire un programme en C (MikroC) qui permet


de faire l’acquisition, le traitement puis
l’affichage de la grandeur analogique.

26
EXERCICE 9: Etablir une communication avec l’ordinateur via le RS232

Ecrire un programme en C s’exécutant sur le microcontrôleur PIC16F877A et


qui permet d’envoyer la chaîne de caractère « Bonjour » à un ordinateur
via le Port RS232 à chaque brève pression sur un bouton poussoir Envoi. Le
microcontrôleur allume les leds D1 et D2 à chaque réception du caractère
« O » et les éteint à chaque réception de « N ».

Tout autre caractère reste sans effet. MikroC offre une bibliothèque de
fonctions prédéfinies pour gérer la communication série sous RS232. Il est
important de prendre connaissance de cette biblio afin de voir comment
recevoir ou envoyer

Schéma 14

MikroC offre une bibliothèque de fonctions prédéfinies pour gérer la


communication série sous RS232. Il est important de prendre connaissance
de cette biblio afin de voir comment recevoir ou envoyer du
microcontrôleur vers un PC et vice versa

27
EXERCICE 10: Générer un signal PWM ou MLI
(Modulation en largeur d’impulsion)

On considère le l’électronique ci-dessous :

Schéma 15

a) Ecrire un programme en C (MikroC) permettant de générer sur la broche


RC2/CCP1 du microcontrôleur, un signal PWM dont le rapport cycle est
de 50%.

b) Ecrire un programme qui permet de générer sur la même broche, un


signal dont le rapport cycle évolue progressivement de 0% à 100% puis
repart de 0%. Cela a pour effet d’augmenter progressivement
l’éclairage de la lampe L1 jusqu’au maximum puis de l’éteindre
brusquement pour reprendre le même cycle.

c) On désire, contrôler le rapport cyclique par un potentiomètre


(Gradateur). Ecrire alors un programme qui génère un signa PWM dont
le rapport cycle est fonction de la position du curseur du
potentiomètre RV1. On affichera à l’écran LCD, le pourcentage de
progression de 0%...100% selon la position du potentiomètre.

d) On désire désormais, contrôler le rapport cyclique par deux (02)


boutons poussoirs notés (+) et (-). Ecrire alors un programme qui
génère un signal PWM dont le rapport cycle peut être incrémenté ou
décrémenté selon l’action sur les boutons poussoirs. position du
curseur du potentiomètre RV1. On affichera à l’écran LCD, le
pourcentage de progression de 0%...100% selon la position du
potentiomètre.

28
EXERCICE 11: Générer un signal PWM ou MLI
(Modulation en largeur d’impulsion)

On considère le l’électronique ci-dessous, qui utilise un clavier matricé


4x3 raccordé aux ports du microcontrôleur :

a) Ecrire un programme en C (MikroC) qui permet d’afficher sur écran


LCD, la touche enfoncée ainsi que le nombre de fois que le clavier a
été sollicité.

b) Ecrire un programme en C (MikroC) qui permet de prendre en compte la


saisie d’un numéro de téléphone au clavier (N° de 8
chiffres).L’affichage des chiffres se fait par décalage de la droite
vers la gauche. La touche « # » permet d’effacer l’écran et permettre
une autre saisie.La touche « * » est sans effet.

MikroC offre une bibliothèque de fonctions prédéfinies pour gérer les


claviers matricés. Il est important de prendre connaissance de cette
bibliothèque.

Schéma 16

29

Vous aimerez peut-être aussi