– home / Fóruns / Módulo 5 / Bloco M5-34 / Bloco M5-34 / Questão 30

  • Autor
    Posts
    • Anônimo
      2019-10-01 até 00:00 #40003304641

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

        2020-05-19 até 00:00 #40003280255

        Bloco M5-34 / Questão 30

          2020-11-25 até 00:00 #40003305935

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

            2020-11-25 até 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.