– home / Fóruns / Módulo 5 / Bloco M5-34 / Bloco M5-34 / Questão 30
- Este tópico contém 3 respostas, 4 vozes e foi atualizado pela última vez 3 anos, 4 meses atrás por Jhonatan Serafim.
-
AutorPosts
-
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 #40003305937Olá 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,11msEntã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.
-
AutorPosts
- Você precisa estar Conectado(a) para Responder a este Tópico.