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 IndustrielleMaî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 GEER3II.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 GEER4XXII.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 GEER5XLV.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 GEER6II. 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) estinventé 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 GEER7du 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 20Equivalences
de puissances de 2 en décimal 65536 32768 16384 8192 4096 2048 1024 512 128 64 32 16 8 6 4 2 1Positions des
bits dans le nombre (poids du bit) b16 b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0Donnée su 2
bits x xDonnée sur 4
bits (quartet) x x x xDonnée sur 8
bits (Octet) x x x x x x x xDonné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 GEER8nombre 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 GEER9B'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 11 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 + 5B '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'ilsrepré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 NOTB'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 111Polycopié --- 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 titred'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 111 0 1
111Le 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 110Cette 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 parseconde 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 unedizaine 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 desopé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 (quine 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] 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