• Aucun résultat trouvé

Exercice 1 : Maximum d’une campagne de mesures.

N/A
N/A
Protected

Academic year: 2022

Partager "Exercice 1 : Maximum d’une campagne de mesures."

Copied!
2
0
0

Texte intégral

(1)

UTBM. Département GESC. DUREE 2 HEURES.

Médian IF40. Page 1/2

Calculatrice non autorisée. Aucun document n’est autorisé.

Exercice 1 : Maximum d’une campagne de mesures.

On utilise le DSP pour calculer la valeur maximale de 50 mesures préenregistrées en mémoire dans le tableau MESURE. Les mesures, issues d’une conversion analogique numérique, sont comprises entre 0 et 1023 (en décimal). La valeur maximale sera stockée dans la variable MAX et ensuite cette valeur sera divisée par 5. Le quotient de la division sera stocké dans la variable RESULT

2.1) Ecrire l’organigramme du sous programme VALEURMAX qui calcule la valeur maximale et stocke le résultat dans la variable MAX et qui réalise ensuite la division de MAX par 5 et stocke ce résultat dans la variable RESULT.

2.2) Ecrire en assembleur le sous-programme VALEURMAX.

Exercice 2 : Gestion d’un clavier.

Dans cette étude, nous allons réaliser un sous-programme de gestion de clavier et ensuite un sous programme affichant la dernière touche appuyée sur un afficheur 7 segments. Le schéma de principe est donné page suivante.

Fonctionnement du clavier : celui-ci est relié au port B du DSP. On a une gestion avec des lignes et des colonnes.

Lorsqu’aucune touche n’est appuyée, le niveau logique sur les entrées du port B est à 0. Lorsqu’une touche est appuyée, deux entrées du port B passent à 1. Exemple : appui sur la touche B, la ligne L3 et la colonne C4 passent à 1 donc PB2=PB7=1. Les autres entrées restent à 0.

Le programme à écrire consistera à détecter l’appui sur une touche et d’afficher la touche appuyée sur l’afficheur 7 segments relié au port C.

Travail demandé :

2.1) Ecrire en assembleur le sous-programme INITPORTB initialisant le port B.

2.2) Ecrire en assembleur le sous-programme INITPORTC initialisant le port C.

2.3) Proposer un organigramme du sous-programme CLAVIER détectant l’appui sur une touche et stockant dans la variable APPUI la valeur de la touche appuyée (valeur de 0 à F en hexadécimal : touche 0 appuyée valeur 0 en hexadécimal, touche A appuyée valeur A en hexadécimal etc…).

2.4) Ecrire en assembleur le sous-programme CLAVIER.

2.5) Donner pour chaque touche à afficher (A à F), l’état des sorties PC7 à PC0. Donner les résultats sous forme de tableau avec un code hexadécimal où PC7 représente le poids fort et PC0 le poids faible.

Touche PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 Code hexadécimal

2.6) Ecrire en assembleur le sous-programme AFFICHEUR affichant la valeur APPUI sur le port C en code 7 segments.

2.7) Ecrire en assembleur le programme principal qui initialise les ports et appelle en boucle les sous programmes CLAVIER et AFFICHEUR. Vous déclarerez la variable APPUI et les autres variables nécessaires pour le bon fonctionnement du programme

(2)

Médian IF40. Page 2/2 Schéma du clavier :

Schéma afficheur 7 segments : (segment allumé PCx=1)

0 1 2 3

7 B F PB0

PB1

PB2

PB3

PB4 PB5

PB6

PB7

D S P

0V

Réseau de résistances 10kΩ

8 9 A

C D E

4 5 6

VCC=5V

L1

L2

L3

L4

C1

C2 C3

C4

PC0 a PC1 b PC2 c PC3 d PC4 e PC5 f PC6 g PC7 dp

0 1 2 3 4 A B C

5 6 7 8 9 D E F dp

Références

Documents relatifs

[r]

[r]

Le circuit est en série, la tension aux bornes du générateur est égale à la somme des tensions aux bornes de tous les appareils

[r]

L’ann´ ee courante sera mise dans une variable.. Exercice

La copie doit être soignée : pas de ratures, traits de fraction faits à la règle et bien placés, résultats soulignés

- Ecrire une fonction récursive qui calcule le PGCD de deux entiers positifs. On suppose qu’on ne peut effectuer que

décident de confectionner deux objets identiques à celui représenté ci-dessous qui seront disposés aux abords du pont sur la rivière séparant les deux localités.. Toutes les