Programmation des Microcontroleurs (PIC) EL MORNAN Page 1 SOMMAIRE 1)Architectu
Programmation des Microcontroleurs (PIC) EL MORNAN Page 1 SOMMAIRE 1)Architecture interne d’un système à microprocesseur 2)Le microcontrôleur16F84 3)Jeux d'instructions des PIC 4) Bits (ou "fusibles") de configuration 5)Les interruptions 6)Le mode SLEEP 7)Le timer WATCHDOG (chien de garde) 8)Accès à la mémoire EEPORM 9) Remarques et astuces de programmation en assembleur 10) Les étapes nécessaires pour programmer un pic : 11) Exemples en assembleur avec 16F84 12) Simulation d’un PIC sous Proteus 13) Circuits d’interfaces avec le microcontrôleur 14) Pic 16F877 : Programmation des Microcontroleurs (PIC) EL MORNAN Page 2 1. Architecture interne d’un système à microprocesseur L'architecture interne d'un ordinateur se compose essentiellement de trois blocs: le microprocesseur, la mémoire et les entrées/sorties reliées entre elles par trois bus de communication; le bus de données, le bus d’adresses et le bus de commande. Bus de données (8 lignes) Mémoire Unité centrale de traitement microprocesseur Entrées/Sorties Bus de contrôle Bus d'adresses Figure 1-1 Architecture interne d’un ordinateur 1.1.1 Le microprocesseur Un microprocesseur est l'implantation en un seul boîtier, en technologie LSI ou VLSI, d'une unité centrale de traitement de données CPU et d’une unité arithmétique et logique ALU. Son principal travail est de fournir aux autres éléments, qui lui sont raccordés, la synchronisation nécessaire et fonctionnelle du traitement des informations qui lui sont acheminées. 1.1.2 La mémoire C'est la partie où l'on retrouve les programmes exécutables et les données à traiter. Cette section est subdivisée en deux; d'une part, il y a la mémoire latente et d'autre part, la mémoire vive. Mémoire morte C'est la mémoire de lecture; elle contient le programme du système. L'avantage de la ROM (Read Only Memory), c’est d'être permanente; son contenu ne disparaît pas quand le système n'est plus alimenté. La ROM contient toujours un programme de chargement initial ou un moniteur pour permettre le fonctionnement du système dès la mise sous tension. Dans un contexte de contrôle de processus, presque tous les programmes résideront en ROM car ils seront rarement changés et devront être protégés des pannes d'alimentation. Mémoire vive C'est la mémoire de lecture et d’écriture du système ou RAM (Random Access Memory). Le contenu de ce type de mémoire est perdu lorsque l'on coupe l'alimentation. La mémoire vive (RAM) doit être chargée, avant utilisation, à partir du clavier ou à partir d’une mémoire de masse comme, par exemple, une unité à ruban magnétique ou une unité à disque. Programmation des Microcontroleurs (PIC) EL MORNAN Page 3 1.2 Les entrées/sorties Les entrées/sorties sont nécessaires pour que le microprocesseur communique avec le monde extérieur et, évidemment, avec l'utilisateur. Il serait tout à fait inutile de réaliser un ordinateur sans qu'il y ait quelques entrées et quelques sorties afin de communiquer avec l'extérieur. 1.3 Les bus de communication Évidemment, pour que le système fonctionne, il doit y avoir une communication entre le microprocesseur, la mémoire et les entrées/sorties. Cette communication est réalisée à l'aide de trois bus qui regroupent les signaux, selon leur fonction. 1.3.1 Le bus de données C'est un bus bidirectionnel sur lequel transitent les données échangées par les éléments du système. 1.3.2 Le bus d’adresses Il s'agit d'un bus unidirectionnel, émanant du microprocesseur et se propageant vers les dispositifs qu'il peut adresser. L'adresse qu'il porte permet d'atteindre une case mémoire ou un registre spécifique avec laquelle une opération est désirée. 1.3.3 Le bus de contrôle C'est un groupe de lignes issues de ou allant vers le microprocesseur et reliant ce dernier à d'autres dispositifs. Son rôle est de véhiculer les signaux destinés à assurer la synchronisation et la commande de l'ensemble du système. Par exemple, la ligne Reset et R/W (lecture/écriture), les lignes d'interruptions et l'horloge appartiennent à ce bus. 2. Les microcontrôleurs : 2.1 Généralités : Un microcontrôleur se présente comme étant une unité de traitement de l’information de type microprocesseur contenant tous les composants d’un système informatique, à savoir, microprocesseur, des mémoires et des périphériques (ports, timers, convertisseurs…). Chaque fabricant a sa ou ses familles de microcontrôleurs. Une famille se caractérise par un noyau commun (le microprocesseur, le jeu d’instruction…). Ainsi les fabricants peuvent présenter un grand nombre de pins qui s’adaptent plus au moins à certaines tâches. Mais un programmeur connaissant une famille n’a pas besoin d’apprendre à utiliser chaque membre, il lui faut connaître juste ces différences par rapport au père de la famille. Ces différences sont souvent, la taille des mémoires, la présence ou l’absence des périphériques et leurs nombres Programmation des Microcontroleurs (PIC) EL MORNAN Page 4 2.2 Les avantages du microcontrôleur : L’utilisation des microcontrôleurs pour les circuits programmables à plusieurs points forts et bien réels. Il suffit pour s’en persuader, d’examiner la spectaculaire évolution de l’offre des fabricants de circuits intégrés en ce domaine depuis quelques années. Tout d’abord, un microcontrôleur intègre dans un seul et même boîtier ce qui, avant nécessitait une dizaine d’éléments séparés. Il résulte donc une diminution évidente de l’encombrement de matériel et de circuit imprimé. Cette intégration a aussi comme conséquence immédiate de simplifier le tracé du circuit imprimé puisqu’il n’est plus nécessaire de véhiculer des bus d’adresses et de donnée d’un composant à un autre. Le microcontrôleur contribue à réduire les coûts à plusieurs niveaux : - Moins cher que les autres composants qu’il remplace. - Diminuer les coûts de main d’œuvre. Réalisation des applications non réalisables avec d’autres composants 2.3 Contenu d’un microcontrôleur : Un circuit microcontrôleur doit contenir dans un seul boîtier tous Les éléments de bases, nous y retrouvons bien évidemment l’unité centrale qui est plus simplifiée par rapport à celle du microprocesseur. En contre partie, des instructions de manipulation de bits, très utiles pour faire des entrées/sorties lui ont été ajoutées. Dans certains circuits, cette unité centrale se voit dotée d’un très grand nombre de registres internes qui servent alors de mémoire vive. 2.4 Organisation de la mémoire Architecture Von Neumann : une mémoire unique et pour le programme et pour les données. Architecture Harvard : le programme et les données sont stockés dans des mémoires physiquement séparés 2.5 Qu'est-ce qu'un PIC ? Un PIC est un microcontrôleur de chez Microchip. Ses caractéristiques principales sont : Séparation des mémoires de programme et de données (architecture Harvard) : On obtient ainsi une meilleure bande passante et des instructions et des données pas forcément codées sur le même nombre de bits. Communication avec l'extérieur seulement par des ports : il ne possède pas de bus d'adresses, de bus de Programmation des Microcontroleurs (PIC) EL MORNAN Page 5 données et de bus de contrôle comme la plupart des microprocesseurs. Utilisation d'un jeu d'instructions réduit, d'où le nom de son architecture : RISC (Reduced Instructions Set Construction). Les instructions sont ainsi codées sur un nombre réduit de bits, ce qui accélère l'exécution (1 cycle machine par instruction sauf pour les sauts qui requirent 2 cycles). En revanche, leur nombre limité oblige à se restreindre à des instructions basiques, contrairement aux systèmes d'architecture CISC (Complex Instructions Set Construction) qui proposent plus d'instructions donc codées sur plus de bits mais réalisant des traitements plus complexes. Il existe trois familles de PIC : - 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 Un PIC est identifié par un numéro de la forme suivant : xx(L)XXyy –zz - xx : Famille du composant (12, 14, 16, 17, 18) - L : Tolérance plus importante de la plage de tension - XX : Type de mémoire de programme C -EPROM ou EEPROM CR - PROM F -FLASH - yy : Identification - zz : Vitesse maximum du quartz Nous utiliserons un PIC 16F84 –10, soit : - 16 : Mid-Line - F : FLASH - 84 : Type - 10 : Quartz à 10MHz au maximum .Il s'agit d'un microcontrôleur 8 bits à 18 pattes. Principales caractéristiques : - 35 instructions - Instructions codées sur 14 bits - Données sur 8 bits - 1 cycle machine par instruction, sauf pour les sauts (2 cycles machine) - Vitesse maximum 10 MHz soit une instruction en 400 ns (1 cycle machine = 4 cycles d'horloge) - 4 sources d'interruption - 1000 cycles d'effacement/écriture pour la mémoire flash Brochage et fonction des pattes La Figure montre le brochage du circuit. Les fonctions des pattes sont les suivantes :- VSS, VDD : - OSC1,2 : - RA0-4 : - RB0-7 : - T0CKL : - INT : - MCLR : Figure: Brochage du circuit Programmation des Microcontroleurs (PIC) EL MORNAN Page 6 2.6 Architecture générale Figure : Architecture générale du PIC 16F8X. La Figure présente l’architecture générale du circuit. Il est constitué des éléments suivants : - un système d’initialisation à la mise sous tension (power-up timer, …) - un système de génération d’horloge à partir du quartz externe (timing génération) - une unité arithmétique et logique (ALU) - une mémoire flash de programme de 1k « mots » de 14 bits - un compteur de programme (program counter) uploads/Management/ programmation-des-microcontroleurs.pdf
Documents similaires










-
50
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 21, 2022
- Catégorie Management
- Langue French
- Taille du fichier 4.6621MB