• Aucun résultat trouvé

II Gestion d'un clavier 16 touches

N/A
N/A
Protected

Academic year: 2022

Partager "II Gestion d'un clavier 16 touches "

Copied!
1
0
0

Texte intégral

(1)

UTBM Département GESC

Automne 2006 Durée : 2 heures. Fascicule DSP contrôleur autorisé.

Médian IF40 I Initialisation des variables

On considère un programme écrit en assembleur pour le DSP contrôleur TMS320LF2407, commençant par les directives suivantes :

.bss x,1

.bss y,2

.bss z,1

.bss TAB1,1000

.bss TAB2,03E8h

I.1 Rappeler la fonction de la directive .bss.

I.2 La zone mémoire RAM affectée au bss est comprise entre les adresses 8000h et FFFFh inclues. Les espaces réservés aux variables sont contigus, dans l'ordre de leur déclaration, à partir de 8000h.

- donner les tailles en mots de 16 bits occupées par chaque variable x, y, z, TAB1 et TAB2 - donner les tailles en octets occupées par chaque variable x, y, z, TAB1 et TAB2

- donner les adresses en hexadécimal des variables x, y, z, TAB1 et TAB2 - donner la taille en mots de 16 bits de l'espace bss libre

I.3 Donner l'organigramme du sous-programme INITTAB1 initialisant le tableau TAB1 avec des 0.

I.4 Ecrire en assembleur le sous-programme INITTAB1.

II Gestion d'un clavier 16 touches

Un clavier 16 touches comme celui représenté ci- contre est relié au port A du DSP contrôleur 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 appuyée. 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 à réaliser un sous-programme de gestion du clavier. D'autre part, les 8 broches du port B sont reliées à des LED afin de permettre un affichage de la dernière touche appuyée.

Le port A est relié de la manière suivante au clavier :

II.1 Indiquer quels sont les registres permettant d’activer et configurer les ports A et B.

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

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

II.4 Proposer un organigramme pour le sous-programme CLAVIER réalisant une lecture du clavier et plaçant dans la variable touche la valeur de la touche appuyée (valeur de 0 à F).

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

II.6 Ecrire en assembleur le sous-programme AFFIC affichant la valeur touche sur le port B en binaire.

II.7 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

L1 L2 L3 L4 C1 C2 C3 C4

C4 C3 C2 C1 L4 L3 L2 L1

PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0

Références

Documents relatifs

Indique le nom puis la fonction des touches désignées par

Logiciel : nous utiliserons durant ces séances de programmation l’éditeur de code Pyzo, interfacé avec Miniconda qui est un interpréteur du langage Python dans sa version 3. Ces

Un clavier d'ordinateur est un périphérique (élément qui est relié à l'unité centrale) permettant à un utilisateur d'entrer dans l'ordinateur du texte et des caractères, ainsi

Ctrl + Alt + Del Reboot / Windows ® Gestionnaire de tâches Ctrl + ESC apporte le menu de départ. Alt + ESC Switch entre les applications dans la barre

La routine de service de cette interruption a pour tˆ ache de d´eterminer si cela conduit, soit `a un changement de l’un des octets d’´etat du clavier, soit ` a un code ASCII

Sans aucun blocage en majuscule le clavier donne les lettres minuscules ou les caractères indiqués en bas des touches numériques situées en haut du

Création d'un clip et d'une occurrence Vous avez déjà l'image.. Vous n'avez pas d'image Création

Pour changer l‘image d’arrière-plan (appelé aussi fond d’écran) du bureau, faîtes un clic droit n’importe où sur l’image actuelle de votre bureau :.. puis cliquez