Vous êtes sur la page 1sur 5

electroussafi.ueuo.

com 1/5

Les tableaux

Rappel :
En assembleur
RETLW k : Fin d’un sous-programme (associée à call). Met la variable k dans W.
Exemple :
movlw 0x05
retlw 0x05 ≡ {
return
Soit le jeu de lumière (exercice 1 : décalages) suivant :
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 LEDS Codes
0 0 0 0 0 0 0 1 0x01
0 0 0 0 0 0 1 0 0x02
0 0 0 0 0 1 0 0 0x04
0 0 0 0 1 0 0 0 0x08

0 0 0 1 0 0 0 0 0x10

0 0 1 0 0 0 0 0 0x20

0 1 0 0 0 0 0 0 0x40
1 0 0 0 0 0 0 0 0x80

1 → led allumée 0 → led éteinte


On affiche successivement les codes : 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40 et 0x80
Lorsqu’on a des choix multiples (choisir une valeur parmi plusieurs valeurs) ; en
assembleur, on utilise un tableau de la manière suivante :
retlw 0x01
retlw 0x02
retlw 0x04
retlw 0x08
ou DT 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x04, 0x80
retlw 0x10
retlw 0x20
retlw 0x40
retlw 0x80

N. ROUSSAFI electroussafi.ueuo.com Tableaux


electroussafi.ueuo.com 2/5

En mikroC
Lorsqu’on a des choix multiples, on peut déclarer un tableau de la manière suivante :
char nom_tableau [ ] ={0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80} ;
On peut indiquer le nombre d’éléments du tableau
Exemple : char nom_tableau [8]
Les éléments du tableau sont :
nom_tableau [0] = 0x01
nom_tableau [1] = 0x02
nom_tableau [2] = 0x04
nom_tableau [3] = 0x08
nom_tableau [4] = 0x10
nom_tableau [5] = 0x20
nom_tableau [6] = 0x40
nom_tableau [7] = 0x80

N. ROUSSAFI electroussafi.ueuo.com Tableaux


electroussafi.ueuo.com 3/5

Exercice 1

Soit le montage suivant :

On désire réaliser le jeu de lumière suivant :

RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 Code


1 0 0 0 0 0 0 1 0x81
0 1 0 0 0 0 1 0 0x42
0 0 1 0 0 1 0 0 0x24
0 0 0 1 1 0 0 0 0x18
0 0 1 0 0 1 0 0 0x24
0 1 0 0 0 0 1 0 0x42

1 → led allumée 0 → led éteinte

1. Ecrire un programme en assembleur


2. Ecrire un programme en mikroC

N. ROUSSAFI electroussafi.ueuo.com Tableaux


electroussafi.ueuo.com 4/5

Exercice 2

On désire réaliser un compteur décimal (de 0 à 9) selon le schéma suivant :

Nota : l’afficheur 7 segments est à cathode commune.

1 → led allumée 0 → led éteinte

1. Compléter le tableau suivant :

Chiffre g f e d c b a Code
0 0 1 1 1 1 1 1 0x3F
1
2
3
4
5
6
7
8
9
2. Ecrire un programme en assembleur
3. Ecrire un programme en mikroC

N. ROUSSAFI electroussafi.ueuo.com Tableaux


electroussafi.ueuo.com 5/5

Exercice 3

Soit le schéma suivant :

Pour chaque code binaire on désire afficher son équivalent hexadécimal (voir exercice 1).
1. Ecrire un programme en assembleur
2. Ecrire un programme en mikroC

N. ROUSSAFI electroussafi.ueuo.com Tableaux

Vous aimerez peut-être aussi