4éme A3 Leçon A3-2 : LES MICROCONTRÖLEURS I- Rappel et mise en situation : 1- D

4éme A3 Leçon A3-2 : LES MICROCONTRÖLEURS I- Rappel et mise en situation : 1- Définition : Un microcontrôleur se présente sous la forme d’un circuit intégré réunissant tous les éléments d’une structure à base de microprocesseur Donc il fonctionne de façon autonome au sein d’une application. w Des timers pour générer ou mesurer des signaux avec une grande précision temporelle, w Des convertisseurs analogique / numérique pour le traitement de signaux analogiques. 1 CPU Architecture générale d'un microcontrôleur 1.1.1.1 2-Structure interne : Généralement on trouve à l’intérieur d’un microcontrôleur : w Un microprocesseur (C.P.U.), w Une mémoire de donnée (RAM et EEPROM), w Une mémoire programme (ROM, OTPROM, UVPROM ou EEPROM), w Des interfaces parallèles pour la connexion des entrées/sorties, w Des interfaces séries (synchrone ou asynchrone) pour le dialogue avec d’autres unités, CHAPITRE A3 4ème SC.Tech LOGIQUE PROGRAMMÉE Lycée Elguettar 4éme A3 3- Caractéristiques : Caractéristiques 16F628A 16F88A 16F876A 16F877A Mémoire programme (octets) 2048 4096 8192 8192 Mémoire SRAM (octets) 224 368 368 368 Mémoire EEPROM (octets) 128 256 256 256 Entrées/Sorties 16 (2ports) 16 (2ports) 22 (3ports) 33 (5ports) Fréquence d’horloge (MHz) 20 20 20 20 Sources d’interruptions 10 12 14 15 Timer (TMR)/Compteur TMR0 (8 bits) TMR1(16bits) TMR2 (8 bits) TMR0 (8 bits) TMR1 (16 bits) TMR2 (8 bits) TMR0 (8 bits) TMR1 (16 bits) TMR2 (8 bits) TMR0 (8 bits) TMR1 (16 bits) TMR2 (8 bits) Convertisseur analogique/numérique (ADC) - 1 ADC 10bits 7 canaux 1 ADC 10bits 5 canaux 1 ADC 10bits 8 canaux Tension de référence interne Oui Oui Oui Oui CCP 1 1 2 2 Comparateur analogique 2 2 2 2 Ecriture et lecture en mémoire programme - Oui Oui Oui SSP (Synchronous Serial port) :  SPI (Serial Peripheral Interface)  I²C (Inter Integrated Circuit Bus) - Maître ou esclave Esclave Maître ou esclave Esclave Maître ou esclave Esclave USART (SCI) Oui Oui Oui Oui PSP (Parallel Slave Port) - - - 8 bits Jeux d’instructions 35 35 35 35 Nombre des broches 18 18 28 40 4- Les registres de configuration et de contrôle : STATUS IRP RP1 RP0 TO PD Z DC C 0001 1xxx OPTION_REG RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x PIE1 PSPIE ADIE RCIE TXIE SSPIE CCP1IE TMR2IE TMR1IE 0000 0000 PIR1 PSPIF ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF 0000 0000 PIE2 N.I. Réservé N.I. EEIE BCLIE N.I. N.I. CCP2IE -r-0 0--0 PIR2 N.I. Réservé N.I. EEIF BCLIF N.I. N.I. CCP2IF -r-0 0--0 EECON1 EEPGD — — — WRERR WREN WR RD x--- x000 TXSTA CSRC TX9 TXEN SYNC — BRGH TRMT TX9D 0000 -010 RCSTA SPEN RX9 SREN CREN ADDEN FERR OERR RX9D 0000 000x CCPxCON — — DCxB1 DCxB0 CCPxM3 CCPxM2 CCPxM1 CCPxM0 --00 0000 T1CON — — T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON --00 0000 T2CON — TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 SSPCON WCOL SSPOV SSPEN CKP SSPM3 SSPM2 SSPM1 SSPM0 0000 0000 SSPCON2 GCEN ACKSTAT ACKDT ACKEN RCEN PEN RSEN SEN 0000 0000 SSPSTAT SMP CKE D/A P S R/W UA BF 0000 0000 CCP1CON — — CCP1X CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M0 --00 0000 RCSTA SPEN RX9 SREN CREN ADDEN FERR OERR RX9D 0000 000x CCP2CON — — CCP2X CCP2Y CCP2M3 CCP2M2 CCP2M1 CCP2M0 --00 0000 ADCON0 ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE — ADON 0000 00-0 ADCON1 ADFM — — — PCFG3 PCFG2 PCFG1 PCFG0 0--- 0000 TRISx 1111 1111 II- Programme en langage évolué : 2 4éme A3 Un langage évolué de programmation est une notation conventionnelle destinée à formuler des algorithmes afin de produire des programmes informatiques qui les traduisent. Démarche : Cahier des charges Algorithme Programme Compilation Chargement (fichier.hex dans µC) Simulation Mise en œuvre (Logiciel ISIS) (µC) 1- Structure d’un programme : Un programme est un texte que le compilateur va le traduire en fichier hexadécimal, pour cela il doit avoir une structure particulière. Le texte d’un programme doit contenir au moins trois parties : Entête : constituée d’une seule ligne, commençant par le mot «Program» suivi du« nom_programme ».  Déclarations (variables, constantes).  Corps du programme : commence par « Begin » et se termine par « End. » 2- Les Types de variables utilisées en Mikropascal : Voir manuel de cours page 126 3- Les opérations arithmétiques et logiques : Voir manuel de cours page 126 4- Les bases du compilateur Mikropascal :  Le décimal: A=15 ;  L’hexadécimal : A=…..… ; ou A=…………. ; Le binaire :A=………… 5- Configuration des ports : 3 Langage Algorithmique Langage Mikropascal Algorithme nom algorithme ; Variables nom_variable : type ; Constantes nom_constante : type = valeur ; Début Instruction1 ; …………………… ; Fin. Program nom_programme ; Var nom_variable : type ; Const nom_constante : type = valeur ; Begin Instruction1 ; …………………… ; End. 4éme A3 MODE ANALOGIQUE ET MODE NUMÉRIQUE : - Le Port A est un Port multiplexé en mode analogique (AN) et en mode numérique (logique) noté (RA) : - Une entrée en mode logique : noté (RA) : peut prendre l’état 0 ou 1 - Une entrée en mode analogique : noté (AN) : peut prendre une tension continue variable de 0 à 5V. - Les entrées multiplexées en mode logique et analogique sont : RA0/AN0; RA1/AN1; RA2/AN2 et RA3/AN3 pour le PIC16F628A. - Par défaut les broches du PortA sont initialisées en mode ………………………………….. - Pour PIC16F628A : Pour initialiser les broches du PortA en mode logique on doit configurer le registre …………………………….. et écrire dans le programme : CMCON :=7 ; - Pour PIC16F876A ou PIC16877A : Pour initialiser les broches du PortA en mode logique en doit configurer le registre …………………………….. et écrire dans le programme : ADCON1 :=6 ; - Pour PIC16F84A : les broches du PortA sont non multiplexées et ils sont en mode……………… EVALUATION N°1 : Compléter la déclaration des variables en respectant le montage ci-dessous : Déclaration des variables Commentaire Montage à base d’un PIC E0 : sbit at porta.0; E1 : sbit at RA1_bit; ……………………………; E3 : sbit at RA3_bit; S0 : sbit at RB0_bit; ……………………………; ……………………………; S3 : sbit at PortB.3; // bouton E0 est branché à RA0 // ………………………………… // bouton E2 est branché à RA2 // ………………………………… // Lampe S0 est branché à RB0 // ………………………………. // Lampe S2 est branché à RB2 // ……………………..………….. EVALUATION N°2 : 1/ Configurer le PortA en entrée ou en sortie ou non utilisé en respectant le montage : PortA (8bits) RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 …… …… …… …… …… …… …… …… Le registre TRISA permet de configurer le PORTA en entrée ou en sortie : Si TrisA.i :=….. alors PortA.i est …………… Si TrisA.i := ….. alors PortA.i est ………….. 2/ Déduire la valeur du registre TRISA en binaire, en décimal et en hexadécimal : TrisA := ……………………………; // en binaire TrisA := ……. ; // en décimal TrisA := ………. ; // en hexadécimal ou bien TrisA :=……………. ; 3/ Configurer le PortB en entrée ou en sortie ou non utilisé en respectant le montage : PortB (8bits) RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 …… …… …… …… …… …… …… …… Le registre TRISB permet de configurer le PORTB en entrée ou en sortie Si TrisB.i :=… alors PortB.i est ……………. Si TrisB.i := … alors PortB.i est …………….. 4/ Déduire la valeur du registre TRISB en binaire, en décimal et en hexadécimal : TrisB := ………………………….. ; // en binaire TrisB :=…….. ; // en décimal TrisB := ……… ; // en hexadécimal ou bien TRISB :=…………… ; 6- Les structures usuelles : 4 Activité : Réaliser l’activité pratique N°1 dans le manuel d’activités page 85..89 4éme A3 a- Structures alternatives (conditionnelles) : - - Voir manuel de cours page 127 b- Structure répétitive: - Voir manuel de cours page 128 - Compteur modulo 10 : Compléter le programme suivant et testez-le sur la maquette d’expérimentation : Version 2 program compteur10; var i : byte; begin trisb:= ………… ; Portb:= ……….. ; while true do begin STRUCTURE: FOR .. DOWNTO .. DO : Langage Graphique Langage algorithmique Langage mikropascal POUR n variant de valeur_finale JUSQU’A valeur_initiale FAIRE DEBUT Action ; FIN ; FINFAIRE ; FOR n :=valeur_finale DOWNTO valeur_initiale DO BEGIN Action ; END; END ; Parcourir des nombres : dans l'ordre décroissant, cette structure utilisée dans le cas d’un décomptage Nombre de parcours : valeur_finale – valeur_initiale + 1 c- Procédure prédéfinie: PROCÉDURE INC ( ) ; L’ instruction N :=N+1 peut être remplacée par la procédure prédéfinie INC Prototype Procedure Inc (var p : longint); Description Incrémenter p par 1. Exemple p := 4; // p =4 Inc(p); // p = 5 PROCÉDURE DEC ( ) ; L’ instruction N :=N-1 peut être remplacée par la procédure prédéfinie DEC Prototype Procedure Dec (var p : longint); Description décrémenter p par 1. Exemple p := 4; // p =4 Dec(p); // p = uploads/Philosophie/ model-cours-copie.pdf

  • 48
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager