Vous êtes sur la page 1sur 10

NOM&PRENOM : …

MNIOULAT SOUFIANE
………………………………………………………………………………………………………………………………………………………………………………………………………..

UNIVERSITÉ IBN TOFAIL


ÉCOLE NATIONALE DES SCIENCES APPLIQUÉES (ENSA)

Cycle : Ingénieur d’état


Filières : Réseaux et systèmes de télécommunications
Génie Mécatronique pour Automobile
(1ère année)
Module : Systèmes Microprogrammés

CONTRÔLE TERMINAL (3H00)

NOTE DEFINITIVE :

……………………….
/20
EXERCICE 1 : (4PTS)
Compléter les commentaires suivants :
MOV AL, 90h ; AL = 10010000b MOV BL, 4Ch ; BL = 01001100b
SAR AL, 1 ; AL = 11001000b SAR BL, 1 ; BL =00100110b
MOV AL, 90h ; AL = 10010000b MOV AL, 1Ch ; AL = 00011100b
SAL AL, 1 ; AL= 00100000b ROR AL, 1 ; AL =00001110b
MOV AL, 1Ch ; AL = 00011100b MOV AL,-20
ROL AL, 3 ; AL =11100000b CBW ; AX=1111111111101100b
MOV AL, 200 ; AL = 11001000b MOV AX, 203 ; AX = 00CBh
MOV BL, 4 MOV BL, 4
MUL BL ; AX =0000001100100000b DIV BL ; AL =32h, AH =03h

Page 1 sur 10
EXERCICE 2 : (4PTS)

On suppose que le registre AL contient un nombre signé. Par exemple AL=-20.


1. Convertir ce nombre en binaire -20, sous un format de 8 bits en utilisant la complémentation à 2 ?
Réponse
20 en binaire égal 00010100, complémentation à 1 =11101011 et la complémentation à 2=11101100
2. Soit la suite des instructions suivante :
MOV AL,-20
CBW
L’instruction CBW (Convert Byte Into Word) permet de convertir un octet contenu dans le registre AL en un
mot de de 16 bits placé dans le registre AX.
Si le MSB du registre AL est égale à 1 alors AH= FFh sinon AH=00h
a. Donner, en Binaire, le contenu du registre AX, après l’exécution de cette suite d’instructions ?
Réponse
On a le MSB de -20 est égale à 1 donc AH =FFh=1111 1111b
D’où AX=AH+AL=11111111 11101100b.

3. Calculer, en décimale, la valeur contenue dans le registre AX ? Que remarquez-vous ?


Réponse
AX= -2^14+2^13+2^12+2^11+2^10+2^9+2^8+2^7+2^6+2^5+2^3+2^2=-20
L’instruction CBW n’a pas changé la valeur de AL. Donc le changement de l’octet à Word(16bits) ne change
pas de valeur.
EXERCICE 3 (6PTS)
On s’intéresse ici au problème de tri d’une suite de N entiers, c’est-à-dire ranger dans l’ordre croisant ou
décroissant une suite finie d’entiers initialement placés dans le désordre. Prenons par exemple la suite
suivante de 10 entiers naturels.
11 54 23 6 7 89 4 2 8 45

On veut donc obtenir au final :


2 4 6 7 8 11 23 45 54 89

Pour réaliser ce tri, il existe de nombreux algorithmes dans la littérature. Parmi ces derniers, on cite le tri
par sélection qui repose sur la détection de l’élément maximal du tableau, que l’on échange avec le dernier
élément du tableau.
Dans une première étape comme illustré sur l’exemple, on échange 89 et 45.
11 54 23 6 7 45 4 2 8 89

Page 2 sur 10
À l’étape suivante, on recherche l’élément de plus grande valeur parmi les 9 premiers éléments, que l’on
échange ensuite avec l’élément 9.
11 8 23 6 7 45 4 2 54 89

On continue jusqu’à ce que la taille de la sous-suite soit à un et on obtient


2 4 6 7 8 11 23 45 54 89

Le programme sous EMU8086 qui permet ce tri dans l’ordre croissant est donné par la figure 1 ci-dessous.

Figure 1 : Programme sous EMU8086 du tri d’un tableau, dans l’ordre croissant, par sélection
1. Ecrire un programme, en assembleur du 8086, qui permet de trier, dans l’ordre décroissant, par sélection

un tableau de 10 éléments. Le résultat du tri est gardé dans le même tableau. Donner le résultat de
l’exécution de ce programme en utilisant le logiciel EMU8086.

Réponse

Page 3 sur 10
EXERCICE 4 (6PTS)
On considère un système à base d’un microprocesseur comprenant les divers éléments suivants :
 Un microprocesseur 8 bits ;
 Une mémoire ROM ;
 Une mémoire RAM ;
 Un Convertisseur Analogique – Numérique (CAN) permettant de convertir plusieurs tensions
analogiques.
Le schéma simplifié du système est le suivant :

Page 4 sur 10
D[0..7]

A0 D0 A0 D0 A0 D0
A1 D1 A1 D1 A1 D1
A2 D2 A2 D2 A2 D2
A3 D3 A3 D3 A3 D3
A4 µP D4 A4 ROM D4 A4 RAM D4
A5 D5 A5 D5 A5 D5
A6 D6 A6 D6 A6 D6
A7 D7 A7 D7 A7 D7
A8 A8 A8
A9 A9
A10
A11
A12 CS CS

A[0..9]

A8 D0
S0
A9 D1
CS_ROM S1
D2
V1 D3
A10 Entrées des V2 D4
A11 CS_RAM
tensions V3
CAN D5
A12 analogiques V4 D6
D7

CS_CAN
CS

DECODAGE
D’ADRESSES

Figure 1 : Schéma du système à microprocesseur

Le convertisseur CAN est composé du convertisseur ADC0804 et un multiplexeur 4 vers 1. Les quatre entrées
du multiplexeur sont V1, V2, V3 et V4, ces deux entrées de sélection (entrées d’adresse) sont S0 et S1.
Comme la montre la table ci-dessous, suivant la valeur de S1S0 une entrée parmi ces quatre entrées est
véhiculée vers l’entrée de conversion de l’ADC0804. Le schéma de brochage du convertisseur ADC0804 est
donné sur la figure 2 ci-dessous.

S1 S0 Tension analogique sélectionnée


0 0 V1
0 1 V2
1 0 V3
1 1 V4

Page 5 sur 10
Figure 2 : Brochage du convertisseur Analogique Numérique ADC0804

1. Donner une description du circuit ADC0804 ?


Réponse
ADC0804 est un convertisseur 8 bits de A /N ayant des lignes de données D0-D7, c’est un montage
électronique qui sert à traduire une grandeur analogique en une valeur numérique sur 8 bits
2. Expliciter les rôles des broches CS/, RD/ et WR/ ? (/ signifie barre)
Réponse

CS/=chip select. C’est un signal de contrôle qui Permet au µP de sélectionner les différents circuits ou bien
composants du système. Elle est valide sur l’état logique bas.

RD/=c’est un signal généré pour lire une donnée de la mémoire par le microprocesseur. Elle est valide sur
l’état logique bas.
WR/= c’est un signal de contrôle généré pour écrire une donnée dans la mémoire par le microprocesseur.
Elle est valide sur l’état logique bas.

3. Dans cette partie nous proposons un montage de test du circuit ADC0804. L’entréee VIN+ permet de lire
la valeur de la tension à convertir. Le schéma du montage de test est donné par la figure 3 ci-dessous.
Pour varier la valeur de l’entrée VIN+, on agit sur le curseur de la résistance R1. L’équivalent en
numérique sous forme du mot binaire DB7...DB0, de la tension analogique appliquée sur VIN+, est
donnée par les différents états des LEDs.

Page 6 sur 10
Figure 3 : Montage de test du Convertisseur Analogique Numérique ADC0804

a. Réaliser le montage en utilisant le logiciel ISIS ?


Réponse

b. Afin de lire la valeur de la tension VIN+ on ajouter un Voltmètre entre le curseur de la résistance R1 et la
masse. Compléter alors le tableau suivant ?

Valeur de VIN+ (V) Valeur numérique en binaire DB7..DB0


0 00000000
0.5 00011001
1 00110011

Page 7 sur 10
1.5 01001100
2 01100110
2.5 01111111
3 10011001
3.5 10110010
4 11001100
4.5 11100101
5 11111111

4. Pour réaliser un convertisseur 4 voies à base du circuit ADC0804, on ajoute un multiplexeur 4 vers 1 à
base du circuit 74151. Le schéma du brochage de ce dernier est donné par la figure 4 ci-dessous.

Figure 4 : Brochage du multiplexeur 74151

a. Donner une description du circuit 74151 ?


Réponse
Le circuit 74151 est un multiplexeur 8 vers 1. Il possède donc 8 entrées d'information : D0, D1, D2, D3, D4,
D5, D6, D7 trois entrées de sélection : S2, S1, S0. La sortie Y est disponible soit sous sa forme normale soit
complémentée Y. Il possède, en outre, une entrée supplémentaire E/. Elle sert à autoriser le
fonctionnement du circuit, elle est dite active au niveau bas car pour que le circuit fonctionne
normalement il faut que cette entrée soit placer au niveau logique "0". Dans le cas contraire, la sortie Z ne
dépend plus des entrées.
b. Sous ISIS proposer un montage de test du multiplexeur 74151 ?
Réponse

Page 8 sur 10
c. Réaliser sous ISIS le montage du multiplexeur 4 vers 1 à base du circuit 74151, puis proposer un montage
de test ?
Réponse

d. Sous ISIS, et en s’inspirant du montage de la figure 3, compléter le schéma de la figure 5 ci-dessous pour
réaliser et tester le convertisseur Analogique/Numérique 4 voies ?

Page 9 sur 10
Figure 5 : Montage partiel du convertisseur Analogique/Numérique à base des circuits ADC0804 et 74151

Page 10 sur 10

Vous aimerez peut-être aussi