Vous êtes sur la page 1sur 1

UTBM

Dpartement GESC

Automne 2006

Dure : 2 heures. Fascicule DSP contrleur autoris.

Mdian IF40
I

Initialisation des variables

On considre un programme crit en assembleur pour le DSP contrleur TMS320LF2407,


commenant par les directives suivantes :
.bss
.bss
.bss
.bss
.bss
I.1
I.2

I.3
I.4

II

x,1
y,2
z,1
TAB1,1000
TAB2,03E8h

Rappeler la fonction de la directive .bss.


La zone mmoire RAM affecte au bss est comprise entre les adresses 8000h et FFFFh inclues. Les
espaces rservs aux variables sont contigus, dans l'ordre de leur dclaration, partir de 8000h.
- donner les tailles en mots de 16 bits occupes par chaque variable x, y, z, TAB1 et TAB2
- donner les tailles en octets occupes par chaque variable x, y, z, TAB1 et TAB2
- donner les adresses en hexadcimal des variables x, y, z, TAB1 et TAB2
- donner la taille en mots de 16 bits de l'espace bss libre
Donner l'organigramme du sous-programme INITTAB1 initialisant le tableau TAB1 avec des 0.
Ecrire en assembleur le sous-programme INITTAB1.

Gestion d'un clavier 16 touches

Un clavier 16 touches comme celui reprsent cicontre est reli au port A du DSP contrleur
TMS320LF2407. Il est constitu d'une matrice 4x4 dont le
principe est de mettre la masse (tat logique 0) la
connexion de ligne (L1 L4) et de colonne (C1 C4)
correspondant la touche appuye. Par exemple l'appui sur
la touche 9 met L3 et C2 l'tat logique 0. Toutes les autres
lignes et colonnes restent l'tat logique 1.
Le travail consiste raliser un sous-programme de
gestion du clavier. D'autre part, les 8 broches du port B sont
relies des LED afin de permettre un affichage de la
dernire touche appuye.
Le port A est reli de la manire suivante au clavier :
C4

C3

C2

C1

L4

L3

L2

L1

PA7

PA6

PA5

PA4

PA3

PA2

PA1

PA0

II.1
II.2
II.3
II.4
II.5
II.6
II.7

L1

L2

L3

L4

C1

C2

C3

C4

Indiquer quels sont les registres permettant dactiver et configurer les ports A et B.
Ecrire en assembleur le sous-programme INITPA initialisant le port A.
Ecrire en assembleur le sous-programme INITPB initialisant le port B.
Proposer un organigramme pour le sous-programme CLAVIER ralisant une lecture du clavier et
plaant dans la variable touche la valeur de la touche appuye (valeur de 0 F).
Ecrire en assembleur le sous-programme CLAVIER.
Ecrire en assembleur le sous-programme AFFIC affichant la valeur touche sur le port B en binaire.
Ecrire en assembleur le programme principal qui initialise les ports, puis appelle en boucle les sousprogrammes CLAVIER puis AFFIC.