site novo / Fóruns / Fase 5 / Bloco M5-34 / Bloco M5-34 / Questão 30

  • Autor
    Posts
    • Anônimo
      01/10/2019 às 00:00 #40003304641

      Seja o primeiro a fazer uma pergunta sobre esta questão.

        25/11/2020 às 00:00 #40003305935

        Olá o LED piscou a cada 1 segundo(até cronometrei), o que pode estar errado?

          25/11/2020 às 00:00 #40003305937

          Olá Luiz!

          Para essa atividade podemos analisar o código afim de descobrir o tempo que o Led inverte, e confrontar com o kit na prática.
          Vamos lá!
          Primeiro, nós temos que calcular a resolução de cada estourou do Timer0.
          Para isso devemos usar a seguinte fórmula:

          R = 1/(fosc/4)*(256 – Tmr0)*prescaler

          Calculando:

          R = 1/(20×10^6/4)(256-0)(256)
          R = 4/(20×10^6)*(256²)
          R ≈ 13,11ms

          Então o tempo de cada estourou será de aproximadamente 13ms.

          Nós vemos que a cada estouro do Timer0, vai ocorrer uma interrupção e será incrementado um valor na variável conta que se inicializa com 0 e dentro do while(TRUE) fica fazendo o pooling dessa variável, sempre testando se essa

          Agora para saber o tempo em que o LED se inverterá, é só multiplicar a resolução por 153:

          T = resolução*153
          T = 13,11×10^-3 * 153
          T ≈ 2s.

          Bons estudos.

        • Você precisa estar Conectado(a) para Responder a este Tópico.