Llll

1077 mots 5 pages
Exemple d'utilisation des timers avec CVAVR
Action à réaliser : effectuer l'allumage puis l'extinction de 8 led toutes les secondes. Utilisation du codewizardAVR

Code source :Le timer va évoluer à partir de l'horloge interne
Clock value : La fréquence de l'horloge interne sera de 7,813 Khz (c'est une fraction de la fréquence du quartz obtenue par division , d'autres valeurs sont possibles)
Mode : Normaltop=FFFFh la valeur du timer évoluera jusqu'à la valeur maximum de FFFF en hexadécimal (65535 en décimal)
Value : la valeur de départ du timer sera E17A. Donc le timer évoluera de E17A à FFFF soit de 1E85 car 1E85= FFFF-E17A
Puisque 1E85h = 7813 en décimal le temps mis pour évoluer sera de 7813 période d'horloge à 7813 Hz donc 1 s.
Interrupt on : timer1 Overflow/ chaque fois que la valeur du timer sera dépassée ( valeur max+1 c'est-à-dire FFF+1) le microcontroleur générera une interruption (un signal particulier pour signaler le dépassement). Ce signal pourra être utilisé pour activé une procédure ( ou sous programme particulier appelé procédure d'interruption.
Très important : cette procédure d'interruption est prioritaire ("elle prendra la main") et sera activée indépendamment de la procédure principale. Une fois exécutée la procédure d'interruption
Cocher interrupt on

//Chip type : ATmega8535
//AVR Core Clock frequency: 8,000000 MHz
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 7,813 kHz // Mode: Normal top=FFFFh

#include char compte=0;

// Timer1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
// Reinitialize Timer1 value TCNT1H=0xE1; //ou TCNT1H= 0xE17A >> 8; TCNT1L=0x7A; //ou TCNT1L= 0xE17A & 0xff;

compte=compte+1;
}
void main(void)
{
#asm("sei")//langage assembleur autorisant les interruptions SEI=Set global Interrupt Enable while (1) {

en relation

  • Llll
    1249 mots | 5 pages
  • ljblj
    275 mots | 2 pages
  • lolyle
    673 mots | 3 pages
  • Lsdksee
    777 mots | 4 pages
  • Lollll
    274 mots | 2 pages
  • Tachymetre
    1417 mots | 6 pages
  • lklk
    1190 mots | 5 pages
  • Lklmlk
    7287 mots | 30 pages
  • lkhl
    367 mots | 2 pages
  • Llllllllllll
    7146 mots | 29 pages
  • lllllll
    2601 mots | 11 pages
  • Llooooll
    1023 mots | 5 pages
  • les procedures et fonctions en assembleur du 80386
    1398 mots | 6 pages
  • Llala
    314 mots | 2 pages
  • Suffit-il de voir pour savoir?
    10317 mots | 42 pages