• Aucun résultat trouvé

Médian IF40

N/A
N/A
Protected

Academic year: 2022

Partager "Médian IF40"

Copied!
1
0
0

Texte intégral

(1)

UTBM Département GESC

Printemps 2008 Durée : 2 heures. Calculatrice, fascicules DSP contrôleur et de cours autorisés.

Médian IF40

I Comptage du nombre de valeurs paires et impaires (7 points)

Le tableau TABLE déclaré à l’aide de la directive .bss contient 1000 entiers signés de 16 bits. On désire déterminer le nombre de valeurs paires et de valeurs impaires que contient ce tableau. Les résultats seront stockés dans les variables de 16 bits PAIRE et IMPAIRE déclarées également à l’aide de la directive .bss.

I.1 Indiquer comment déclarer TABLE, PAIRE et IMPAIRE à l’aide de la directive .bss.

I.2 Donner l’organigramme PARITE déterminant le nombre de valeurs paires et impaires contenues dans TABLE et stockant ces résultats dans les variables respectives PAIRE et IMPAIRE.

I.3 Ecrire en assembleur le sous-programme PARITE traduisant l’organigramme ci-dessus.

II Gestion d'un clavier 16 touches (13 points)

Un clavier 16 touches comme celui représenté ci-contre est constitué d'une matrice 4x4 de touches. Son principe consiste à mettre à la masse (état logique 0) la connexion de ligne (L0 à L3) et de colonne (C0 à C3) correspondant à la touche enfoncée.

Par exemple l'appui sur la touche 9 met L2 et C1 à l'état logique 0. Toutes les autres lignes et colonnes restent à l'état logique 1.

On peut alors facilement déterminer le numéro de la touche enfoncée par la relation :

touche = 4*(n°de ligne à 0) + n° de colonne à 0

Dans l’exemple précédent on a bien : touche = 4*2 + 1 = 9

La détection de la touche enfoncée par lecture de l’état des lignes L0 à L3 et C0 à C3 se fait par l’intermédiaire

du port A du DSP contrôleur TMS320LF2407, qui est relié au clavier de la manière suivante :

D'autre part, les 8 broches du port B sont reliées à des LEDs afin de permettre un affichage en binaire de la dernière touche enfoncée. L’état du port B doit donc représenter en permanence la valeur binaire de la dernière touche enfoncée.

II.1 Indiquer comment déclarer la variable touche occupant 1 mot de 16 bits

II.2 Ecrire en assembleur le sous-programme INITPA initialisant le port A uniquement.

II.3 Ecrire en assembleur le sous-programme INITPB initialisant le port B uniquement.

II.4 Donner l’organigramme CLAVIER réalisant une lecture du clavier et plaçant dans la variable touche la valeur de la touche enfoncée (valeur de 0 à F). Si aucune touche n’est enfoncée, la variable touche ne doit pas être modifiée.

II.5 Ecrire en assembleur le sous-programme CLAVIER correspondant.

II.6 Donner l’organigramme AFFIC réalisant l’affichage en binaire de la valeur touche sur les LEDs reliées au port B.

II.7 Ecrire en assembleur le sous-programme AFFIC correspondant.

II.8 Ecrire en assembleur le programme principal qui initialise les ports, puis appelle en boucle les sous- programmes CLAVIER puis AFFIC.

0 1 2 3 4 5 6 7 8 9 A B C D E F

L0 L1 L2 L3 C0 C1 C2 C3

C3 C2 C1 C0 L3 L2 L1 L0

PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0

Références

Documents relatifs

[r]

Soit n un entier naturel

La longueur de cet intervalle est 4 et puisque la période de f est 4, nous avons dessiné le graphe de f sur une période. Pour obtenir le graphe complet, il suffit de reproduire

[r]

Un système de commande de store électrique comprend un moto réducteur à courant continu (moteur associé à un réducteur 1/50 ème ), un pont en H à transistors, une

Un système de mesure de position et de courant est constitué d’un codeur absolu Gray (capteur de position angulaire), d’une sonde de courant à effet Hall et d’un DSP

La premi` ere ´ etape de la proc´ edure de r´ eduction nous donne 6 groupes de trois paires et 9 groupes de 2 paires (´ egales en valeurs absolue), soit deux types de groupes

Déterminer les valeurs propres et vecteurs propres associés à la matrice