1 Cours Microcontrôleurs: PIC 16F877 Pr. EL AFOU Youssef elafou.youssef@gmail.c
1 Cours Microcontrôleurs: PIC 16F877 Pr. EL AFOU Youssef elafou.youssef@gmail.com Plan de la première partie du cours 2 Généralités Architecture & Familles des µCs Caractéristiques et Fonctionnalités des µC (PICs) Organisation des mémoires/Registres Configuration des ports d’entrées/sorties Généralités 3 Plusieurs Constructeurs se partagent le marché des microcontrôleurs: INTEL, MOTOROLA, AMTEL, ZILOG, PHILIPS et MICROCHIP avec ses PICs très populaires. Un µC est un circuit qui intègre un maximum de fonctions dans un même boitier. L’intégration de ces fonctions dans le même environnement permet de créer des applications. 4 Généralités Intégration 5 Les microcontrôleurs ont des architecture très similaires et sont constitués de modules fondamentaux assurant les mêmes fonctions : UAL, Ports d’E/S, interfaces de communications série, Interfaces d’E/S analogiques, Timers et horloge temps réels. On peut dire que seul le langage de programmation (Assembleurs) constitue la différence majeure en deux microcontrôleur (similaires) venant de deux constructeurs différents. 6 avec d’autres : 3 types de Le microcontrôleur est en concurrence technologies Suivants les applications technologies Logique câblée Réseaux de logique programmables (PAL, GAL, PLD, FPGA, ...) Les μprocesseurs Technologies Concurrentes 7 Logique câblée très rapide, fonctions réalisées par une voie matérielle non programmable, peu économique quand l’application est complexe peu de souplesse : durée d’étude prohibitif et circuit difficilement modifiable Réseaux de logique programmables (PAL, LCA,..) rapide, adapté au traitement de signaux complexes prix élevé et langage de programmation non standard Les μprocesseurs grande souplesse : fonctions sont réalisées par voie logicielle puissance de calcul élevée langage évolué nombre important de composant à réunir, solution onéreuse Technologies Concurrentes 8 Si la fonction à réaliser est simple ⇒une logique câblée Si le nombre d'unités à réaliser est très important ⇒circuits intégrés dédié en logique câblée Une réalisation logicielle (µP) est toujours plus lente qu'une réalisation en logique câblée Les μc = avantage des μp mais limités aux applications ne nécessitant pas trop de puissance de calcul, nombre de composant très réduit, Choix de technologies 9 Minimisation d’encombrement du matériel Simplification du tracé du circuit imprimé Consommation plus faible Le µC contribue à réduire les coûts à plusieurs niveaux: moins cher que les composants qu’il remplace Diminution des coûts de main d’oeuvre (conception et montage) Environnement de programmation et de simulation évolués Avantages des µCs 10 Défauts des microcontrôleurs Le microcontrôleur est souvent surdimensionné devant les besoins de l’application Investissement dans les outils de développement: Écrire les programmes, les tester et tester leur mise en place sur le matériel qui entoure le µC Capteur Actionneur Opérateur Interfaçage d’entrée Unité centrale de traitement Interfaçage de sortie µC Signaux analogique, Numérique et/ou logique Signaux numérique à traiter Signaux numérique traités Signaux 11 analogique, Numérique et/ou logique Exemple : Systèmes à microcontrôleur Domaines d’applications 12 Les µCs sont adaptés pour piloter les applications embarquées dans de nombreux domaines: Informatique (souris, modem …). Vidéo (Appareil photos numérique, caméra numérique …). Contrôle des processus industriels (régulation, pilotage). Appareil de mesure (affichage, calcul statistique, mémorisation) . Automobile (ABS, injection, GPS, airbag) . Multimédia (téléviseur,carte audio, carte vidéo, MP3, magnétoscope) . Téléphones (fax, portable, modem) Electroménager (lave-vaisselle, lave-linge, four micro-onde) 13 Les PICs sont des µC à architecture RISC. La famille des PICs est subdivisée en 3 grandes familles: La famille Base-Line, qui utilise des mots d’instructions de 12 bits, la famille Mid-Range, qui utilise des mots de 14 bits (16F8xx, 18Fxxx), PIC 16F877 et la famille High-End, qui utilise des mots de T >16 bits (les PIC 18Fxxx, 24F, 32F, ..). Familles des PICs Familles des PICs: identification 14 Architecture du µC (PIC) PIC 15 Boîtier PIC Plastic Leaded Chip Carrier Plastic Dual in-line Package 16 La structure interne d'un microcontrôleur comporte typiquement : ▶ Une unité de calcul et de commande ▶ Mémoire ROM ▶ Mémoire RAM ▶ Un contrôleur d’interruption ▶ Un compteur/temporisateur (Timer) ▶ Des entrées/sorties parallèles Il peut aussi posséder : ▶ Un Watchdog : (surveillance du programme) ▶ Une sortie PWM (modulation d’impulsion) ▶ Un CAN/CNA(Convertisseur analogique numérique) ▶ Une interface I²C, CAN… Architecture du µC (PIC) Structure interne du PIC 16F877 : Une mémoire programme de type EEPROM flash de 8K mots de 14 bits, Une RAM donnée de 368 octets, Une mémoire EEPROM de 256 octets, 05 ports d'entrée sortie,A(6 bits), B (8 bits), C (8 bits), D (8 bits) et E (3 bits) ConvertisseurAnalogiques numériques 10 bits à 8 entrées sélectionnables, USART, Port série universel, mode asynchrone (RS232) et mode synchrone SSP , Port série synchrone supportant I2C Trois TIMERS; TMR0, TMR1, TMR2 Deux modules de comparaison et Capture CCP1 et CCP2 et PWM 15 sources d'interruption, Générateur d'horloge, à quartz (jusqu’à 20 MHz) Protection de code, Tension de fonctionnement de 2 à 5V , Jeux de 35 instructions 16F877 17 Architecture du µC (PIC) Architecture: PIC 16F87X 18 µContrôleur avancé / GMSA 2 22 PIC 16F877/874 Architecture du µC (PIC 16F8XX) 20 Tailles des bus Bus Mémoire Données Bus addresses: 9 bits (512 octets) Bus données: 8 bits (taille des données) Bus Mémoire Programme Bus adresses : 13 bits (8k instructions) Bus données : 14 bits (taille d’une instruction) Architecture de µC Programmer un µC 21 µContrôleur avancé / GMSA 2 25 PIC 16F877 PINOUT Description PIC 16F877: description des pins (suite) 23 PIC 16F877: description des pins (suite) 24 Architecture PIC 16F8XX 25 Mémoires: ▶Les mémoires internes Il existe trois types de mémoire : RAM pour les registres internes et les données EEPROM de données ; EEPROM FLASH programme (données aussi) Architecture PIC 16F8XX 26 de 1 octet ▶Organisation de la mémoire RAM RAM adressable de 512 positions chacune : 96 positions sont réservées au SFR (Special Function Registers) qui sont les registres de configuration du PIC. Les 416 positions restantes constituent les registres GPR (General Propose Registers) ou RAM utilisateur. Remarque: Sur le 16F877, 3 blocs de 16 octets chacun ne sont pas implantés physiquement d’où une capacité de RAM utilisateur de 368 octets. PIC avancé / GMSA 2 30 Organisation de la mémoire RAM µContrôleur avancé / GMSA 2 31 Organisation de La mémoire RAM µContrôleur avancé / GMSA 2 32 Organisation de La mémoire RAM Microcontrôleur PIC 16F87X 30 Accès à la mémoire RAM :deux modes d'adressage Adressage DIRECT Dans l'instruction la valeur de l'adresse à laquelle on veut accéder. Adressage des registres de la RAM sur 7 bits (128 registres), mais l'espace mémoire de 4 bancs de 128 registres. 9 bits pour adresser 512 octets. Le PIC complète les 7 bits par deux bits du registre STATUS(RP0 et RP1) Registre d’Etat Au reset : STATUS = 00011XXX Organisation de La RAM 31 Bit 7 : IRP = permet la sélection des pages en adressage indirect. Pour la PAGE 0 (de 00 à 7F) et la PAGE 1 (de 80 à FF) ce bit doit être laissé à "0". Mis à "1" il permettra d'atteindre la PAGE 3 (de 100 à17F) et la PAGE 4 (de 180 à 1FF). Registre d’Etat (STATUS) Bits 6 et 5 : RP1 et RP0 = permettent la sélection des pages en adressage direct. Organisation de La RAM 32 Adressage INDIRECT L'adressage indirect est possible en passant par un registre virtuel (INDF) dont l'adresse est contenue dans le registre FSR (File Select Register) et le bit IRP du registre STATUS. Microcontrôleur PIC 16F877 36 ▶Mémoire Programme Stack : Pile dans laquelle est sauvegardé l’état du microprocesseur (PC,W) lors d’appel à sous-programmes ou d’interruptions. Vecteur Reset : contient l’adresse de début de programme (2 octets) Interrupt Vector : contient l’adresse du début de programme d’interruption quand on utilise les interruptions. Page : zone de mémoire contenant des registres de configuration, des données variables ou du programme Les registres internes (16F8XX) 37 Registre d’Etat (Adresse 03h, 83h, 103h, 183h) Bit 4 : TO = Time Out bit. Bit en lecture seulement. 1 = Après une mise sous tension, après une RAZ du watchdog (CLRWDT) ou bien après l'instruction SLEEP . 0 = Signifie qu'un Time Out du timer de watchdog est survenu. Bit 3 : PD = Power Down bit. 1 = Après une mise sous tension ou bien après une RAZ du Watchdog. 0 = Après l'instruction SLEEP . Bit 2 : Z = Zero bit. 1 = Le résultat d'une opération arithmétique ou logique est zéro. 0 = Le résultat d'une opération arithmétique ou logique est différent de zéro. Les registres internes (16F8XX) 35 Bit 1 : DC = Digit Carry bit. 1 = Une retenue sur le 4eme bit des poids faible est survenue après les instructions : ADDWF etADDL W . 0 = Pas de retenue sur le 4eme bit des poids faible. Bit 0 : C = Carry bit. 1 = Une retenue sur le bit MSB est survenue après les instructions ADDWF et ADDLW. 0 = Pas de retenue sur le bit MSB. Registre d’Etat (Adresse 03h, 83h, 103h, 183h) Les registres internes (16F8XX) 36 OPTION REGISTER (OPTION-REG) : h'81' ou h'181'. Ce registre en lecture et en écriture, contient un nombre uploads/Management/ c-avance-2022.pdf
Documents similaires
-
20
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 02, 2022
- Catégorie Management
- Langue French
- Taille du fichier 5.1580MB