You are on page 1of 4

Universidade Federal do Vale do São Francisco

Microcontroladores e Microprocessadores – Prova 1


18.12.2015
Rodrigo P. Ramos

1) a) (1,0) Para o código mostrado a seguir, qual o valor de WREG após 7 ciclos de clock?

b) (2,0) O programa foi escrito para escrever o número 3 no registrador 0x23 e o


número 2 no registrador 0x22, nesta ordem. O código acima faz o que se pretendia?
Em caso negativo, sugira uma modificação para seu correto funcionamento, sem alterar
o endereço das instruções.
UNIVASF – Microcontroladores e Microprocessadores – Prova 1 2

2) (3,0) Um sinal PWM é caracterizado como sendo uma onda quadrada, semelhante a
um sinal de relógio, com uma frequência determinada, em que é possı́vel modificar o
tempo em que a onda permanece no estado alto (TON ) e o tempo em que ela permanece
no estado baixo (TOF F ), conforme a figura abaixo.
Utilizando a linguagem assembly, use o PIC16F877A para gerar um sinal PWM com
frequência f = 1 kHz, em que o tempo TON corresponde a 60% do perı́odo total da
forma de onda. Considere um cristal de 4 MHz.
Não é necessário usar o cabeçalho no firmware (fusı́veis e diretivas iniciais).
UNIVASF – Microcontroladores e Microprocessadores – Prova 1 3

3) (4,0) Um fabricante de peças de automóveis pretende implementar um sistema de


contagem das peças fabricadas que passam em uma esteira. Na esteira, há um sensor
de presença digital que gera um pulso positivo cada vez que uma peça passa por
ele. Para visualizar a contagem, ele dispõe de um sistema digital que recebe uma
entrada binária de 16 bits e mostra o número decimal correspondente em um visor
luminoso. O fabricante pretende ter disponı́vel um botão para zerar a contagem quando
for necessário.
Usando o PIC16F877A e seu conjunto de instruções, projete o sistema microcontrolado
para implementação do processo de contagem e visualização referido, indicando as
saı́das usadas. Os seguintes requisitos são obrigatórios:

– Fazer um desenho ilustrativo do sistema, indicando todos os pinos utilizados pelo


PIC e suas conexões e valores (quando for o caso), inclusive os essenciais à sua
operação (alimentação, oscilador, etc.).
– Utilizar o Timer0 e sua interrupção para implementar a contagem.
– Utillizar a interrupção externa para implementar o botão de zerar contagem.

Não é necessário se preocupar com a limitação de contagem em 512 peças. Não é


necessário usar o cabeçalho no firmware (fusı́veis e diretivas iniciais).
UNIVASF – Microcontroladores e Microprocessadores – Prova 1 4

You might also like