luanpcs

Relatório 08

Jul 24th, 2021 (edited)
860
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. int cont = 0;
  2.  
  3. int main(void)
  4. {
  5.   TCCR0A |= (1 << WGM01);              // MODO (CTC)
  6.   TCCR0B |= (1 << CS02) | (1 << CS00); // SELECIONA O DIVISOR DE CLOCK (1024)
  7.   OCR0A = 200;                         // LIMITE DA CONTAGEM
  8.   TIMSK0 |= (1 << OCIE0A);             // HABILITANDO A INTERRUPCAO NO COMPARADOR A
  9.  
  10.   sei(); // ATIVANDO A INTERRUPCAO GLOBAL
  11.  
  12.   DDRB |= (1 << PB0);   // PB0 (8) COMO SAIDA
  13.   PORTB &= ~(1 << PB0); // DESLIGANDO O PB0
  14.   while (1);
  15. }
  16.  
  17. ISR(TIMER0_COMPA_vect) // VETOR DE INTERRUPÇÃO DO COMPARADOR A
  18. {
  19.   cont++; // INCREMENTA A VARIÁVEL CONT 0 - 1 - 2 - 3
  20.   if (cont >= 78)
  21.   { // (CADA CONTAGEM DE 200 LEVA 12,8ms ((1/16MHZ)/1024)*200) = 12,8ms)
  22.     // A CADA 78 CONTAGENS DE 200 = 1s (12,8ms * 78)
  23.     PORTB ^= (1 << PB0); // INVERTE O LED DO PINO PB0 (8)
  24.     cont = 0;            // ZERA A VARIAVEL CONT
  25.   }
  26. }
  27.  
RAW Paste Data