Vous êtes sur la page 1sur 7

Compte rendu :

Système embarqué
Année Universitaire : 2022/2023.

Réalisé par :
TAMOUHH Younes

Encadré par : M.
Introduction :

Un système embarqué est un système informatique intégré dans un appareil ou une machine
plus large pour effectuer des tâches spécifiques. Contrairement à un ordinateur de bureau ou à
un ordinateur portable qui est conçu pour être polyvalent, un système embarqué est conçu pour
exécuter une fonction ou un ensemble spécifique de fonctions de manière dédiée.
Les systèmes embarqués se trouvent dans de nombreux appareils et machines couramment
utilisés, tels que les smartphones, les tablettes, les systèmes de navigation GPS, les appareils
électroménagers, les véhicules automobiles, les équipements médicaux, les dispositifs de
contrôle industriel, les drones, les systèmes de surveillance, les consoles de jeux vidéo, etc.
Les systèmes embarqués sont généralement basés sur des microcontrôleurs ou des
microprocesseurs spécialisés qui exécutent un logiciel spécifique. Ils intègrent souvent des
composants matériels et des interfaces dédiés pour se connecter à d'autres appareils, capteurs
ou actionneurs. Ces systèmes peuvent fonctionner de manière autonome ou être connectés à
d'autres systèmes ou réseaux pour échanger des données.

I. Le microcontrôleur Atmel 16 :

Le microcontrôleur Atmel 16 fait référence à la famille de microcontrôleurs fabriqués par la


société Atmel.

Les microcontrôleurs Atmel 16 sont des circuits intégrés programmables qui combinent un
processeur central, une mémoire, des périphériques d'entrée/sortie et d'autres fonctionnalités
sur une seule puce. Ils sont couramment utilisés dans une variété d'applications électroniques,
tels que les systèmes embarqués, les contrôleurs industriels, les dispositifs médicaux, les
appareils électroménagers et les jouets, pour n'en nommer que quelques-uns.

Ces microcontrôleurs sont programmables en utilisant des langages de programmation


spécifiques tels que le langage C ou le langage assembleur. Les développeurs peuvent écrire du
code pour contrôler le comportement du microcontrôleur et interagir avec les périphériques
connectés. Les microcontrôleurs Atmel offrent généralement une large gamme de fonctionnalités,
notamment des broches d'entrée/sortie, des convertisseurs analogique-numérique (CAN), des
interfaces de communication série (comme UART, SPI et I2C), des timers, des compteurs et bien
plus encore.

II. Les programmes qu'on va utiliser pour simuler :

Atmel studio 7 :
Atmel Studio 7 est un environnement de développement intégré (IDE) spécifiquement conçu
pour la programmation des microcontrôleurs AVR et ARM de la société Atmel, qui est
maintenant une filiale de Microchip Technology. Il fournit un ensemble d'outils logiciels pour
faciliter la création, la compilation, la programmation et le débogage des applications destinées
aux microcontrôleurs Atmel.

Remarque :

Pour teste le programme réalisé Atmel studio on utilise Proteus 8.

C’est quoi Proteus 8 ?

Proteus 8 est largement


utilisé par les ingénieurs
électroniques, les
concepteurs de circuits
imprimés et les étudiants
pour le développement de
prototypes virtuels, la
simulation de circuits, la
vérification des
conceptions électroniques
et la création de cartes de
circuits imprimés.
III-Afficheur 7_segement :
Un afficheur 7 segments est un dispositif d'affichage couramment utilisé pour
représenter des chiffres ou des caractères alphanumériques. Il est composé de
sept segments individuels, généralement nommés de a à g, disposés de manière à
former une figure en forme de "8". Chaque segment peut être allumé ou éteint
individuellement pour créer différentes combinaisons et afficher des nombres
spécifiques.

Les afficheurs 7 segments peuvent être divisés en deux catégories principales : les
afficheurs à anode commune et les afficheurs à cathode commune. Dans un
afficheur à anode commune, les segments sont reliés à une alimentation positive
commune, tandis que dans un afficheur à cathode commune, les segments sont
reliés à une alimentation négative commune. Le choix entre les deux types dépend
de la configuration électrique du circuit dans lequel l'afficheur est utilisé.

Les afficheurs 7 segments sont largement utilisés dans diverses applications,


notamment les horloges, les compteurs, les appareils de mesure, les panneaux
d'affichage numérique, les thermomètres, les balances et bien d'autres. Ils offrent
une méthode simple et économique pour afficher des informations numériques de
manière claire et facilement compréhensible.

Table de vérité d’un afficheur 7-segement :

Circuit d’Afficheur 7-segement avec 7447 :


Figure 1

Réalisation de ce montage sous Proteus 8 :

Figure 1

L’interpretation :
Sous Proteus j’ai tracé la figure 2, le circuit d'affichage 7 segments avec un microcontrôleur
Atmega16, un décodeur BCD 7447 et un afficheur 7 segments :

1- microcontrôleur Atmega16 : générer les codes BCD correspondant aux chiffres à afficher sur
l'afficheur 7 segments. Il envoie ces codes au décodeur BCD 7447 pour contrôler les segments de
l'afficheur.

2- Le décodeur BCD 7447 : convertit les codes BCD en signaux de commande pour les segments de
l'afficheur 7 segments.

3- L'afficheur 7 segments : : L'afficheur 7 segments est composé de sept segments (a, b, c, d, e, f, g)


qui peuvent être allumés ou éteints individuellement pour représenter les chiffres de 0 à 9.
Chaque segment est connecté à une sortie du décodeur BCD 7447.

IV-Le code :

#define F_CPU 16000000 UL : Cette ligne définit la fréquence de l'horloge du microcontrôleur. Ici, la
fréquence est définie comme 16 MHz (16 000 000 Hz). Cela est généralement utilisé par les bibliothèques
pour effectuer des calculs de synchronisation.

#include <avr/io.h> : Cette ligne inclut le fichier d'en-tête io.h qui contient les définitions des registres et
des fonctions pour accéder aux broches d'E/S du microcontrôleur AVR.

#include <util/delay.h> : Cette ligne inclut le fichier d'en-tête delay.h qui contient des fonctions pour
introduire des délais dans le programme.

Int main(void) : C'est la fonction principale du programme. L'exécution du programme commence à


partir de cette fonction.

DDRD=0b11111111 ; Cette instruction configure les broches D0 à D7 du port D comme des broches de
sortie. Les broches D0 à D7 sont utilisées pour contrôler les sorties.
PORTD=0x00 ; Cette instruction initialise les broches D0 à D7 du port D avec une valeur de 0, ce qui
signifie que toutes les sorties sont à l'état bas.

DDRB=0b00000000 ; Cette instruction configure les broches B0 à B7 du port B comme des broches
d'entrée. Les broches B0 à B7 sont utilisées pour lire les entrées.

PORTB=0xFF ; Cette instruction active les résistances de pull-up internes pour les broches B0 à B7
du port B. Cela signifie que lorsque les broches ne sont pas connectées à un signal externe, elles
seront maintenues à l'état haut.

Switch (PINB) : Cette instruction vérifie la valeur lue sur les broches B0 à B7 du port B.

16-25. Les cas 1 à 9 correspondent aux différentes valeurs possibles lues sur les broches B0 à B7.
Selon la valeur lue, la broche D correspondante du port D est activée avec la même valeur. Par
exemple, si la broche B3 est lue, la broche D3 sera activée avec une valeur de 3.

Default : PORTD =0 ; : Si aucune des valeurs précédentes n'est lue, toutes les broches D du port D
sont désactivées (mise à l'état bas).

_delay_ms (200); Cette fonction introduit un délai de 200 millisecondes entre chaque itération de la
boucle while(1).

Après la réalisation du code j’ai stock le code sous le microcontrôleur Atmega16 finalement
j’ai lancé la simulation.

Cas 1 :

Cas 2 :

Vous aimerez peut-être aussi