Département de Génie Electrique Filière d'Automatique /4 1 Programmation But du

Département de Génie Electrique Filière d'Automatique /4 1 Programmation But du TP: Ce TP permet en premier temps d en C nécessaire pour la programmation en deuxième temps d’apprendre à programmer le timer0 Manipulation 1 : Suivez les étapes de création d’un nouveau projet CodeWizardAVR apparait : -Changer le type de la puce à Atiny2313V fréquence horloge à 8Mhz (1-2) -Cliquer sur l’anglet Timers -De la bar du menu sélectionner File -Continuer à suivre les étapes décrites dont le contenu est généré automatiquement par VCR Wizard. Micro-processeurs et Micro-Contrôleurs 3ème année Licence TPN°10 Programmation du TIMER/counter0 en mode normal en premier temps d’apprendre à générer automatiquement le code source programmation du Timer0 du microcontrôleur en deuxième temps d’apprendre à programmer le timer0 en mode normal création d’un nouveau projet. Et lorsque la fenêtre Atiny2313V , la 2). -Cocher devant - Overflow interrupt - Compare Match A interrupt - Compare Match B interrupt De la bar du menu sélectionner FileGenerate, Save and Exit Continuer à suivre les étapes décrites du TP N1 pour avoir le fichier code source en c dont le contenu est généré automatiquement par VCR Wizard. MEGHERBI Hassina 2015-2016 0 en mode normal à générer automatiquement le code source microcontrôleur ATtiny 2313 et en mode normal. orsque la fenêtre Overflow interrupt Compare Match A interrupt Compare Match B interrupt fichier code source en c Département de Génie Electrique Micro-processeurs et Micro-Contrôleurs MEGHERBI Hassina Filière d'Automatique 3ème année Licence 2015-2016 /4 2 -Eliminer les lignes non-nécessaires, et laisser juste ce qui suit : #include <tiny2313.h> // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { // Place your code here } // Timer 0 output compare A interrupt service routine interrupt [TIM0_COMPA] void timer0_compa_isr(void) { // Place your code here } // Timer 0 output compare B interrupt service routine interrupt [TIM0_COMPB] void timer0_compb_isr(void) { // Place your code here } void main(void) { #pragma optsize- CLKPR=0x80; CLKPR=0x00; #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif PORTB=0x00; DDRB=0x04; TCCR0A=0x40; TCCR0B=0x00; TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; TIMSK=0x07; // Global enable interrupts #asm("sei") while (1) { }; } Département de Génie Electrique Micro-processeurs et Micro-Contrôleurs MEGHERBI Hassina Filière d'Automatique 3ème année Licence 2015-2016 /4 3 Manipulation2 : Programmer le timer0 du microcontrôleur ATtiny 2313 pour avoir les caractéristiques suivantes :  La source du signal horloge du system : un oscillateur à quartz ;  Facteur de division du signal horloge provenant d’un oscillateur à quartz : 1 ;  Facteur de division du signal horloge du timer : 256  Mode d’opération : mode normale ;  Pin de sortie OC0A : déconnecté ;  Pin de sortie OC0B : inverser en cas d’égalité (toggle on compare match) ;  Valider les interruptions de dépassement, compare match A et B ; Notez bien : Suivez la démarche décrite dans la page 4/4 Extra manipulation : Faire clignoter la LED reliée au pin 0 du port B en utilisant une interruption de débordement du timer0 précédemment programmé. La période de clignotement est 8 fois plus grande que la période du signal OC0B généré. Département de Génie Electrique Micro-processeurs et Micro-Contrôleurs MEGHERBI Hassina Filière d'Automatique 3ème année Licence 2015-2016 /4 4 Programmation du timer/counter0 I. Trouver les valeurs à mettre dans les bits CLKPS3-0 de registre CLKPR. (CLKPS3 CLKPS2 CLKPS1 CLKPS0) = ……………. Justification: ……………………………………………………………………………………………….. II. Donner les valeurs des bits des registres de contrôle TCCR0A et TCCR0B en justifiant.  CS02 CS01 CS00=(…………..)2 Justification: ………………………………………………………………………………………………..  WGM2=….., WGM1=….., WGM0=………. Justification: ………………………………………………………………………………………………..  COM0A1=……..et COM0A0=…….. Justification: ………………………………………………………………………………………………..  COM0B1=……..et COM0B0=…….. Justification: ………………………………………………………………………………………………..  FOC0A=…….. ; FOC0B=……... Justification: ……………………………………………………………………………………………….. Bit 7 6 5 4 3 2 1 0 COM0A1 COM0A0 COM0B1 COM0B0 - - WGM01 WGM00 TCCR0A ……… ……. …….. ……. …… ……. ……. …….. =0x….. Bit 7 6 5 4 3 2 1 0 FOC0A FOC0B - - WGM02 CS02 CS01 CS00 TCCR0B ……… …….. ……… …….. …….. …… ……. ……. =0x…. III. Donner la valeur du registre de direction nécessaire pour configurer le pin PD5/OC0B. 7 6 5 4 3 2 1 0 Les indices DDR….. =0x……….. . . . . . . . . Mettre e pour entrée et s pour sortie IV. Donner les valeurs des bits utilisés de registre TIMSK en justifiant. TOIE0=……… ; OCIE0A=…….. ; OCIE0B=………; Justification: ……………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………. Bit 7 6 5 4 3 2 1 0 TOIE1 OCIE1A OCIE1B - ICIE1 OCIE0B TOIE0 OCIE0A TIMSK ……… ………. ……….. …………. ……. ………. ……… …….. =0x…… uploads/Geographie/ tpn10.pdf

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