Un microcontrôleur est un Circuit intégré. qui rassemble les éléments essentiel

Un microcontrôleur est un Circuit intégré. qui rassemble les éléments essentiels d'un ordinateur : • Processeur • Mémoires • Unités périphériques et interfaces d‘E/S Définition Du µprocesseur au µcontroleur • Pour réaliser un système (micro computer) minimum, il • faut ajouter au microprocesseur les éléments suivants : • Mémoire de programme ROM. • Mémoire de données RAM. • Circuits d’Entrées/Sorties. • Les microcontrôleurs améliorent l'intégration et le coût (lié à la conception et à la réalisation) d'un système à base de microprocesseur • Microcontrôleur = Microprocesseur + Ram + Rom + E/S • Un microcontrôleur est donc un composant autonome, • Les microcontrôleurs peuvent fonctionner sans l’addition de circuits externes Du µprocesseur au µcontroleur Caractéristique d’un µcontrôleur • Circuit imprimé peu complexe • Faible consommation • Coût réduit • Encombrement réduit • Programmation nécessitant un matériel adapté • une vitesse de fonctionnement et taille mémoire plus faible par rapport aux microprocesseurs Application • Informatique et télécommunication (souris, modems…) • Contrôle de processus industriels (régulation, pilotage) • Vidéo (Appareil photos et caméra numériques…), • Multimédia (téléviseur, carte audio, carte • vidéo,MP3,…) • Systèmes embarqués, comme les contrôleurs des moteurs automobiles (ABS, injection,GPS, airbag), • les télécommandes, jouets, la téléphonie mobile,… La société Américaine Microchip Technologie a mis au point dans les années 90 un microcontrôleur CMOS : le PIC (Peripheral Interface Controller). Ses caractéristiques principales sont : Architecture RISC : Reduced Instruction Set Computer - Jeu d’instruction réduit - instruction et opérande codés sur un seul mot - Toutes les instructions (hors saut) sur un cycle machine Architecture Harvard : -Le programme et les données sont stockées dans des mémoires physiquement séparées. Les pics de microChips MICROCONTROLEUR Architecture interne Mémoire flash : C'est une mémoire réinscriptible qui conserve ses données lorsque la PIC n'est pas alimentée. Elle est utilisée pour stocker le programme. Mémoire RAM : C'est une mémoire volatile. Les variables utilisées au cours du programme sont stockées à cet endroit. Unité de Calcul : C'est là où se déroulent toutes les opérations à une vitesse définie par la fréquence d'horloge. registre temporaire W : C'est ici qu'est stockée la valeur nécessaire pour une opération de l'unité de calcul. Ports E/S ( Entrées/Sorties ) : Ce sont les unités qui font le lien entre ce qui se passe à l'intérieur du PIC et l'extérieur. Modules annexes : Toutes les fonctions annexes (timers, comparateurs, convertisseurs analogiques/numériques ...) Les différents familles de pic • Base-line (Les instructions sont codées sur12 bits) - PIC 10 - PIC 12 - Certains PIC12F & PIC16F • Mid-range (Les instructions sont codées sur 14 bits) - La plupart des PIC 16 - Certains PIC12F • High-end (Les instructions sont codées sur 16 bits) - PIC 17 - PIC 18 Références des Microchips µcontrôleur 16f877 • Le numéro 16 signifie qu'il fait partie de la famille "MID-RANGE". C'est la famille de PIC qui travaille sur des mots de 14 bits. • La lettre F indique que la mémoire programme de cette PIC est de type "Flash". • Les derniers chiffres permettent d'identifier précisément la PIC, ici c'est une PIC de type 877. • La référence 16F877 peut avoir un suffixe du type "-XX" dans lequel XX représente la fréquence d'horloge maximale que la PIC peut recevoir. Notion de bases: Les mémoires • RAM:Random Access Memory). Ce type de mémoire est volatile, cela veut dire que les données qu'elle contient seront perdues si l'alimentation en électricité s'arrête. • ROM(Read Only Memory), cela veut dire que la mémoire n'efface pas les données qu'elle contient lorsqu'elle n'est plus alimentée en électricité, ce sont des mémoires NON volatiles. • EPROM:(Erasable Programmable Read Only Memory). Ce type de mémoire est effaçable par exposition aux ultraviolets. • EEPROM:(Electrically Erasable Programmable Read Only Memory). Ce type de mémoire est effaçable électriquement. • FLASH:ce sont une variété de mémoire EEPROM mais plus rapide, ce type de mémoire peut se faire effacer par secteur complet. Architecture interne16f877 Les éléments essentiels du pic • Une mémoire programme de type Flash de 8K mots de 14 bits • Une RAM Donnée 368 octets • Cinq port d’entrée sortie A( 6bits),B(8bits),C(8bits),D(8bits) et E(3bits). • Convertisseur analogique numériques(CAN) 10 bits à 8 canaux • USART:Port série universel, mode asynchrone(RS232) et mode synchrone • Trois TIMERS:TMR0,TMR1,TMR2 • Deux modules de comparaison et capture CCP1 ET CCP2 • Fonctionnement en mode sleep pour réduction de la consommation Architecture externe Exemple d’application Configurer les entrées et sorties Exemple d’application RB1:SORTIE RB5: entrée Comment dire ça au microcontrôleur ??? C’est le rôle des registres TRISX TRISA,TRISB,TRISC….. Bank 1 -bit i =0 le bit i de portB est configuré en sortie -bit i=1 Le bit i de portB est configuré en entrée Entrée sortie À l’aide des jeux d’instructions BCF TRISB,RB1 ; RB1 est une sortie BSF TRISB,RB5 ; RB2 est une entrée Notant au démarrage le microcontrôleur pointe sur le bank0,mais le TRISB se trouve dans le bank1 C’est le rôle des bits RP0 et RP1 du registre STATUS BCF STATUS,RP1 ; BSF STATUS,RP0 ; Le programme principale: BCF STATUS,RP1 BSF STATUS,RP0 BCF TRISB,RB1 ; configuré en sortie BSF TRISB,RB5 ; configuré en entrée BCF STATUS,RP0 ; retour au bank0 BCF PORTB,RB1 BTFSC PORTB,RB5 ; test du RB5 GOTO LABEL1 BSF PORTB,RB1 GOTO LABEL2 LABEL1 LABEL2 Accès au bank0 Sous-programme et temporisation Sous programme 1. Définition Un sous programme est une séquence d’instructions chargé d’effectuer un traitement particulier. • Les sous programmes permettent ainsi de décomposer un programme en plusieurs sous parties 2. Structure …….. …….. …….. CALL X …….. CALL X ……. Programme principal X ………….. …………… ………….. RETURN Sous-programme CALL: instruction d’appel du sous- programme RETURN: instruction de retour du sous- programme 3.Avantages • Un sous-programme permet de réduire la taille d’un programme. En effet, il évite de répéter plusieurs fois une mêmes séquences d’instructions • Un sous programmes permet de simplifier la réalisation et la mise au pont du programme Temporisation • Il s’agit de réaliser ici une temporisation logicielle et de l ’associer à un sous- programme ’’Tempo’’ Tempo MOVLW 0xFF; NFF MOVWF N Loop DECFSZ N,f ; décrémenter N et tester si N=0 GOTO loop ;sinon retour à l’étiquette ‘loop’ RETURN ;si oui retour au programme principal SSOUS- PROGRAMME Tempo NFF NN-1 N=0 retour NON Appel du programme par CALL tempo • Calculé la durée de temporisation La fréquence de l’horloge interne est le quart de celle de l’oscillateur,soit f=FOSC/4 ainsi pour FOSC=4MHz, f=1 MHz et TC=1 µs(cycle d’instruction) Nombre de cycle du sous programme de temporisation = 1+1+255(1+2)+2=769 cycles Soit avec un quartz de 4 MHz, une durée de T=769 µs Tempo MOVLW 1 MOVWF N 1 Loop DECFSZ N,f 1(2) GOTO loop 2 RETURN 2 Le module Timer 0 • Le timer est un compteur de 8 bits Configuration • Timer 0 est configuré par le registre OPTION_REG • L’horloge de Timer 0 peut étre interne ou externe • T0CS=0horloge interne du microcontroleur(de fréquence FOSC/4):mode timer • T0CS=1horloge externe appliqué à la broche RA4:mode compteur On peut utiliser le prédiviseur de fréquence PSA=0le prédiviseur est affecté à Timer 0 PSA=1le prédiviseur n’est pas affecté à Timer0 Le facture de division de la fréquence est fixé par les bits PS2,PS1 et PS0 PS1 PS2 PS3 000 001 010 011 100 101 110 111 Division de fréquence 2 4 8 16 32 64 128 256 TMR0 en mode timer Dans ce mode Timer0 est piloté par l’horloge interne du microcontrôleur et sert de temporisateur Durée e temporisation maximale(pour un oscillateur de quartz de FOSC=4MHZ) Horloge interneTosc=0 Prédivision maximale de 256  PSA=0 et PS1 PS2 PS3=111 La valeur de départ nulle du timerTMR0=0(TMR0 est un registre associé au timer0) Au départ TMR0=0 LE TIMER déborde au bout de 256 périodes soit au bout d’une durée de 256x256µ=65,536 ms Option_reg RBPU INTEDG TOCS TOSE PSA PS1 PS2 PS3 - - 0 - 0 1 1 1 /4 Prédiviseur Timer0 Tc=1 Fosc=4 MHZ Tc=256 • Temporisation par scrutation du débordement du timer Au débordement de timer 0(passage de FF à 00 soit après 256 impulsions),le bit indicateur T0IF du registre INTCON passe 1 INTCON GIE PEIE TOIE INTE RBIE T0IF INTF RBIF ….. MOVLW 0X07 ;configurer TMR0 par option_reg MOVWF OPTION_REG …… CLRF TMR0 ;Valeur de départ de TMR0 BCF INTCON,T0IF ;Baisser le drapeau cad T0IF=0 BTFSS INTCON,T0IF ;tester si T0IF=1 GOTO attente ;sinon revenir à attente RETURN ;si oui retour au programme principal Tempo Attente D’une façon générale, la durée de temporisation s’écrit T=TC.Prédiviseur.(256-TMR0) • Exercice: On désire une temporisation de 10 ms,trouver le mot de configuration(option_reg) et la valeur initiale de TMR0,on donne Fosc=4MHZ Tc=1µs Si on prend prédiviseur=64,le mot de configuration sera: T=TC.Prédiviseur.(256-TMR0),on trouve TMR0=100 Option_reg RBPU INTEDG TOCS TOSE PSA PS1 PS2 PS3 - - 0 - 0 1 1 1 • TMR0 en mode compteur Dans ce mode,Timer0 est piloté par une horloge externe(relié à la broche RA4) est sert de compteur d’évènements Exercice On désire compter le nombre d’actions sur le capteur Trouver le mot de configuration du timer. Ranger la valeur de comptage en uploads/Management/ micro-control-eur-1 1 .pdf

  • 12
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Aoû 26, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 2.8883MB