[PDF] Les Microprocesseurs & Les Microcontrôleurs





Previous PDF Next PDF



Cours de Microcontrôleurs

Cours de. Microcontrôleurs. Basé sur l'utilisation du HCS12 (Motorola). Christophe Durand microcontrôleur HCS12 (registres programmation séquentielle



Cours sur les microcontrôleurs STI2D ET SSI

Cours sur les microcontrôleurs. STI2D ET SSI. GENERALITES. Le microcontrôleur rassemble en un seul circuit les composants d'un petit ordinateur (processeur.



Microcontrôleurs

indépendamment du microcontrôleur dont il est Les microcontrôleurs PIC16 ... lire une instruction du programme en cours.



Cours-Microcontrôleur-microprocesseur-39.pdf

Il existe plusieurs architecture de microcontrôleurs de 4 à 128 bits pour les ci une instruction CALL était insérée juste après l'instruction en cours.



Les Microprocesseurs & Les Microcontrôleurs

Nous terminons ce cours avec l'étude de toutes les instructions permettant la programmation du 16F84 en langage assembleur. Enfin ce cours sera publié 



AVANT-PROPOS

Iset Nabeul. Cours microcontrôleurs. Y. RKHISSI KAMMOUN. 3. Comprendre l'architecture d'un microcontrôleur en particulier le PIC 16F877 et.



NSY107 Cours 1 Introduction aux microcontrôleurs

6 mars 2018 Un cours pratique sur la communication embarquée. • programmation bare-metal sur microcontrôleurs. • architecture machine.



Diapositive 1

À l'origine les microcontrôleurs se programmaient en assembleur uniquement. mémoire volatile (programmes et données en cours de.



Polycopié de cours

Microcontrôleur (?c)?. Circuit intégré logique (transistors) programmable. Possède des circuits d'interface intégrés avec le monde 



Microprocesseurs et Microcontrôleurs

Dans cette partie du cours nous allons étudier la programmation en langage assembleur d'un microprocesseur de la famille INTEL. L'étude complète d'un.



Cours de Microcontrôleurs

Les progrès de l'intégration des circuits permettent actuellement de réaliser toute une carte de développement sur un seul composant Cette idée est à l'origine de tous les microcontrôleurs Notions de microcontrôleur Le principe de base des microcontrôleurs repose sur l’inclusion dans le même boîtier du



Introduction sur les microcontrôleurs - Technologue Pro

à lire par l’UAL soit la suite de l’instruction en cours soit la prochaine instruction • Registre d’instructions: Il contient l’instruction en cours de traitement • Registre d’état: Il sert à stocker le contexte du processeur ce qui veut dire que les différents bits de ce registre sont des drapeaux (flags) servant à



Cours: Microcontrôleur

• Les noms des variables ne peuvent contenir que des lettres de a (A) à z (Z) le trait de soulignement "_" et les chiffres de " 0 à 9" ; • Les noms de variables dans mikroC ne sont pas sensibles à la casse donc : coM com Com représente le même identifiant ; Tab 1: Noms réservés en mikroC 15



Introduction sur les microcontrôleurs - Technologue Pro

grandes vitesses L’horloge est la fonction qui cadence le fonctionnement des microcontrôleurs en délivrant un signal de fréquence fixe On utilise généralement un quartz Exemple : Avec un quartz de 4MHz la fréquence du signal est d’abord divisée par 4 ; c’est ce signal de 1MHz



leay:block;margin-top:24px;margin-bottom:2px; class=tit polytech-proggricad-pagesuniv-grenoble-alpesfrMicrocontrôleurs I - Les interruptions : principes - GitLab

Microcontrôleurs I — F Rousseau Cours 5 IESE3 S5 — 2022–2023 Interruptions Programmation sur STM32F446 IT poussoir IT systick Pour aller plus loin Description de init_IRQ_PC13 - 1



Searches related to cours de microcontrôleurs filetype:pdf

Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A Zegaoui UHBC ; Département d’’Electrotechnique Laboratoire GEER 6 II Historique En 1642 Pascale inventait la Pascaline qui est une calculatrice entièrement mécanique Le télégraphe optique fut inventé en 1792 par les frères Chappe

Comment fonctionnent les microcontrôleurs ?

    Nombre d’instructions par secondes Les PIC stockent et exécutent chaque instruction en 1 cycle d’horloge. On peut atteindre de très grandes vitesses. L’horloge est la fonction qui cadence le fonctionnement des microcontrôleurs en délivrant un signal de fréquence fixe. On utilise généralement un quartz.

Qu'est-ce que le microcontrôleur ?

    Le microcontrôleur est un micro-ordinateur compressé conçu pour contrôler les fonctions des systèmes embarqués dans les machines de bureau, les robots, les appareils ménagers, les automobiles et une gamme d’autres appareils. Un microcontrôleur est constitué de composants tels que la mémoire, les périphériques et, surtout, un processeur.

Quels sont les périphériques d’un microcontrôleur?

    Il contient encore d’autres périphériques, qui ne seront pas abordés dans ce cours, faute de temps. Le microcontrôleur dispose également de possibilités d’extension de bus 8 ou 16 bits vers l’extérieur. Pour communiquer avec l’extérieur, le microcontrôleur dispose en tout et pour tout de 112 pattes.

Quelle résistance pour un micro-contrôleur ?

    On retiendra le fait de monter sur l’alimentation un condensateur de 1000µF pour absorber les pics de tension à la mise en route et l’ajout éventuel d’une résistance d’environ 500? en série entre le micro-contrôleur et la LED de tête lorsque le fil est long pour empêcher le signal

Les Microprocesseurs

Les Microcontrôleurs

__ Tome 01 __

Cours destiné aux Etudiants :

M1 & L3 Commande

M1 & L3 Génie Electrique et Informatiques Industrielle

MaîtreȱdeȱConférencesȱ

Départementȱ'Electrotechniqueȱ

FacultéȱdeȱTechnologieȱ

FacultéȱdeȱTechnologieȱ

Départementȱd'Electrotechniqueȱ

ȱlaȱprogrammationȱdesȱ

deȱprogramme,ȱ

HassibaȱBenboualiȱdeȱChlef.ȱ

Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER3

II.Historique ......................................................................................................................................... 6

III.Le système décimal .......................................................................................................................... 6

IV.Le système binaire ........................................................................................................................... 7

V.Le système hexadécimal .................................................................................................................. 8

VI.Opérations arithmétiques et nombres signés .................................................................................... 9

VII.Les nombres signés : la soustraction ................................................................................. 10

VIII.Les opérations booliennes ................................................................................................. 11

A.Le complément logique ..................................................................................................... 11

B.Le ET (AND) logique ........................................................................................................ 11

C.Le OU (OR) logique .......................................................................................................... 12

D.Le OU-EXCUSIF (Exclusif OR) ou XOR ........................................................................ 12

IX.Architecture basique d'un microprocesseur ................................................................................... 13

X.L'Unité Arithmétique et Logique ................................................................................................... 13

XI.L'accumulateur ou le registre de travail ......................................................................................... 14

XII.L'unité de commande et de contrôle ................................................................................. 15

A.l'horloge : ........................................................................................................................... 15

B.Le compteur programme PC : ............................................................................................ 15

C.Le registre d'instruction RI .............................................................................................. 16

D.Le décodeur ....................................................................................................................... 16

E.Le séquenceur .................................................................................................................... 16

XIII.Le registre d'état ................................................................................................................ 16

XIV.Le Compteur d'Instructions ............................................................................................... 16

XV.Le registre d'adresses ......................................................................................................... 16

XVI.Le Registre d'Instructions (RI) .......................................................................................... 17

XVII.Le registre d'état ................................................................................................................ 17

XVIII.Les registres généraux ....................................................................................................... 18

XIX.Structure de la mémoire principale (MP) .......................................................................... 18

XX.Exécution d'un programme ............................................................................................... 20

XXI.Les mémoires ..................................................................................................................... 21

Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER4

XXII.Organisation d'une mémoire ............................................................................................. 21

XXIII.Caractéristiques d'une mémoire ........................................................................................ 23

XXIV.Types de mémoires ............................................................................................................ 24

A.Mémoires mortes (ROMs) ................................................................................................. 24

B.Mémoires vives (RAMs) : ................................................................................................. 25

C.Les RAM statiques (SRAM) : ........................................................................................... 25

D.Les RAM dynamiques (DRAM) : ..................................................................................... 26

XXV.Les Microcontrôleurs : Le PIC 16F84 ............................................................................... 27

XXVI.Introduction ....................................................................................................................... 28

XXVII.Le Microcontrôleur 16F84 ................................................................................................. 28

XXVIII.Brochage et fonctions des différentes pattes ..................................................................... 29

XXIX.Architecture générale ......................................................................................................... 30

XXX.Organisation de la mémoire ............................................................................................... 31

XXXI.Mémoire de programme .................................................................................................... 31

XXXII.Mémoire de données .......................................................................................................... 31

XXXIII.Registres généraux ............................................................................................................. 32

A.Registres spéciaux - SFRs (Special Function RegisterS) ................................................. 32

B.Description des registres FSRs .......................................................................................... 33

C.Détail des registres STATUS et OPTION ......................................................................... 34

XXXIV.Mémoire EEPROM ........................................................................................................... 36

XXXV.Jeu d'instructions ............................................................................................................... 36

XXXVI.L'ALU et le registre W ...................................................................................................... 38

XXXVII.L'Horloge ............................................................................................................... 39

XXXVIII.Le port d' E/S PORTA ........................................................................................... 39

XXXIX.Le port d' E/S PORTB ....................................................................................................... 40

XL.Le Timer TMR0 ................................................................................................................. 40

XLI.Le chien de garde (Le Watchdog Timer : WDT) ............................................................... 42

XLII.Le mode SLEEP ................................................................................................................ 44

XLIII.La mémoire EEPROM de configuration ........................................................................... 44

XLIV.La mémoire EEPROM de données .................................................................................... 45

Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER5

XLV.Les interruptions ................................................................................................................ 46

XLVI.Modes d'adressages ........................................................................................................... 46

A.L'adressage indirect ........................................................................................................... 47

XLVII.Le compteur programme ................................................................................................... 47

XLVIII.Détail des 35 instructions du 16F84 .................................................................................. 48

XLIX.Un mot sur TRIS : TRIState port ....................................................................................... 61

L.ENCODAGE des INSTRUCTIONS ............................................................................................. 61

LI.Bibliographie .................................................................................................................................. 62

Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER6

II. Historiqueȱ

En 1642, Pascale inventait la Pascaline qui est une calculatrice entièrement mécanique. Le télégraphe

optique fut inventé en 1792 par les frères Chappe. La première machine qui est un métier à tisser les cartes

perforées est inventé en 1801 par Jacquard, elle prenait en charge le langage binaire et l'enregistrement

des programmes. En 1932, le monde a vu la naissance du premier calculateur électronique qui était le

compteur à tubes. Le premier ordinateur ENIAC (Electronic Numerical Integrator And Computer) est

inventé en 1946, c'est une machine qui consommait 140kW et réalisait 5000 additions par seconde contre

500 multiplications. Les mémoires à tores magnétiques ont été réalisées en 1953 et la société Texas/Kilby

fut apparaitre le premier circuit intégré en 1957. L'entreprise américaine Intel Corporation a réalisé le

premier microprocesseur en date du 15 novembre 1971 ; c'était le fameux Intel 4040 qui embarquait 2250

transistors bipolaires, tournait à la vitesse d'horloge de 108Khz avec quatre bits. La même firme a doublé

les capacités d'Intel 4040 en un autre microprocesseur appelé Intel 8080 avec des mots de huit bits, 64

kilo Octets adressables et une horloge de 2Mhz.

L'an 1981 était le début de l'informatique grand public, dont Intel équipait le premier PC et le

MOTOROLA 68000 d'Appel II. Durant la période 1985 à 1990, le monde de l'électronique avait sur les

marchés les premiers microcontrôleurs industriels l'Intel 8051 et le MOTOROLA 68HC11. Dès 1995, la

puissance des ordinateurs permettait la vulgarisation des outils de CAO (Controller Access Object) et des

compilateurs C avec comme cible les microcontrôleurs.

Par la suite et dans les années 70 apparaissent de petites entreprises de fabrication de microprocesseurs

comme MOS Technologies avec son 6502 très inspiré du 6800 mais vendu seulement 25$ et ZILOG

avec son Z80 qui constitue une amélioration technique du 8080 (augmentation du nombre de

registres, simplification de l'alimentation...). Les autres grands constructeurs (TEXAS INSTRUMENT,

FAIRCHILD, RCA, SIGNETICS etc.) se lanceront aussi dans ce marché.

Rappel sur les systèmes de numérisation

III. Leȱsystèmeȱdécimalȱ

Pour rappel un système décimal est un système de numération qui utilise 10 chiffres (de 0 à 9) pour

générer des nombres, c'est un système en base 10. Mais dans un nombre la position des chiffres a

également une grande importance. Les chiffres les moins significatifs se situent à droite du nombre, et

leur importance augmente au fur et à mesure du déplacement vers la gauche. En effet, dans le nombre

502, le 5 à une plus grande importance que le 2. En réalité, chaque chiffre, que l'on peut appeler DIGIT,

à une valeur qui dépend de son RANG. Quel est ce rapport ? Il s'agit tout simplement de l'élévation de la

BASE utilisée élevé à la puissance de son RANG. Remarquez ici une chose très importante : le comptage

Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER7

du rang s'effectue toujours de droite à gauche et en commençant par 0. Pour notre nombre 502, sa valeur

est donc en réalité : 502 = 2*10° + 0*101+5*10². Notez que le symbole * est utilisé pour indiquer une

opération de multiplication. Dans les microprocesseurs un nombre décimal est écrit tel quel ou sous la

forme D'xxxxxx' dont x peut prendre les chiffres entre 0 et 9.

IV. Leȱsystèmeȱbinaireȱ

Pour un ordinateur il ne sait que distinguer entre deux niveaux : présence ou absence de tension ! Cela

veut dire que le système décimal est inadapté. Pour représenter deux niveaux logiques (niveau haut de

tension et niveau bas) il est donc obligatoire d'utiliser un système de numération à base de deux : le

système binaire qui utilise deux chiffres, le 0 et le 1 pour représenter n'importe quel nombre sous

formes d'une série de 0 et de 1. Chaque chiffre est appelé Bit (BInary uniT en anglais) et un ensemble

de huit bit est un Octet (Byte en anglais). En binaire, un nombre est représenté sous la forme B'xxxxxx'

dont x vaut un 0 ou un 1.

Comment représenter un nombre binaire !

Puissances de

2 (poids du

bit) 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20

Equivalences

de puissances de 2 en décimal 65536 32768 16384 8192 4096 2048 1024 512 128 64 32 16 8 6 4 2 1

Positions des

bits dans le nombre (poids du bit) b16 b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0

Donnée su 2

bits x x

Donnée sur 4

bits (quartet) x x x x

Donnée sur 8

bits (Octet) x x x x x x x x

Donnée sur

16 bits (mot =

2 octets) x x x x x x X x x x x x x x x x x

Pour illustration, sur deux bits on ne peut représenter que B"00", B"01", B"10" et B"11" ce qui est

équivalent en binaire respectivement à 0, 1, 2 et 3 par une sommation des puissances de 2. A titre

d"exemple B"11" = 1x20 + 1x21 = 3. Donc sur deux bits on ne peut représenter au maximum que le Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER8

nombre décimal 3. Par contre sur quatre bits (Quartet) on peut aller à B'1111' ce qui est équivalent à

nombre 13 en décimal. A titre d'exemple le B'1001' = 1x20 + 0x21 + 0x21 + 1x22 = 5 en décimal. Sur

quatre bits on ne peut coder en fait que les nombres naturels allant de 0 à 13 au maximum. Donc pour

coder un nombre décimal plus de 13 il nous faut plus de bits en binaire ! Une donnée, un nombre

décimal, codé sur 8 bits est appelé Octet. Donc sur un octet on peut représenter au maximum B'1111

1111' = 1 + 2 + 4 + 8 + 16 + 32 + 64 = 127 en décimal et tout nombre supérieur à 127 nécessite plus

d'un octet pour être condé en binaire. Et sur 16 bit on peut coder un nombre décimal de moins de 65535

et plus de 65535 nécessite plus de 16 bits pour un codage en binaire.

V. Leȱsystèmeȱhexadécimalȱ

Ecrire des nombre en binaire par une succession de 1 et de 0 sur une taille élevée (plusieurs bits) n'est

pas facile à gérer et peut même être une source d'erreur d'écriture. Pour y remédier, il a été décidé de

scinder l'octet en deux quartets et que chaque quartet était représenté par un chiffre conformément au

tableau VVV. On a déjà vu qu'un quartet ne peut coder que les nombres décimaux de 0 à 15. Pour

qu'un quartet ne puisse être représenté que par un seul chiffre, il a été décidé de remplacer les 6

nombres de 10 à 15 par les premières lettres de l'alphabet : A, B, C, D, E et F. il est à signaler qu'un

nombre hexadécimal est précédé par le suffixe 0x. À titre d'exemple, le plus grand nombre qu'on peut

représenter sur un octet est 0xFFFF FFFF = Fx160 + Fx161 + Fx162 + Fx163 + Fx164 + Fx165 + Fx166 + Fx167 = Fx (1+16+256+4096+65536+1048576+16777216+268435456) = 16x286331153=

4 581 298 448 c'est énorme comme nombre !

Tableau d'équivalence Binaire-Hexadécimal-Décimal :

Binaire Hexadécimal Décimal

B"0000" 0x0 0

B"0001" 0x1 1

B"0010" 0x2 2

B"0011" 0x3 3

B"0100" 0x4 4

B"0101" 0x5 5

B"0110" 0x6 6

Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER9

B'0111' 0x7 7

B"1000" 0x8 8

B"1001" 0x9 9

B"1010" 0xA 10

B"1011" 0xB 11

B"1100" 0xC 12

B"1101" 0xD 13

B"1110" 0xE 14

B"1111" 0xF 15

Le codage d"un nombre sur n"importe quel système de numération ou d"un système de numération à

autre est facile à faire. VI. Opérationsȱarithmétiquesȱetȱnombresȱsignésȱ

Quelque soit le système de numération adopté, les opérations arithmétique se font avec les mêmes règles

qu'en décimal.

Addition :

A titre d'exemple on fait l'addition (19+25)=44 mais en binaire.

Comme indiqué sur le tableau ci-dessus :

On additionne les chiffres de droite, et on obtient : 1+1=10 car 2 n'existe pas en binaire, on écrit

0 et on reporte 1 ;

B" 1 1 0 1 0 1

1 1"

+ B" 1 1 0 0 1" = B" 1 0 1 1 0 0" Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER10 On additionne 1+0+le report et on obtient 10. On écrit 0 et on reporte 1 ; On additionne 0+0+le report et on obtient 1. On écrit 1 ;

On additionne 0+1 on obtient 1. On écrit 1 ;

On additionne 1+1+le report et on obtient 11. On écrit 1 et on reporte 1 ;

Reste le report que l'on écrit, soit 1.

La réponse est alors 101100 soit 44 en décimal. On remarque bien sûr que l'addition de deux nombres

codés sur cinq bits donne lieu à un résultat codé sur six bits. C'est normal parce que cinq bit ne suffisent

pas pour coder le nombre 44 !

On procède de la même manière pour les nombres codés en hexadécimal. Effectivement, en sachant que

0xF + 0x1 = 0x10, soit 15+1 = 16.

VII. Lesȱnombresȱsignésȱ:ȱlaȱsoustractionȱ

Dans de nombreuses applications, on utilise la soustraction mais le signe " - » n'est pas représentable

électriquement car ce n'est qu'un concept.

Pour des nombres binaires représentés par un octet, sont considérés comme " signés » si le bit 7 représente

le signe. Dans les nombre signés, si le bit 7 est mis à 1 cela signifie que le nombre est négatif et est positif

dans le cas contraire. Cette façon de faire fait perdre un nombre, car le nombre 0 aura deux représentation,

à savoir : 10000000 (-0) et 00000000 (+0). La méthode du complément à deux nous permet d'éviter cette

perte.

En binaire, Pour rendre un nombre négatif

1) On inverse la totalité du nombre (le complément à 1).

2) On ajoute 1

On obtient alors ce qu'on appelle le COMPLEMENT A DEUX du nombre. Pour exemple, comment avoir le nombre -5 en binaire :

On écrit 5 en binaire, soit : 00000101.

On inverse tous les bits, soit : 11111010 (le complément à 1). On ajoute 1, soit 11111010+00000001= 11111011 (le complément à2).

Et par conversion inverse, on aura :

On écrit 5 en binaire, soit : 11111011.

On inverse tous les bits, soit : 00000100 (le complément à 1). On ajoute 1, soit 00000100+00000001= 00000101 (le complément à2) ce qui donne +5 ; c'est logique car -(-5)=5 ! Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER11 Sur un octet, et dans le cas des nombres signés, on obtient les nouvelles limites suivantes :

La plus grande valeur est 'b01111111', soit +127.

La plus petite valeur est 'b10000000', soit -128.

Remarquez que les opérations continuent de fonctionner. Prenons -3 + 5

B '11111101' (-3)

+ B '00000101' (5) = B'100000010' (2)

Et là, on dit que ça ne fait pas 2 ? Et bien si, regardez bien, il y a 9 bits, or le processeur n'en gère que 8.

Le 9ème est donc tombé dans un bit spécial que nous verrons plus tard. Dans le registre du processeur, il

reste donc les 8 bits de droite, soit 2, qui est bien égal à (-3) + 5.

Maintenant, si vous avez bien suivi, vous êtes en train de vous poser la question suivante : Quand je vois

B'11111101', est-ce que c'est -3 ou est-ce que c'est 253 ? Et bien vous ne pouvez pas le savoir sans connaître le contexte. Sachez que les nombres signifient uniquement ce que le concepteur du programme a décidé qu'ils

représentent. S'il travaille avec des nombres signés ou non, ou si cet octet représente tout autre chose. La

seule chose qui importe c'est de respecter les conventions que vous vous êtes fixées lors de la création de

cet octet. C'est donc au programmeur de décider de quoi il a besoin pour tel type de données.

VIII. Lesȱopérationsȱbooliennesȱ

Ce type d'opérations concerne ceux qui s'effectuent bit par bit sur un octet donné. Dans ce qui suit vous

trouvez un résumé des opérations indispensables à connaître dans la programmation de tout type

microcontrôleurs et essentiellement les PICs.

A. Leȱcomplémentȱlogiqueȱ

C'est la négation ou l'inversion logique, ou le NOT en anglais, mais plus précisément le complément

à 1. Elle est souvent notée " ! » devant le nombre à inverser. Son fonctionnement tout simple consiste à

inverser tous les bits de l'octet. Des 1 deviendront des 0 et vis versa. A titre d'exemple, le NOT

B'10001111' donne 'B01110000 '.

Il est à noter que pour simplifier, avant de complémenter à 1 un nombre quelconque, il faut avant

tout le coder en binaire. Le complément sert généralement à lire une valeur dont les niveaux actifs ont été

inversés dont il faut l'inverser pour avoir la vraie valeur, à réaliser des nombres négatifs ...etc.

B. LeȱETȱ(AND)ȱlogiqueȱ

Un ET logique, AND et souvent noté &, est la multiplication bit à bit. Elle se réalise entre deux mots et elle multiplie chaque

bit du premier mot par le bit du même rang du second mot. D'où pour réaliser un opération ET logique, il faut disposer de

deux octets. La table de vérité d'une telle opération est présentée dans le tableau ci-après :

Bit1 Bit2 AND

0 0 0 0 1 0 1 0 0 111
Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01)

Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER12Par simple examen de la table de vérité, on remarque que la seule possibilité pour obtenir un " 1 » est que le Bit1

AND le Bit2 soient

à " 1 ». Ce qui se fait normalement par une multiplication. 1*1 = 1, 0*1 = 0, 1*0 = 0. A titre

d'exemple, b'11001100' AND b'11110000' donne b'11000000'. De cet exemple, on peut utiliser cette opération

pour préparer le deuxième octet de l'opération comme un masque en vu de masquer (les rendre des 0) les bits de

l'octet qui n'intéressent pas notre application. Le masque b'11110000' choisi dans notre exemple a permet de

garder le quartet du poids le plus fort dans l'octet b'11000000'.

En résumé, on peut donc à l'aide de cette opération logique positionner un ou plusieurs bits dans un mot à 0 sans

connaître son contenu précédent.

C. LeȱOUȱ(OR)ȱlogiqueȱ

Cette opération, notée généralement " | », manipule aussi deux octets et permet de positionner le résultat à 1 si

l'un des deux bits de même rang dans les deux octets est à1. Donc le bit du résultat est à 1 si le Bit1 OU le Bit2

est à 1.

La table de vérité de l'opération OR illustrant son fonctionnement est consignée dans le tableau suivant :

Bit1 Bit2 OR

0 0 0 0 11

1 0 1

111

Le ET logique sert, dans la programmation des microcontrôleurs, à forcer n'importe quel bit d'un octet à 1 via un

masque sans connaitre au préalable son contenu. A titre d'exemple, dans l'octet b'10001000' on veut forcer son

sixième bit à 1 sans toucher le contenu restant. Pour cela on utilise l'opéartion avec comme masque l'octet

b'11000000', et le résultat de l'opération sera bien sur b'11001000'. D. LeȱOUȬEXCUSIFȱ(ExclusifȱOR)ȱouȱXORȱ

Le XOR (eXclusif OR) assume la même fonction logique OR avec un détail en plus : Pour obtenir 1, il faut que

le Bit1 soit à 1 OU que le Bit2 soit à 1 à l'EXCLUSION des deux bits ensemble. Donc si les 2 bits sont à 1, alors

le résultat sera 0 conformément à la table de vérité ci-après. Elle opère sur deux octets.

Bit1 Bit2 XOR

0 0 0 0 11 10 1 110

Cette opération sert tout simplement à inverser un ou plusieurs bits dans un mot sans toucher aux autres avec la

technique de masque dans le deuxième mot. Comme exemple b'10001000' XOR b'11000000' donne le résultat

b'01001000'. L'exemple illustre bien l'inversion de l'état logique des deux bits du poids fort dans le premier octet.

Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER13 IX. Architectureȱbasiqueȱd'unȱmicroprocesseurȱ

Le microprocesseur ( M.P.U. : MicroProcessor Unit ; C.P.U. : Central Processing Unit) est un circuit

intégré complexe (ensemble de millions de transistors) appartenant à la famille des Very Large Scale Intégration

(VLSI) capable d'effectuer séquentiellement et automatiquement des suites d'opérations élémentaires (programme). Le microprocesseur remplit deux fonctions essentielles : le traitement des données et le contrôle du système.

Le traitement de données se fait par l'unité de traitement (fonction est dédiée à l'U.A.L. : Unité Arithmétique et

Logique et ALU : Arithmetic and Logic Unit en anglais). Le traitement concerne la manipulation des données

sous formes de transfert (déplacement), opérations arithmétiques, opérations logiques.... Le contrôle du système se traduit par des opérations de décodage et d'exécution des ordres exprimés sous forme d'instruction, c'est donc le séquençage des opérations et c'est le rôle de l'unité de commande.

Un microprocesseur est qualifié par sa puissance qui est la capacité de traiter un grand nombre

d'opérations par

seconde sur de grands nombres et en grande quantité. Cette puissance est principalement régie par les critères

suivants : La longueur des mots : données et instructions (on parle de largeur du bus des données). Le nombre d'octets que le microprocesseur peut adresser (on parle de largeur du bus des adresses).

La vitesse d'exécution des instructions liée à la fréquence de fonctionnement de l'horloge de

cadencement exprimée en MHZ.

Dans une unité de traitement on distingue généralement trois éléments logiques principaux :

d'état, le Registre d'Instructions (R.I.), le Registre d'Adresses (R.A.) et le registre temporaire des données. Cet ensemble est interconnecté au travers de différents bus.

On trouve trois types de bus :

X. LȇUnitéȱArithmétiqueȱetȱLogiqueȱ

C'est un circuit complexe qui assure les fonctions logiques (ET, OU, comparaison ...) ou arithmétiques (addition,

division, soustraction, ...). Il permet donc de traiter et tester les données. Comme l'objectif est de développer un

programme qui gère une application voulue, toute instruction qui modifie une donnée fait toujours appel à l'UAL.

Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01)

Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER14Comme indiqué sur la figure 01, l'entrée de L'UAL est connectée au bus interne par un ensemble de registres

"temporaires" et aussi par un registre particulier appelé "accumulateur" ou plus particulièrement le registre de travail

(Working Register, le Registre W). Alors que la sortie de l'UAL est connectée uniquement à l'entrée de

l'accumulateur. Il est à noter que les deux entrées sont précédées par une mémoire tampon appelée registres

tampons ou verrous. Ces registres, qui ne peuvent être manipulés par le programmeur et le sont totalement

transparents, permettent de stocker des octets aux entrées de l'U.A.L. comme l'UAL est constitué d'une logique combinatoire, elle est dépourvue de moyens propres de stockage.

Figure 01: Schéma d'une ALU.

XI. Lȇaccumulateurȱouȱleȱregistreȱdeȱtravailȱ

Le processeur utilise toujours des registres, qui sont des petites mémoires internes très rapides d'accès

utilisées pour stocker temporairement une donnée, une instruction ou une adresse. Chaque registre stocke 8,

16 ou 32 bits. Le nombre exact de registres dépend du type de processeur et varie

typiquement entre une

dizaine et une centaine. Parmi les registres, le plus important est le registre accumulateur, qui est

utilisé

pour stocker les résultats des opérations arithmétiques et logiques. L'accumulateur intervient dans une proportion

importante des instructions. C'est le registre le plus important du microprocesseur, il sert systématiquement lorsque ce dernier aura besoin de

"manipuler" des données. La plupart des opérations logiques et arithmétiques sur les données font

appel au couple "UAL - accumulateur" selon la procédure établie en figure 02 suivante: Figure 02: Procédure de fonctionnement de l'ALU. Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01)

Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER15Ce même registre de travail aussi sert pour les déplacements et les transferts des données d'un

endroit à un autre :

de mémoire à mémoire ou de mémoire à unités d'entrée-sortie (I/O). Ce type d'actions se fait en deux temps :

source vers Accumulateur et ensuite Accumulateur vers destination. Les instructions supportées par un accumulateur sont très nombreuses.

Au niveau de la programmation, il

représente une grande souplesse d'utilisation. Les autres registres du microprocesseur ne permettent que des

opérations limitées. A signaler que certains microprocesseur, possèdent des accumulateurs de longueur

double qui présentent l'avantage de : les opérations logiques et arithmétiques se font entre accumulateurs limitant ainsi les accès (transferts) avec l'extérieur. Par exemple, examinons ce qu'il se passe lorsque le processeur exécute une instruction comme ``Ajouter 5 au contenu de la case mémoire d'adresse 180'' :

Le processeur lit et décode l'instruction ;

le processeur demande à la mémoire la contenu de l'emplacement 180; la valeur lue est rangée dans l'accumulateur ; l'unité de traitement (UAL) ajoute 5 au contenu de l'accumulateur ; le contenu de l'accumulateur est écris en mémoire à l'adresse 180. C'est l'unité de commande qui déclenche chacune de ces actions dans l'ordre. L'addition proprement dite est effectuée par l'UAL. XII. L'unitéȱdeȱcommandeȱetȱdeȱcontrôleȱ

C'est l'unité de control qui supervise le déroulement de toutes les opérations au sein du processeur. Elle est

constituée principalement de :

A. lȇhorlogeȱ:ȱ

C'est l'horloge qui génère les signaux qui permettent le cadencement et la synchronisation de toutes les

opérations. Attention, l'horloge n'est pas une montre au sens commun du terme, c'est juste un signal carré qui a une fréquence fixe (3 Ghz par exemple), a chaque coup (front) d'horloge, le microprocesseur (qui

ne l'oublions pas n'est qu'un circuit électronique) réalise une tache élémentaire. L'exécution d'une

instruction nécessite plusieurs coups d'horloges.

B. LeȱcompteurȱprogrammeȱPCȱ:ȱ

Le compteur programme (PC : program counter) est un registre (pointeur) qui contient l'adresse de la case mémoire où est stockée le prochain élément d'instruction qui devra être chargé dans le processeur pour

être analysé et exécuté. Au début de l'exécution d'un programme, le PC est initialisé par le

système d'exploitation à l'adresse mémoire où est stockée la première instruction du programme. Le compteur programme est incrémenté automatiquement chaque fois qu'un élément d'instruction est chargée dans le processeur Polycopié --- cours de Microprocesseurs & Microcontrôleurs (Tome 01) Dr A. Zegaoui, UHBC ; Département d''Electrotechnique, Laboratoire GEER16 C. LeȱregistreȱdȇinstructionȱRIȱȱ C'est là où le CPU stocke l'instruction en cours d'exécution.

D. Leȱdécodeurȱȱ

C'est lui qui va "décoder" l'instruction contenue dans RI et générer les signaux logiques correspondant et

les communiquer au séquenceur.

E. Leȱséquenceurȱȱ

Il gère le séquencement des opérations et génère les signaux de commande qui vont activer tous les

éléments qui participeront à l'exécution dequotesdbs_dbs7.pdfusesText_13
[PDF] BEP EP1 - Economie et Gestion LP - Académie d'Amiens

[PDF] Cours de béton armé

[PDF] Certificat de spécialisation analyste de données massives

[PDF] Introduction à Hadoop & MapReduce - MBDS

[PDF] BD2: des Bases de Données à Big Data - MBDS

[PDF] Branche principale Biologie / Biochimie 2012-2013 2ème et 3ème

[PDF] Biochimie et biologie moleculairepdf - univ guelma

[PDF] BIOCHIMIE

[PDF] Biochimie générale : Cours et exercices corrigés PDF Télécharger

[PDF] Biochimie

[PDF] Structure des protéines

[PDF] cours biodiversitepdf

[PDF] Aide-soignant, tout le concours - Decitre

[PDF] Physique et biophysique PACES UE 3 - Decitre

[PDF] Biotechnologie alimentaire moderne, santé et développement