0% ont trouvé ce document utile (0 vote)
7 vues4 pages

Exercices sur les bases de numération et microcontrôleurs

Le document traite des systèmes de numération et des exercices associés au microcontrôleur ATmega328P. Il aborde des sujets tels que les bases de numération, la conversion entre différentes bases, les opérations mathématiques, et les applications pratiques comme l'utilisation d'afficheurs 7 segments et de systèmes GPS. De plus, il présente des exemples d'exercices et de solutions liés à ces concepts.

Transféré par

efenglishlive2023
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues4 pages

Exercices sur les bases de numération et microcontrôleurs

Le document traite des systèmes de numération et des exercices associés au microcontrôleur ATmega328P. Il aborde des sujets tels que les bases de numération, la conversion entre différentes bases, les opérations mathématiques, et les applications pratiques comme l'utilisation d'afficheurs 7 segments et de systèmes GPS. De plus, il présente des exemples d'exercices et de solutions liés à ces concepts.

Transféré par

efenglishlive2023
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

62 Chapitre 4 Système de numération 63

¨ Exercices On donne un extrait de la documentation du microcontrôleur ATmega328P :

Exercice 4.1 – Bases de numération


À quelles bases peuvent appartenir les nombres suivants ?
1. Sachant que les adresses mémoires du bloc « registres internes » vont de
Décimal Binaire Hexadécimal 0x0000 à 0x001F, justifier que cela correspond à 32 octets.
123 2. Sachant que les adresses mémoires du bloc « registres internes d’entrée /
11001 sortie » vont de 0x0020 à 0x005F, donner la taille mémoire du bloc en octets.
A 3. À partir de l’extrait de la documentation du microcontrôleur ATmega328P,
789 donner la taille de la « mémoire vive » (RAM) en octets.
3B9 4. Traduire en hexadécimal la taille de la « mémoire vive » (exprimée en octets).
5. Donner alors l’adresse maximale du bloc « mémoire vive ».
Exercice 4.2 – Conversion entre bases de numération 6. Sachant que le bloc « registres externes d’entrée / sortie » comporte
160 octets, donner l’adresse l’adresse maximale de ce bloc.
Convertir les valeurs suivantes dans les différentes bases :

Décimal Binaire Hexadécimal Exercice 4.5 – Code BCD


12810 1. Donner les valeurs suivantes en BCD :
24510 ƒ 256 = _______________
1010 0011 11102 ƒ 84 = _______________
A2C16 2. Donner les valeurs suivantes en décimal :
ƒ 0101 1001 0001BCD = _______________
ƒ 0010 0111BCD = _______________
Exercice 4.3 – Opérations mathématiques
Exécuter les opérations suivantes :
Exercice 4.6 – Code de Gray
1011 11012 1111 11112 3D16 1BF16 1. Établir le code de Gray sur 4 bits.
+ 10 11112 + 12 + B16 + A2316 2. Établir le code de Gray sur 5 bits.

Exercice 4.7 – Afficheur 7 segments


Exercice 4.4 – Microcontrôleur ATmega328P (Arduino UNO) Pour la réalisation d’un compteur, on utilise un afficheur 7 segments qui permet
On donne le plan mémoire du microcontrôleur ATmega328P implanté sur une carte d’éclairer les chiffres de 0 à 9. Ainsi lors de l’appui sur le bouton BP1, le chiffre
Arduino UNO : s’incrémente d’une unité.
0x0000 Schéma structurel partiel Câblage de la carte d’expérimentation
32 registres internes
0x001F Bouton
BP1 RA0
registres internes 0x0020 Poussoir
Seg a RB0
d’entrée / sortie
0x005F Seg b RB1
Seg c connecté à … RB2
160 registres externes 0x0060 Afficheur 7
Seg d RB3
d’entrée / sortie segments Seg e RB4
… Seg f RB5
0x0100 Seg g RB6
Mémoire vive
… N.B. : le composant U1 de référence PIC16F84A
est un microcontrôleur.

62 63
64 Chapitre 4 Système de numération 65

Compléter le tableau permettant de définir les valeurs hexadécimales à envoyer Exercice 4.8 – Ballon captif (Bac SI)
sur les broches du port B (RB7 à RB0) pour éclairer les 10 chiffres (un niveau La thermographie par ballon captif (ballon
logique 1 éclaire un segment et un niveau logique 0 l’éteint) : relié au sol par un câble) permet de cibler
plus précisément un bâtiment. Elle présente
Chiffre RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 PORTB l’avantage de réduire les délais d’interven-
éclairé (MSB) (LSB)
(en hexadécimal) tion, de simplifier les démarches administra-
tives, et elle est sans danger pour les
personnes présentes sur la zone d’interven-
tion.
Le ballon, gonflé à l’hélium (gaz porteur plus
léger que l’air) transporte une caméra
thermique fixée sur une nacelle, l'ensemble
est piloté depuis le sol par un système de
radiocommande. Les images sont visualisées
en temps réel depuis le sol sur un écran de
contrôle grâce à un système de transmission
vidéo sans fil.

En montagne, il est plus difficile d'identifier précisément les lieux de prises de vues
que dans une ville, dans laquelle chaque rue porte un nom et chaque bâtiment un
numéro. Un point GPS est donc nécessairement associé à chaque prise de vue.

La chaîne d’acquisition du GPS correspond à :

Pour recevoir la trame série codée en ASCII avec le microcontrôleur, il faut, dans
un premier temps, configurer cette liaison. L’instruction OPENCOM permet d’ouvrir
et de configurer le port série :

OPENCOM canal, debit, protocole, recvsize, sendsizecanal :


ƒ canal : de 0 à 3 suivant type de circuit ;
ƒ debit (en bits/s ou Bauds) ;
ƒ protocole (détaillé dans le tableau ci-dessous) ;
ƒ recvsize : taille du buffer de réception ;
ƒ sendsizecanal : taille du buffer d’émission.

64 65
66 Chapitre 4 Système de numération 67

Voici un exemple de configuration pour le canal 1 avec un débit de 9600 bits/s, des
mots de 8 bits, une parité paire, 2 bits de stop et des buffers de 20 et 50 octets :
OPENCOM 1,9600,23,20,50

Chacun des bits de l’octet protocole a la signification suivante :


ƒ le bit de poids faible bit0 et le bit1 déterminent la taille des données ;
ƒ le bit2 détermine le nombre de bits de stop ;
ƒ le bit3 et le bit4 déterminent la parité.

La sortie calibrée de type « matrice de rotation » se fait sous forme d’un tableau
comportant 3 paramètres pour l'accélération, 3 paramètres pour la giration et
Les données présentes en sortie du module GPS sont transmises sur le canal 1 du 3 paramètres pour l'intensité du champ magnétique terrestre.
microcontrôleur au format de 8 bits, avec un débit de 4 800 bits/s, un bit de stop
et sans contrôle de parité. Le buffer de réception (mémoire tampon) est fixé à ƒ Structure de la trame
50 octets et celui d’émission à 0.
PRE BID MID LEN DATA CS
Déterminer l’ensemble des paramètres à passer à l’instruction OPENCOM.
Champ Taille (en octets) Description
Exercice 4.9 – AUV, Autonomous Underwater Vehicles (Bac SI) PRE 1 Préambule de valeur 0xFA (PREamble)
Les AUV sont des sous-marins autonomes utilisés BID 1 Identificateur de bus de valeur 0xFF (Bus IDentifier)
pour des missions de surveillance sous-marine. Identification du type de message (Message
MID 1
IDentifier)
Une trame de données, via un modem acoustique, LEN 1 Nombre d'octets des données (LENght of data)
est transmise tous les 250 mètres au bateau DATA 0-254 Octets de données
suiveur pour vérification de la position et du bon CS 1 Vérification du message (CheckSum)
fonctionnement de la centrale inertielle.
ƒ Format du champ DATA des données de sortie : l'octet TS (Time Stamp) est
Le contrôle du positionnement de l'engin est réalisé à l'aide d'une centrale inertielle optionnel, chaque champ est codé sur 4 octets.
de type XSENS MTx-28 A53 G25 à technologie MEMS (Micro Electro-Mechanical
Systems) donnant des informations de position à l'aide de 9 capteurs : 3 accéléro- Type Valeur Nb
mètres (accélération linéaire), 3 gyromètres (vitesse angulaire), 3 magnétomètres Format
de sortie MID octets
(intensité du champ magnétique terrestre)) répartis sur les trois axes d'un trièdre
de mesure 3D. Quaternion 0x32 16+(1)

Euler 0x32 12+(1)

Matrice
0x32 36+(1)
rotation

66 67
68 Chapitre 4

1. Donner les valeurs hexadécimales des champs PRE, BID, MID pour une sortie ¨ Solutions
calibrée de type « matrice de rotation ».
2. Calculer le nombre d’octets du champ DATA correspondant à la transmission Exercice 4.1 – Bases de numération
des informations des 9 capteurs et de l’octet TS. Décimal Binaire Hexadécimal
3. À partir de la réponse à la question précédente et en considérant l’ajout de 123 Oui Non Oui
l’octet TS, donner, en hexadécimal, la valeur du champ LEN. 11001 Oui Oui Oui
4. Calculer alors le nombre d'octets (byte, en anglais) Noctets nécessaire à la A Non Non Oui
transmission de ce message.
789 Oui Non Oui
3B9 Non Non Oui
Exercice 4.10 – Agrandissement d’une piste de ski en intérieur (Bac
SI 2018) Exercice 4.2 – Conversion entre bases de numération
Le snowhall est une installation qui Décimal Binaire Hexadécimal
permet la pratique des sports de 12810 1000 00002 8016
glisse sur neige artificielle, en inté- 24510 1111 01012 F516
rieur et toute l'année. La longueur 262210 1010 0011 11102 A3E16
de la piste était d'environ 400 m. 260410 1010 0010 11002 A2C16
Le bâtiment, de 35 m de large, est
réfrigéré à une température infé- Exercice 4.3 – Opérations mathématiques
rieure à 0°C afin de maintenir une
neige de qualité. 1011 11012 1111 11112 3D16 1BF16
La température dans le bâtiment est contrôlée par des frigorifères qui sont des + 10 11112 + 12 + B16 + A2316
dispositifs de ventilation et de refroidissement de l'air (figure ci-dessus). Chaque 1110 11002 1 0000 00002 4816 BE216
frigorifère est muni d'une sonde de température ambiante Pt100 et d'un dispositif
de régulation : Exercice 4.4 – Microcontrôleur ATmega328P (Arduino)
1. 32 octets traduit en hexadecimal correspond à 2016. Ainsi de 0x0000 à 0x001F,
il y a bien 32 adresses différentes.
2. 5F16 – 2016 = 3F16 auquel il faut ajouter la 1re adresse, cela fait donc un total de
4016 octets.
Exprimé en décimal, la taille de bloc “registres internes d’entrée / sortie”
correspond donc à 64 octets.
3. 2 kilo-octets = 2 * 210 octets = 2048 octets.
4. 2048 octets = 80016 octets.
5. L’adresse maximale du bloc « mémoire vive » est : 10016 + 80016 – 1 = 8FF16
0x0100
Mémoire vive
0x08FF
6. 160 octets = A016 octets. L’adresse maximale est alors : 6016 + A016 – 1 = FF16
Le résultat de la conversion analogique numérique (CAN codé sur 12 bits) est
transmis à l'unité de traitement sous forme d'un mot de 16 bits noté Mtu. 160 registres externes 0x0060
Ainsi le résultat de la conversion, mot M (codé sur 12 bits) est placé dans les bits d’entrée / sortie 0x00FF
de poids fort. Les bits restants sont complétés avec des 0. Exercice 4.5 – Code BCD
1. Donner les valeurs suivantes en BCD :
Mtu
b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 ƒ 256 = 0010 0101 0110BCD
M 0 0 0 0 ƒ 84 = 1000 0100BCD
2. Donner les valeurs suivantes en décimal :
Exprimer Mtu en fonction de M. ƒ 0101 1001 0001BCD = 591d
ƒ 0010 0111BCD = 27d

68 69

Vous aimerez peut-être aussi