Buscar

Gabarito Microcontroladores E Microprocessadores B2 V4 DI 76676 original

Prévia do material em texto

Disciplina: Microcontroladores e Microprocessadores
Modelo de Prova: INTERATIVAS
Tipo de Prova: B2
Versão da Prova: 4
Código da Prova: 76676
Questão Respostacorreta Gabarito Comentado
1 E
As técnicas de debounce podem ser realizadas tanto em hardware
quanto em software. A primeira utiliza componentes conectados ao
circuito de entrada, formando, literalmente, um filtro, passivo ou
ativo, principalmente para a aquisição de sinais analógicos. Para
sinais digitais de entrada, apenas um filtro RC já é suficiente. É
verdade que já existe, em cada canal, um resistor interno de pull-up e
capacitor, que compõem um filtro. No entanto, por não ser
selecionável, e para não atrapalhar em algumas aplicações, a
capacitância usada é muito baixa para botões ou chaves (10pF), e
por isso é indicado que se utilize um capacitor externo em paralelo,
na ordem de 100nF. Desta forma, quando o botão é acionado, as
variações, que seriam bruscas, são amortizadas pelo carregamento e
descarregamento do capacitor, que gera como resultado uma
transição única a cada pressionamento. Outra forma é por software,
que seria “menos custosa”, pensando em grandes escalas. Esta
consiste simplesmente em contabilizar apenas a primeira transição,
dentro de uma sequência de transições seguidas (bounce). A ideia é
que, assim uma transição é detectada, o sistema passe por um
período (pré-estabelecido) sem contabilizar novos acionamentos,
seja por rotinas de delay, ou uso de contadores. Para botões em
geral, este período pode ser de 100 a 200ms.
2 D
A pilha é usada, principalmente, para armazenar dados temporários,
variáveis locais e endereços de retorno após interrupções e
chamadas de sub-rotina. O sistema de pilha é implementado de
maneira invertida, parte do endereço mais alto e assume endereços
menores a partir que a pilha aumenta. A única finalidade do ponteiro
de pilha é apontar para endereço do último dado armazenado na
pilha, e apenas este pode ser retirado da pilha. Dessa forma, os
primeiros dados a serem colocados serão os últimos a serem tirados,
seguindo uma fila do tipo LIFO ou FILO – First Input Last Output
(primeiro a entrar e último a sair).
3 D
Os canais utilizados pela aplicação são o primeiro e o quarto da porta
B, a única saída, no canal PB1, deve estar acionada. Assim, os
comandos usados PORTB = 0x13, igual a PORTB = 0b00010011,
habilita os resistores de pull-up nos canais 0 e 4, e também aciona o 
led no canal 1. Depois do comando seguinte, DDRB = 0x02,
equivalente à DDRB = 0b00000010, o segundo canal é configurado
como saída, acionando o led associado.
Depois de ter estudado essa seção e analisar as afirmativas,
concluímos que a primeira e a última estão erradas, o que torna a
primeira alternativa correta. Vamos destacar os erros:
I. Este modelo possui três módulos de portas digitais, nomeadas
4 A
PortB, PortC e PortD.
II. Assim como o tamanho do núcleo (registradores), as portas
digitais são também de 8-bit, ou seja, o tamanho de cada registrador,
e a quantidade de canais.
III. Todas as portas podem ser habilitadas e configuradas de maneira
independente, assim como os canais de uma mesma porta, que
também podem ser configurados e operar de maneira independente
(se a porta estiver habilitada, é claro).
IV. A recomendação para o ATmega328 é um dreno de corrente de no
máximo 40 mA por canal digital, 100 mA por porta, e 200 mA para
todas as portas do chip.
5 D
O bit EEPE do registrador EECR tem por objetivo indicar que um
processo de escrita da memória está em andamento. Além disto, ao
finalizar o processo de escrita, esse bit vai a zero lógico, e a
consequente ativação do mesmo indica ao periférico EEPROM que,
sendo os valores de endereço e valor a ser escrito validos, um novo
processo de escrita pode se iniciar.
6 B
Analisando cada caso temos:
I. Como serão dados fixos que não se alterarão durante a execução
do software, a memória mais indicada é a memória Flash, devido a
sua relativa alta capacidade de armazenamento 
II. Como essa é uma variável auxiliar que sempre que reiniciará
durante as novas inserções no laço de repetição, o armazenamento
mais lógico é em memória RAM
III. Notoriamente, os dados citados são dados críticos que serão
alterados durante o ciclo de execução do software e que não podem
ser perdidos, dessa forma se justifica seu armazenamento em
memória EEPROM.
7 A
Durante o processo de leitura ou escrita da memória EEPROM deve-
se desabilitar o bit I do registrador SREG, de forma a desabilitar o
processo de interrupção global do microcontrolador, evitando assim
que haja interrupção do processo de acesso. Com o mesmo
propósito, é importante respeitar o tempo de acesso do mesmo
(cerca de 3,4ms), logo, em aplicações que utilizem essa memória,
deve-se projetar com cautela o momento correto de utilização da
mesma.
Não é tido como premissa a utilização de uma tecnologia de fonte
especifica para o microcontrolador, desde que a mesma possa
fornecer um nível de tensão e corrente adequados para a operação
do mesmo.
8 E
Esse tipo de exercício é muito interessante para aplicar nossos
conhecimentos em situações reais, mesmo que exijam um controle
simples. Todas as alternativas, exceto a correta, que é a última,
apresentam múltiplos erros, tanto de sintaxe quanto de lógica
sequencial de processamento (principalmente). Estes erros são
comuns de ocorrer, principalmente para estudantes e iniciantes, e
quando apresentados antes, ajudam na prevenção de futuros erros. É
interessante, além de identificar o erro, prever quais seriam as
possíveis consequências, se compilado (erros de sintaxe), ou se for
executado na prática. Ou seja, estipular quais seriam as anomalias
apresentadas no comportamento do sistema para cada erro
encontrado.
Cada uma das alternativas será analisada em detalhes a seguir,
destacando todos os erros apresentados.
Está tudo certo. A alternativa já traz a explicação em si. 
9 D
A modo mais ágil de se realizar esta operação seria através da
inclusão da biblioteca eeprom.h, da posterior declaração de uma
variável vetor com 4 elementos e, sempre que for necessário a escrita
desses valores em EEPROM, utilizar a função eeprom_write_block,
que realiza este processo com uma única linha de código.
10 D
Inicialmente, devemos nos recordar que, para a classificação de
sistemas de controle, a lógica sequencial e a combinacional são
mutuamente exclusivas, ou seja, não existe a possibilidade de um
sistema ser híbrido dos dois. Além disso, não existe um sistema que
não se classifique em algumas dessas duas opções. Dessa forma, o
sistema proposto é sequencial, pois apresenta a necessidade de
memória. Consequentemente, se o sistema precisa de memória, irá
usar realimentação ou variáveis/máquina de estado. Em termos
objetivos, pode-se afirmar que, para este caso, é preciso memória
porque haverá situações diferentes em que as entradas serão iguais,
porém as saídas devem ser diferentes. Por exemplo, quando o
elevador está no meio do trajeto, os sensores serão lidos SA=0 e
SB=0, mesmo se o elevador estiver subindo ou descendo, o que,
obviamente, requer acionamentos distintos para os relés. Dessa
forma, é necessário usar pelo menos dois estados, que podem estar
ocultos e implícitos, representados por realimentação do sistema, ou
seja, quando alguma saída atual depende de valores anteriores de
alguma saída (pode ser a mesma ou não).

Continue navegando