Pierre-André Mudry, Pascal Sartoretti | Systèmes industriels 4 / 4
Partie 3
Vous allez maintenant travailler à réaliser des fonctionnalités de base utilisant les leds. Pour ce faire, vous allez
vous baser sur la datasheet du PIC qui se trouve sur le wiki de l’école (http://picebs2.hevs.ch) et qui représente
votre principale source d’informations pour les laboratoires.
Tâche 3
1. Créez un nouveau projet que vous nommerez lab1_task3.
2. Ajouter un nouveau fichier assembleur et copiez-y le code que vous avez réalisé dans la tâche
précédente.
3. Modifiez ce code de manière à ce que la led allumée corresponde au bouton (actif haut) appuyé.
a. Si le bouton gauche est appuyé (sur la pin RB0), la led gauche LB0 (RA2/RA3) doit être allumée)
b. Si le bouton droit est appuyé (pin RB4), la led droite sera allumée LB2 (RA6/RA7).
c. Faites la même chose pour le bouton central.
Note : Pour réaliser ce comportement, vous avez besoin d’une nouvelle instruction, à savoir btfsc f,
b, qui signifie Bit Test F and Skip if Clear. Par exemple :
signifie que si le bit 1 de WREG vaut 0, l’instruction goto loop ne sera pas exécutée. Si le bit 1 de W
vaut 1, le goto sera exécuté.
4. Faites en sorte de changer la couleur des leds des boutons appuyés/relâchés.
Tâche 4
1. Créez un nouveau projet que vous nommerez lab1_task4.
2. Ajouter un nouveau fichier assembleur et copiez-y le code de base.
3. Réalisez l’application suivante : au départ, la led « top (RH0) » est allumée. À chaque pression du bouton
« right », la led suivante en dessous s’allume et toutes les autres leds s’éteignent. De la même manière,
une pression « left » allumera la led du dessus.
Le plus simple pour réaliser ce comportement est d’utiliser les
instructions de rotation de bit (que vous trouverez dans le manuel de
référence PIC). L’idée est de mettre une valeur sur le port H puis de le
faire tourner dans un sens ou l’autre en fonction des boutons.
Attention toutefois : pour relire le port H, n’utilisez pas le registre
PORTH mais le registre LATH. À l’aide du schéma ci-joint,
représentant une vue simplifiée d’une pin de PIC, expliquez pourquoi
il faut impérativement utiliser les bits LATH dans ce cas :
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
4. Réalisez le même comportement pour les 10 leds, jusqu’aux deux leds les plus basses qui sont
connectées sur le port G (RG3 et RG4).
btfsc WREG, 1
goto loop
movlw 0xff