0% ont trouvé ce document utile (0 vote)
26 vues64 pages

CH1&2 Cours Informatique Industriel S5(IISE)

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 64

Cours : INFORMATIQUE INDUSTRIELLE

Pr. Amine RGHIOUI


a.rghioui@uiz.ac.ma

Filières: Ingénierie Informatique et Systèmes Embarqués

Année Universitaire 2024/2025


Plan de cours
Objectifs:
❑ Connaître l’architecture matérielle afin d’écrire un code efficace.
❑ Connaitre l’architecture générale des microcontrôleurs.
❑ Programmer un microcontrôleur en C, y compris la configuration matérielle.
❑ Système micro-programmé et langage C.
But:
❑ Sensibilisation à l’importance de l’Informatique Industrielle.
❑ Comment sont conçues aujourd'hui les applications embarquées sur les composants programmable.
❑ Exposé : Des exposés faits par les étudiants seront
programmés, tout le long du déroulement de cours.
❑ Cours, et TD  Jeudi 10h30 – 12h

Soyez à l'heure en cours et en TP !


Pr. Amine Rghioui FS Agadir
Plan de cours
➢ Chapitre 1 : Présentation de l’informatique industrielle et des systèmes microprogrammes

❖ Définitions
❖ Bref historique
❖ Domaines d'applications
❖ Les différents systèmes programmables
❖ Evolutions et loi de Moore
❖ Les différents Bus d’un system microprogramme

➢ Chapitre 2 : Interfaçage de programme C avec les microcontrôleurs

❖ Introduction
❖ Microprocesseur et Microcontrôleur
❖ Généralités sur les PIC
❖ PIC 16F877A
❖ Architecture d’un programme C pour les microcontrôleurs
❖ Les types de données de Langage C

Pr. Amine Rghioui FS Agadir


Plan de cours
➢ Chapitre 3 : Manipulation de la mémoire

❖ Introduction
❖ Classification des mémoires
❖ Organisation de la mémoire
❖ Accès Memoire
❖ la Mémoire Cache
❖ La mémoire de Masse

➢ Chapitre 4 : Conception de structures de données embarquées

❖ LE COMPILATEUR MIKROC ET LE SIMULATEUR ISIS.


❖ AFFICHAGE DES DONNEES
❖ SYSTEMES D’ENTREE DES DONNEES
❖ COMMUNICATION SERIE
❖ CONVERTISSEUR AD ET DA
❖ LES TIMERS EN MIKROC
❖ LES INTERRUPTIONS EN MIKROC
FS Agadir
Pr. Amine Rghioui
Chapitre 1 :
PRESENTATION DE
L’INFORMATIQUE INDUSTRIELLE ET
DES SYSTEMES MICRO-
PROGRAMMES

Pr. Amine Rghioui FS Agadir


Introduction

❑ C’est quoi informatique industrielle

❑A quoi sert l’informatique industrielle

Pr. Amine Rghioui FS Agadir


Vous avez étudié ...

1. Algorithmie / programmation en langage de haut niveau (langage C ANSI)...

2. Introduction aux microcontrôleurs (programmation bas niveau en assembleur)

Ce cours s'intéresse à la programmation d'applications pour microcontrôleurs


avec un langage de haut niveau (ici, le langage C).

Ce cours illustre modestement comment sont conçues aujourd'hui les


applications embarquées sur les composants programmable (« smart »-
phone, GPS, etc.).
Pr. Amine Rghioui FS Agadir 7
Définitions
L’informatique est un domaine d’activité scientifique, technique et technologique concernant
le traitement automatique de l’information, via un programme, par des machines: ordinateurs;
systèmes embarqués, robots, automates, etc.

L’industrie est l'ensemble des activités socio-économiques tournées vers la production en


série de bien. Elle sous-entend :
✓ une certaine subdivision du travail ;
✓ une notion d’échelle ;
✓ l'utilisation de machine, d'abord manuelles puis automatisées.

Pr. Amine Rghioui FS Agadir 8


Définitions

« L'informatique industrielle est une branche de l'informatique appliquée qui


couvre l'ensemble des techniques de Conception et de Programmation, de
systèmes informatisés à vocation industrielle, qui ne sont pas des ordinateurs. »
(Source : Wikipédia)

Pr. Amine Rghioui FS Agadir 9


Bref historique.

Génération 0:

les calculateurs mécaniques (1642-1945) : La première machine est attribué à


Pascal (addition et soustraction) améliorée ensuite par Leibniz (multiplication et
division). Au 19ème siècle, Babbage inventa la machine à différences puis la
machine analytique devenue programmable par Ada Augusta Lovelace et avec
une structure très proche des machines actuelles.

Pr. Amine Rghioui FS Agadir 10


Bref historique.
Génération 1:

les tubes à vides (1945-1955) : Avec l'avènement de l'électronique et l'apparition de la


guerre mondiale, on se consacra au chiffrage (cryptage et codage) et on aboutira à la
construction du premier ordinateur électronique (COLOSSUS) auquel Turing a
fortement participé. Mauchley et Eckert achevèrent une machine (ENIAC) utilisant des
tubes à vides et des relais (30 tonnes, 20 registres de 10 chiffres) en 1946.
Un des participants au projet ENIAC, Von Neumann construisit l'IAS (1952) qui
constitue encore aujourd'hui, l'architecture de base de la plupart de nos ordinateurs.
Pendant ce temps, l'entreprise Eckert-Mauchley fut la première à commercialiser un
ordinateur, l'UNIVAC.
Pr. Amine Rghioui FS Agadir 11
Bref historique.
Génération 2:
les transistors (1955-1965) : L'avènement du transistor dans les années 1950 représente un
tournant majeur dans l'histoire de la technologie informatique et électronique. Cette
innovation a permis de remplacer les tubes à vide encombrants et inefficaces, révolutionnant
ainsi la conception et la fonctionnalité des ordinateurs. Les transistors, étant beaucoup plus
petits, plus fiables et plus économes en énergie que les tubes à vide, ont permis de concevoir
des ordinateurs de la deuxième génération qui étaient significativement moins volumineux,
consommaient moins d'électricité et dissipaient beaucoup moins de chaleur. Le TRADIC
(Transistor Digital Computer), développé pour l'US Air Force, fut l'un des premiers ordinateurs
entièrement basés sur des transistors. Mis en service en 1954.
Pr. Amine Rghioui FS Agadir 12
Bref historique.
Génération 3:

les circuits intégrés (1965-1980) : Noyce inventa le circuit intégré en 1958. IBM créa la première gamme
unifiée (calcul et gestion) d'ordinateur avec le System/360 qui dota toute la gamme avec le même langage
d'assemblage et instaura la multiprogrammation qui permet à plusieurs programmes de résider simultanément en
mémoire.
L'IBM System-360, introduit en 1964, est un exemple phare de cette troisième génération. En plus de leur taille
réduite, les mini-ordinateurs offraient une meilleure gestion de la mémoire, des capacités de traitement de données
plus avancées et une plus grande fiabilité. Ces machines étaient beaucoup plus accessibles et économiquement
viables pour les petites et moyennes entreprises, ouvrant ainsi la voie à une utilisation plus répandue des
ordinateurs dans divers secteurs

Pr. Amine Rghioui FS Agadir 13


Bref historique.
Génération 4:
Les VLSI (1980- ?) : Les VLSI (Very Large Scale Integration) permettent, dans les années 80, l'intégration de
milliers, puis de millions de transistors sur une puce, favorisant ainsi la miniaturisation et l'augmentation de la
rapidité de traitement. Les prix chutant, l'ère de l'informatique personnelle commence. Kildall conçoit le CP/M, un
logiciel d'exploitation dédié au 8080 d'Intel. Apple fut propulsé au rang de leader mondial avec l'Apple puis
l'Apple II conçues par Jobs et Wozniak.
IBM répliqua avec le PC (qui utilisa le 8088) en 1981 et battit tous les records de vente, le système d'exploitation
étant le MS-DOS. IBM et Microsoft développèrent (respectivement) OS/2 (interface graphique concurrente du
MacIntosh) et Windows (utilisant la couche DOS). Au milieu des années 80, l'architecture RISC commença à
remplacer celle CISC, jugée trop complexe

Pr. Amine Rghioui FS Agadir 14


Domaines d'applications
Alarme, automobile, aviation, instrumentation, médicale, téléphonie mobile, terminaux
de paiement pour carte bancaire, etc.

Pr. Amine Rghioui FS Agadir 15


Les applications sont multiples

❑ Automate programmable pour les systèmes de production,

❑ Carte à microprocesseur pour des applications industrielles ou liées à la domotique,

❑ Systèmes de supervision pouvant traiter en temps réel les informations issues d'un grand nombre de capteurs
et assurer la commande de multiples actionneurs (centrales de production d'électricité, systèmes industriels
continus, contrôle de trafic aérien ou ferroviaire),

❑ Robots industriels et autonomes,

❑ Applications embarquées pour l'automobile (ABS, ESP, Motorisation hybride) ou l'avionique, etc.

16
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS SYSTEMES PROGRAMMABLES
1. Les circuits spécialisés ou ASIC (Application Specific Integrated Circuit)
Les circuits spécialisés sont des circuits spécialisés dès leur conception pour une application donnée.
Exemples : DSP (Digital Signal Processing), co-processeur arithmétique, processeur 3-D, contrôleur de bus, ...

17
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS SYSTEMES PROGRAMMABLES
1. Les circuits spécialisés ou ASIC (Application Specific Integrated Circuit)
Exemples :
DSP (Digital Signal Processing),

Les DSP sont utilisés dans la plupart des applications du traitement numérique du signal en temps réel. On
les trouve dans les modems (modem RTC, modem ADSL),

18
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS SYSTEMES PROGRAMMABLES
1. Les circuits spécialisés ou ASIC (Application Specific Integrated Circuit)
Exemples :
Co-processeur arithmétique

Un coprocesseur est un circuit électronique destiné à ajouter une fonction à un processeur classique. On
compte des coprocesseurs arithmétiques (pour le calcul en virgule flottante), graphiques (pour accélérer du
rendu 2D ou 3D) et des coprocesseurs spécialisés dans le chiffrement.

19
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS SYSTEMES PROGRAMMABLES
1. Les circuits spécialisés ou ASIC (Application Specific Integrated Circuit)
Avantages :

- Très rapide
- Consommation moindre
- Optimisé pour une application

Inconvénients :

- Faible modularité
- Possibilité d'évolution limité
- Coût

Pr. Amine Rghioui FS Agadir 20


LES DIFFERENTS SYSTEMES PROGRAMMABLES
2. Les systèmes en logique programmée

Ils sont connus sous la désignation de PLD (programmable logic device, circuit logique programmable)
✓ FPGA (field-programmable gate array, réseau de portes programmables),
✓ PAL (programmable array logic, réseau logique programmable),

C'est quoi la logique programmée ?


Un microprocesseur est un circuit logique capable d'exécuter de façon séquentielle, un certain nombre
d'instructions (programme) contenues dans une mémoire permanente, programmée pour les besoins
d'une
Pr. Amine application.
Rghioui FS Agadir 21
LES DIFFERENTS SYSTEMES PROGRAMMABLES
2. Les systèmes en logique programmée

« Un circuit logique programmable, ou réseau logique programmable, est un circuit intégré logique qui peut
être reprogrammé après sa fabrication. Il est composé de nombreuses cellules logiques élémentaires pouvant
être librement assemblé. »

Avantages :

- Très rapide
- Forte modularité
Inconvénients :

- Mise en œuvre plus complexe


- Coûts de développement élevé

Pr. Amine Rghioui FS Agadir 22


LES DIFFERENTS SYSTEMES PROGRAMMABLES
3. Les systèmes micro-programmés
Un système microprogrammé comporte deux éléments complémentaires indissociables:
➢ La partie logicielle (software) constituée du programme qui décrit la gestion du processus industriel.
➢ La partie matérielle (hardware) constituée de composants électroniques qui héberge le programme et lui
permet d'être exécuté

Les micro-contrôleurs sont typiquement des systèmes micro-programmés.

Pr. Amine Rghioui FS Agadir 23


LES DIFFERENTS SYSTEMES PROGRAMMABLES
3. Les systèmes micro-programmés

Un microcontrôleur est un :
« Circuit intégré comprenant essentiellement un microprocesseur, ses mémoires, et des éléments
personnalisés selon l'application. »
Un microcontrôleur contient un microprocesseur.

Avantages :

- Mise en œuvre simple


- Coûts de développement réduits

Inconvénients :

- Plus lent
- Utilisation sous optimale
24
Pr. Amine Rghioui FS Agadir
ÉVOLUTION ET LOI DE MOORE
1. Circuit intégré et microprocesseur
A l’origine, le circuit intégré a été créé en 1958 par Jack Kilby. Cet ingénieur en électronique avait pu câbler à
la main plusieurs transistors permettant de réaliser des mémoires et des unités logiques et arithmétiques. Il
existe des circuits intégrés dits analogiques et numériques.

En 1969, Marcian Off et Fréderico Fanguin ont inventé le premier microprocesseur que Intel commercialise 2
ans plus tard sous le nom d’ Intel 4004

Ce microprocesseur (Intel 4004) contenait 2300 transistors et pouvait réaliser 92600 opérations par sec à
une fréquence de 740Khz. Sa performance était comparable à l‘ordinateur Eniac qui occupait 67m2 pour un
poids de 30 tonnes ! Aujourd'hui tous nos appareils électroniques disposent de tels circuits intégrés.
Pr. Amine Rghioui FS Agadir 25
ÉVOLUTION ET LOI DE MOORE
2. Loi de Moore

Depuis les années 70, les microprocesseurs ont vu le nombre de transistors augmenté.
Intel 8086 (1978) :

❖ Architecture interne 16 bits


❖ 4 bus 16 bits
❖ Fréquence d'horloge 4,77/10 Mhz
❖ 39 000 transistors, gravés en 3µm

Intel Pentium 4 Northwood C (2002):

❖ Architecture interne 32 bits


❖ fréquence d’horloge 2,4/3,4 Ghz (bus processeur : 200Mhz)
❖ plus de 42 millions de transistors, gravés en 0,13 µm

26
Pr. Amine Rghioui FS Agadir
ÉVOLUTION ET LOI DE MOORE
2. Loi de Moore

Intel Core i7 Gulftown (2011):

❖ Architecture interne 64 bits 4/6 coeurs


❖ Fréquence d'horloge 3,46 Ghz
❖ Fréquence de bus: 3,2 GHz
❖ Fréquence de transfert des données 25.6 Gb/sec.
❖ 1,17 Milliards de transistors, gravés en 32nm

Intel Core i9 (2017):

❖ Architecture interne 64 bits 8 Coeurs


❖ fréquence d’horloge 6 Ghz
❖ 4.2 billion de transistors

27
Pr. Amine Rghioui FS Agadir
ÉVOLUTION ET LOI DE MOORE
2. Loi de Moore
Depuis les années 70, les microprocesseurs ont vu le nombre de transistors augmenté. La loi de Moore affirmait
et affirme toujours que le nombre de transistors doublerait tous les 2ans.

28
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS BUS D’UN SYSTEME MICRO-PROGRAMME
« Un bus est un jeu de lignes partagées pour l’échange de mots numériques. »

1. Définition
On appelle bus, en informatique, un ensemble de liaisons physiques (câbles, pistes de circuits imprimés,
etc.) pouvant être exploitées en commun par plusieurs éléments matériels afin de communiquer..

Un bus permet de faire transiter (liaison série/parallèle) des informations codées en binaire entre deux points.
Typiquement les informations sont regroupées en mots : octet (8 bits), word (16 bits) ou double word (32
bits).

2. Caractéristiques d'un bus


➢ Nombres de lignes,

➢ Fréquence de transfert.
29
Pr. Amine Rghioui FS Agadir
LES DIFFERENTS BUS D’UN SYSTEME MICRO-PROGRAMME

30
Pr. Amine Rghioui FS Agadir
Chapitre 2 :
Interfaçage de programme C avec
les microcontrôleurs

Pr. Amine Rghioui FS Agadir


Architecture des microcontrôleurs
Les microcontrôleurs sont aujourd'hui implantés dans la plupart des applications grand public ou professionnelles,
il en existe plusieurs familles.

La société Américaine Microchip Technologie a mis au point dans les années 90 un microcontrôleur CMOS : le
PIC (Peripheral Interface Controller). Ce composant encore très utilisé à l' heure actuelle, est un compromis
entre simplicité d' emploi, rapidité et prix de revient.

Les PIC existent dans plusieurs versions:


➢ les UVPROM qui sont effaçable par une source de rayonnements ultraviolets
➢ les OTPROM programmable une seule fois
➢ les E²PROM et flash EPROM qui sont effaçables électriquement.

Microprocesseurs classiques transistors reposant sur la charge Charges passantes (1) ou Bloquées, absence de
courant (0)

Le processeur est au cœur du microcontrôleur


32
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Classification des PICs de Microchip
Actuellement les modèles Microchip, sont classés en 3 grandes familles, comportant chacune plusieurs
références. Ces familles sont :

➢ Base-line : les instructions sont codées sur 12 bits.


➢ mid-line : les instructions sont codées sur 14 bits.
➢ High-End : les instructions sont codées sur 16 bits.

33
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Identification des PICs
Un PIC est généralement identifié par une référence de la forme suivante : xx(L)XXyy-zz:

xx : famille du composant, actuellement « 12, 14, 16, 17 et 18 ».


L : tolérance plus importante de la plage de tension
XX : type de mémoire programme
C : EPROM ou EEPROM
CR : PROM
F : Flash
yy : Identificateur.
zz : vitesse maximale du quartz de pilotage.

34
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Tableau comparatif

35
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs

Deux types de processeurs

➢ CISC : Complex Instruction Set Computer

Grand nombre d'instructions, Type de processeur le plus répandu

➢ RISC : Reduced Instruction Set Computer

Nombre d'instructions réduit (sélection des instructions pour une exécution


plus rapide), Décodage des instructions plus rapide

36
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Les types de bus :

Bus de données : Le bus de données permet de recevoir ou de transmettre un mot de 'Y' bits, contenu dans la
position mémoire sélectionnée préalablement. La taille de ce bus va de 8 à 64 bits.
ex. : résultat d'une opération, valeur d'une variable, etc..

Bus d'adresses : Le bus d'adresses permet au microprocesseur de sélectionner une position mémoire (RAM
ROM ou circuit d'interface) . Sa taille est généralement de 16, 24 ou 32 bits.
ex. : adresse d'une case mémoire, etc.

Bus de contrôle : permet l'échange entre les composants d'informations de contrôle [bus rarement représenté
sur les schémas].
ex. : périphérique prêt/occupé, erreur/exécution réussie, etc.
37
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Structure de Von Neumann:

L'architecture dite architecture de von Neumann est un modèle qui utilise une structure de stockage unique
pour conserver à la fois les instructions et les données demandées ou produites par le calcul.

38
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Structure de Harvard:

Certains microcontrôleurs suivent une architecture Harvard : ils possèdent des bus séparés pour la mémoire de
programme et la mémoire de données, ce qui permet aux accès d'avoir lieu en même temps (on parle d'accès
concurrent).

39
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Structure de Harvard:

40
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Fonctions de base d’une machine informatique (Microcontrôleur)

❖ Contenir de façon permanente les tâches à exécuter (mémoire programme) en ROM ou sur support
magnétique.
❖ Contenir de façon temporaire des données (mémoire de travail) en RAM.

❖ Permettre un dialogue avec l’extérieur (circuit d’interface entrée/sortie) :

❖ Effectuer des opérations arithmétiques et logiques élémentaires (UAL, en anglaise ALU).

❖ Organiser des transits d’informations (unité de contrôle : U.C.)

❖ Cadencer les différentes informations (Horloge)

❖ Pointer l’étape du programme en cours (P.C. : compteur programme, en anglaise Program Counter).

41
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Schéma fonctionnel d’un Microcontrôleur
Périphériques d’entrées
❖ Clavier ❖ Lecteur de bande magnétique
❖ Souris ❖ Lecteur de cartes
❖ Ecran tactile ❖ Crayon optique

Registres mémoires
Accès dit aléatoire c’est à dire, temps d’accès indépendant de l’emplacement de la donnée stockée.
❖ Lecture seule : ➢ ROM ❖ RAM (lecture & écriture) : ➢ Statique
➢ PROM ➢ Dynamique
➢ REPROM
Mémoires de masse
❖ Accès séquentiel: ➢ Bandes magnétiques ❖ Accès aléatoire: ➢ Disquettes
➢ Disques durs
Périphériques de sortie
❖ Ecran vidéo ❖ Imprimante
❖ Afficheur ❖ Synthétiseur vocal
❖ LEDs ❖ Lecteur disquette 42
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Schéma bloc d’un microcontrôleur

43
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Schéma bloc d’un microcontrôleur

mémoire rapide qui permet de stocker


temporairement des données.

mémoire à lecture seule, programmée à vie.

(Elec. Erasable Programmable Read Only Memory)


mémoire lente qui permet de stocker des
données même après coupure de l’alimentation.
44
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Schéma bloc d’un microcontrôleur
Le compteur de programme (PC) est un
registre qui gère l'adresse mémoire de
l'instruction à exécuter ensuite

L'unité arithmétique et logique, chargé


d'effectuer les calculs. Le plus souvent,
l'UAL est incluse dans l'unité centrale du
microprocesseur. Elle est constituée d'un
circuit à portes logiques.

45
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Schéma bloc d’un microcontrôleur

un système à entrées multiples et à une seule sortie


pour recevoir des signaux provenant de plusieurs
réseaux d'acquisition .

un circuit combinatoire, son but est de traduire un


code d'instruction en l'adresse dans la micro
mémoire.

L'horloge détermine la vitesse à laquelle le


processeur exécute ses instructions

sert à enregistrer des informations au sujet des


fonctions actives dans un programme informatique

46
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Schéma bloc d’un microcontrôleur

La liaison entre le microcontrôleur et l'extérieur.

permet au microcontrôleur de
communiquer avec d'autres
systèmes à base de
microprocesseur

permet la mesure et le contrôle de


différents événements et génère
également des signaux de sortie
modulés en largeur d'impulsion
(PWM)

47
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
critères de choix d’un microcontrôleur

Architecture :
➢ ALU (8, 16, 32, 64 bits)
➢ Structure du processeur (Harvard, Von Neumann)
➢ Type de processeur (RISC, CISC)
➢ Taille des mémoires programme et donnée
➢ Nombre de ports d’entrée/sortie

48
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
critères de choix d’un microcontrôleur

Fonctionnalités :
➢ Fonctions analogiques : CAN, CNA, Comparateur, ...
➢ Fonctions de timing : Timer, Watchdog, ...
➢ Fonctions de communication : UART (Communication série), USB, I2C, ...
➢ Facilité de programmation : In-Circuit Serial Programming, Self Programming, ...

49
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
critères de choix d’un microcontrôleur

Mise en oeuvre, maintenance :


➢ Coût de développement : outils de développement, formation, ...
➢ Suivi du microcontrôleur : production suivie, disponibilité, composant obsolète, ...

50
Pr. Amine Rghioui FS Agadir
Architecture des microcontrôleurs
Critères de choix d’un microcontrôleur

Caractéristiques électriques :
➢ Fréquence d’horloge
➢ Tensions d’alimentation
➢ Consommation d’énergie, modes faible consommation d’énergie, ..

51
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Codage

Codage binaire et hexadécimal

On rappelle tout d'abord les différentes bases qui nous seront utiles :
le binaire (base 2) est constitué de 2 chiffres : 0, 1
l'octal (base 8), est constitué de 8 chiffres : 0, 1, 2, 3, 4, 5, 6, 7
le décimal (base 10), est constitué de 10 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
l'hexadécimal (base 16), est constitué de 16 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Remarque : pour connaître la base associée à un nombre, on le note entre parenthèse


avec en indice une lettre b,o,d ou h selon qu'il s'agit d'un codage binaire, octal, décimal
ou hexadécimal.
Par exemple, (1001)B , (3F1)h ou (128)d
52
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Programme assembleur et algorigramme correspondant

Instructions
Une instruction est composée au minimum de deux parties:

Instruction = OPCODE + opérande(s)

OPCODE (Operation CODE) : partie d’une instruction qui précise quelle opération doit être réalisée

53
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Les types d’instructions en Assembleur
Les instructions propres au microcontrôleur
❖ Les instructions logiques : andlw, xorwf, …
❖ Les instructions de transfert : movlw, movf, ...
❖ Les instructions arithmétiques : decf, addwf, ...
❖ Les instructions arithmétiques : decf, addwf, ...
Les instructions pré-processeur
Elles permettent au programmeur de donner des indications au compilateur.
Elles sont destinées au PC et non pas au micro-contrôleur !
❖ Instructions de contrôle : org = début du programme, end = fin du programme, etc. ;
❖ Instructions conditionnelles : if, else, endif, etc. ;
❖ Instructions relatives aux données : res = réservation d’espace mémoire, etc.
54
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Pic 16F84

55
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Pic 16F84

4 Banks contient des registres

Unité de calcul
Mémoire EEPROM pour
le programme

Mémoire EEPROM pour


les données

56
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Pic 16F84
Le Registre

W: Le registre de travail est l'équivalent des accumulateurs des microcontrôleurs classiques

f: registre spécial ou d’usage général

d: registre de destination (on peut choisir entre le registre w et le registre f)

k: valeur littérale, taille de 8 bits

57
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre d’etat « STATUS »
IRP RP1 RP0 TO PD Z DC C

bit 7 bit 0
C: bit "Carry"

➢ Cela concerne les opérations arithmétiques (instructions : addwf, addlw, subwf et sublw) en système de numération
binaire en complément à 2.
➢ Ce bit est mis à 1 quand le résultat d'une opération génère une retenue.
➢ Ce bit est mis à 0 quand le résultat d'une opération ne génère pas de retenue.

DC: bit “Digital Carry"

➢ Cela concerne les opérations arithmétiques (instructions : addwf, addlw, subwf et sublw) en système de numération
DCB (binary coded decimal).
➢ Ce bit est mis à 1 quand le résultat d'une opération génère une retenue.
➢ Ce bit est mis à 0 quand le résultat d'une opération ne génère pas de retenue.
Pour info le code BCD convertit chaque digit décimal individuellement en binaire
Exemple (137)10 = (0001 0011 0111)BCD
58
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre d’etat « STATUS »
Z: bit “Zero"

➢ Cela ne concerne que les instructions qui affectent le bit Z (addwf, andlw, movf ...)
➢ Ce bit est mis à 1 quand le résultat d'une opération est 0.
➢ Ce bit est mis à 0 quand le résultat d'une opération est différent de 0.

PD: bit “Power-down"


➢ bit mis à 1 après :
- une mise sous tension
- une instruction CLRWDT
➢ bit mis à 0 après une instruction SLEEP
TO: bit “Time-out"
➢ bit mis à 1 après :
- une mise sous tension.
- une instruction SLEEP.
- une instruction CLRWDT.
- un réveil (sortie du mode SLEEP) dû à une interruption.
➢ bit mis à 0 quand la temporisation du watchdog est dépassée 59
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre d’etat « STATUS »
RP0: bit “Register Bank select 0"

➢ Permet d’indiquer dans quelle banque de Ram on travaille.


➢ Il faut mettre ce bit à 0 pour accéder à la banque 0 (bcf STATUS , RP0), et à 1 pour accéder à la banque 1 (bsf STATUS , RP0).

RP1: bit “Register Bank select 1 "

➢ Permet la selection des banques 2 et 3


➢ non utilisé (à laisser à 0) pour 16F84.

IRP: bit “Indirect RP"

➢ bit non utilisé (à laisser à 0)

60
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre d’etat « STATUS »

61
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre PORTx

➢ Les ports sont nommes par des lettres : Ports A, B, C, D, et E.

➢ Pour chaque port, un registre de 8 bits (un octet) permet d’écrire ou de lire la valeur de chacune des broches (0 et 1,
c ’est-à-dire 0V ou 5V).

➢ Ce registre se nomme PORTx ou x remplace le nom du port

Les registres PORTx sont situés en banque 0.


N.B. Pour passer en banque 0, il faut au préalable exécuter l'instruction :
bcf STATUS , RP0
62
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre TRISx

➢ Il s'agit d'un registre spécial situé à l'adresse H'85' (banque 1) de la mémoire des données (Data RAM).

➢ Ce registre permet de configurer, en entrée ou en sortie, les 5 bits du PORTx.

➢ Un 1 configure la broche en entrée


➢ Un 0 configure la broche en sortie.

➢ Ainsi, TRISA contrôle la configuration des broches du port A, TRISB celle du port B, etc.
➢ Cette configuration s’effectue en général au début du programme.

Les registres TRISx sont situés en banque 1.


N.B. Pour passer en banque 1, il faut au préalable exécuter l'instruction :
bsf STATUS , RP0

63
Pr. Amine Rghioui FS Agadir
Programmation des microcontrôleurs
Le Registre TRISx

Exemple de configuration du port A :

bsf STATUS,RP0 ; passage en banque 1 (inutile si l'on est déjà en banque 1)


movlw B'00010010' ; charge la valeur B'00010010' dans l'accumulateur W
movwf TRISA ; charge la valeur de l'accumulateur (B'00010010') dans le registre TRISA
Bcf STATUS, RP0 ; passage en banque 0

64
Pr. Amine Rghioui FS Agadir

Vous aimerez peut-être aussi