Buscar

Lista de Exercícios – Prova 3

Prévia do material em texto

PHONE	
   FAX	
   WEB	
  
[Street	
  Address],	
  [City],	
  [State]	
  [Postal	
  Code]	
   [Your	
  Phone]	
   [Your	
  Fax]	
   [Web	
  Address]	
  
	
  
Microcontroladores	
  –	
  Prof.	
  Pedrosa	
  
Lista	
  de	
  Exercícios	
  –	
  Prova	
  3	
  
1)	
  	
  Elabore	
  uma	
  rotina	
  em	
  C	
  que	
  sempre	
  que	
  um	
  botão	
  for	
  pressionado,	
  acione	
  uma	
  interrupção	
  externa.	
  Na	
  
função	
  desta	
  interrupção,	
  leia	
  um	
  ADC	
  e	
  caso	
  a	
  tensão	
  lida	
  seja	
  maior	
  que	
  2,5V,	
  acenda	
  um	
  led	
  conectado	
  a	
  
um	
  pino	
  de	
  sua	
  escolha,	
  espere	
  2	
  segundos	
  e	
  desligue	
  este	
  mesmo	
  led.	
  No	
  programa	
  principal,	
  não	
  faça	
  nada,	
  
apenas	
  espere	
  a	
  interrupção	
  ser	
  acionada	
  (while(1);).	
  	
  
2)	
  	
  Elabore	
  uma	
  rotina	
  em	
  C	
  que	
  sempre	
  que	
  um	
  botão	
  B0	
  for	
  pressionado,	
  acione	
  a	
  interrupção	
  externa	
  0	
  e	
  
sempre	
  que	
  um	
  botão	
  B1	
  for	
  pressionado,	
  acione	
  a	
  interrupção	
  externa	
  1.	
  Na	
  função	
  da	
  interrupção	
  0,	
  acenda	
  
um	
  led	
  L1	
  por	
  1	
  segundo	
  e	
  o	
  apague.	
  Na	
  função	
  da	
  interrupção	
  1,	
  acenda	
  o	
  mesmo	
  led	
  L1	
  por	
  3	
  segundos	
  e	
  o	
  
apague	
  .	
  No	
  programa	
  principal,	
  não	
  faça	
  nada,	
  apenas	
  espere	
  a	
  interrupção	
  ser	
  acionada	
  (while(1);).	
  	
  
3)	
  	
  Elabore	
  	
  um	
  	
  programa	
  	
  em	
  	
  C	
  	
  para	
  	
  o	
  	
  PIC,	
  	
  capaz	
  	
  de	
  	
  controlar	
  	
  a	
  	
  sinalização	
  	
  de	
  	
  um	
  semáforo.	
  Utilize	
  as	
  
interrupções	
  externas	
  para	
  configurar	
  os	
  tempos	
  de	
  cada	
  etapa	
  do	
  semaforo.	
  Deste	
  modo,	
  quando	
  a	
  int.	
  
externa	
  0	
  for	
  acionada,	
  colocar	
  o	
  verde	
  com	
  3	
  segundos,	
  o	
  amarelo	
  	
  com	
  1	
  e	
  o	
  vermelho	
  com	
  3	
  segundos.	
  
Quando	
  a	
  int.	
  externa	
  1	
  for	
  acionada,	
  colocar	
  o	
  verde	
  com	
  6	
  segundos,	
  o	
  amarelo	
  	
  com	
  1	
  e	
  o	
  vermelho	
  com	
  4	
  
segundos.	
  
	
  4)	
  	
  Elabore	
  uma	
  rotina	
  em	
  C	
  e	
  projete	
  um	
  hardware	
  utilizando	
  um	
  MCU	
  18f2550	
  para	
  um	
  contador	
  de	
  0	
  a	
  9.	
  
Esta	
  contagem	
  só	
  acontecerá	
  quando	
  uma	
  interrupção	
  externa	
  for	
  acionada,	
  sendo	
  crescent	
  quando	
  a	
  
interrupção	
  externa	
  0	
  for	
  acionada	
  e	
  decrescente	
  quando	
  a	
  interrupção	
  externa	
  1	
  for	
  acionada.	
  
5)	
  Elabore	
  uma	
  rotina	
  em	
  C	
  e	
  projete	
  um	
  hardware	
  utilizando	
  um	
  MCU	
  18f2550	
  para	
  um	
  contador	
  de	
  0	
  a	
  9.	
  
Esta	
  contagem	
  deverá	
  ser	
  incrementada	
  quando	
  a	
  interrupção	
  externa	
  0	
  for	
  acionada,	
  decrementada	
  quando	
  
a	
  interrupção	
  externa	
  1	
  for	
  acionada	
  e	
  zerada	
  quando	
  a	
  interrupção	
  externa	
  2	
  for	
  acionada.	
  Ressaltando	
  que	
  
quando	
  a	
  contagem	
  estiver	
  em	
  0,	
  não	
  deve	
  fazer	
  nada	
  quando	
  o	
  comando	
  de	
  decrementar	
  for	
  acionado,	
  
assim	
  como	
  quando	
  a	
  contagem	
  estiver	
  em	
  9,	
  não	
  deve-­‐se	
  fazer	
  nada	
  quando	
  o	
  commando	
  de	
  incrementar	
  
for	
  acionado.

Continue navegando