Escolar Documentos
Profissional Documentos
Cultura Documentos
ENGC50 Lista 2 2019.2 PDF
ENGC50 Lista 2 2019.2 PDF
Escola Politécnica
Departamento de Engenharia de Elétrica e de Computação
ENGC50 – Sistemas Microprocessados - 2a Lista de Exercı́cios
17. Considere que um circuito da Figura 4. Escreva um programa em C para provocar a mudança de
estado do LED em PB5 cada vez que o push-button em PD2 for pressionado.
18. O circuito da Figura 2 controla a temperatura de um forno elétrico usando uma estratégia ON/OFF.
Usando interrupções, escreva um programa em C para atender às seguintes especificações:
Altere e complemente o código para que aconteça a mudança de estado do LED em PB5 cada vez
que o push-button em PD2 (INT0) for pressionado. A Figura 5 mostra os registradores associados
às interrupções externas do ATmega328.
23. Durante o atendimento a uma interrupção, o registrador PC (Contador de Programa) sofre
alguma alteração? Justifique.
24. Qual o valor de PORTB após as seguintes operações:
(a) PORTB=0x35 & 0x0F;
(b) PORTB=0x04 | 0x68;
(c) PORTB=0x54 ∧ 0x78;
(d) PORTB= ∽ 0x55;
25. Escreva um programa para monitorar continuamente o bit PB7. Quando o bit estiver em nı́vel
alto, deve-se enviar o valor 0xAA ao PORTD, e quando PB7 estiver em nı́vel baixo, PORTD deve
receber o valor 0x55.
26. Considerando que o pino INT0 está conectado a um botão que está normalmente em nı́vel alto,
complete o código abaixo de tal forma que PB5 fique piscando sempre que INT0 estiver em nı́vel
baixo.
#include < a vr / i o . h>
#include < a vr / i n t e r r u p t . h>
i nt main ( void ) {
.
.
.
EICRA . . .
EIMSK . . .
sei ();
while ( 1 ) {
}
}
ISR ( INT0 vect ) {