Buscar

Programação de Microcontroladores - Linguagem C e Assembly

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Programação de Microcontroladores - Linguagem C e Assembly
Professor(a): Claudio Mori Junior (Mestrado acadêmico)
1)
2)
Prepare-se! Chegou a hora de você testar o conhecimento adquirido nesta disciplina. A Avaliação Virtual (AV) é composta por questões objetivas e
corresponde a 100% da média final. Você tem até cinco tentativas para “Enviar” as questões, que são automaticamente corrigidas. Você pode
responder as questões consultando o material de estudos, mas lembre-se de cumprir o prazo estabelecido. Boa prova!
Considere o seguinte programa em linguagem C/C++:
Alternativas:
48.
16.
24.  CORRETO
13.
11.
Código da questão: 71464
Sobre as diretivas em Assembly, analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso): 
( ) CSEG é um diretiva utilizada para definição do segmento de código.
 ( ) DSEG é um diretiva utilizada para definição do segmento de dados e pode receber diferentes parâmetros.
 ( ) ESEG é um diretiva utilizada para definição do segmento da EEPROM e não pode receber parâmetros. 
Assinale a alternativa que contenha a sequência correta.
Alternativas:
F – F – V.
Resolução comentada:
Após o laço de configuração, as variáveis de recebem valores VAR1 = 10 e VAR2 = 2.
No comparativo, no loop, teremos uma condição verdadeira, e a variável RESULT é: RESULT = VAR1 + VAR2 = 10 + 2 = 12 A variável
“val” indica a chamativa da sub-rotina arearet (2, RESULT) = arearet(2, 12) E assim teremos na sub-rotina o valor multiplicado de val = 2
* 12 = 24
Avaliação enviada com sucesso 
Avaliação enviada com sucesso 
3)
4)
V – F – V.  CORRETO
F – V – F.
V – V – V.
V – V – F.
Código da questão: 71458
Sobre os registradores de propósito geral, analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso):
 ( ) Armazenar dados da execução do programa. 
( ) Local com dados a serem processados pela ULA, ou seus endereços de memória.
 ( ) Armazena informações para gerenciamento do processo. 
Assinale a alternativa que contenha a sequência correta.
Alternativas:
F – F – V.
V – F – F.
V – V – F.  CORRETO
F – V – F
V – V – V.
Código da questão: 71454
Alternativas:
Acenderá o LED no pino 1, sem manter os demais conforme comparações anteriores.
Resolução comentada:
A primeira e a terceira afirmativas são verdadeiras, e a segunda afirmativa, falsa.
Veja a forma correta da afirmativa falsa: Definição de início de segmento de dados sem receber nenhum parâmetro.
Resolução comentada:
A primeira e a segunda são verdadeiras. Veja a forma correta da afirmativa falsa: A CPU também é responsável por acessar as memórias,
realizar os cálculos, controlar os periféricos e manipular as interrupções, e algumas informações importantes ficam contidas em
registradores internos ao núcleo, mas não têm o papel de armazenar dados. Os dados a serem processados pela ULA, ou seus
endereços de memória, ficam nos registradores de propósito geral, enquanto informações para gerenciamento do processo ficam em
outros registradores especiais, de propósitos específicos.
Avaliação enviada com sucesso 
Avaliação enviada com sucesso 
5)
6)
Acenderá o LED no pino 3, mantendo os demais conforme comparações anteriores.
Acenderá o LED no pino 1, mantendo os demais conforme comparações anteriores.  CORRETO
Apagará todos os LEDs.
Acenderá o LED no pino 2, mantendo os demais conforme comparações anteriores.
Código da questão: 71469
Em programas de diferentes linguagens aplicadas a microcontroladores, existem estruturas básicas que ajudam a inicialização de
componentes e a verificação de rotinas. Como a estrutura básica é definida?
 Assinale a alternativa correta.
Alternativas:
Instrução Clean e .DGS.
Set de variáveis e remoções.
Configuração ou inicialização e Loop.  CORRETO
Instruções JUMP de variáveis.
Remoção de variáveis e Delay.
Código da questão: 71457
Na linguagem de programação C++, a simbologia “_______” tem significado de incremento, o que foi traduzido como um “_______” em
comparação à linguagem de programação C, pois a C é orientada a _______, e a C++ é orientada a _______. 
Assinale a alternativa que completa adequadamente as lacunas.
Alternativas:
--; algo a mais; procedimentos; objetos.
--; algo a mais; rotinas; decrementos.
++; algo a mais; procedimentos; objetos.  CORRETO
--; algo a menos; procedimentos; objetos.
++; algo a mais; objetos; procedimentos.
Código da questão: 71460
Resolução comentada:
O segundo comparativo else if verifica quando o valor do sensor é maior que 200 até ser igual a 600, e assim o LED do pino 1 deve ser
acesso. Mas, como os outros LED não estão recebendo nenhuma definição, o microcontrolador mantém os estados atuais deles, que
receberam comparativos anteriores.
Resolução comentada:
Em um programa com linguagem Assembly ou em outra linguagem que faça o envio ao microcontrolador em linguagem de máquina,
tem uma estrutura básica de código com uma leitura na rotina de configuração ou inicialização e rotinas contínuas na de verificação,
denominada como loop.
Resolução comentada:
Na linguagem de programação C++, a simbologia “++” tem significado de incremento, o que foi traduzido como um “algo a mais” em
comparação à linguagem de programação C, pois a C é orientada a procedimentos, e a C++ é orientada a objetos. O criador do C++,
Bjarne Strous, utilizou o “++” justamente para representar o que ele dizia ser um “C com classes”.
Avaliação enviada com sucesso 
Avaliação enviada com sucesso 
7)
8)
Alternativas:
AVR e amarelo.  CORRETO
Digital e azul.
Analógica e verde.
Serial e laranja.
I2C e cinza.
Código da questão: 71466
Alternativas:
0x02.
0x03.
0x04.
0x01.
Resolução comentada:
Os pinos do microcontrolador ATmega328p, em sua maioria, são diretamente interligados aos barramentos laterais da placa, como os
pinos digitais e analógicos, que são representados por PBx, PCx e PDx. Para defini-los em Assembly, é necessário configurar a sequência
de 8 bits em 0 e 1, que também podem ser representados na forma hexadecimal. Já na linguagem de programação C/C++, basta
identificar quando é uma saída ou entrada pela representatividade numérica para portas digitais e com Ax para as analogias. Mas,
devemos notar que, quando queremos indicar uma porta através da plataforma Arduino, é preciso identificar na placa, e não no
microcontrolador.
Avaliação enviada com sucesso 
Avaliação enviada com sucesso 
9)
10)
0x06.  CORRETO
Código da questão: 71459
A linguagem de máquina é a linguagem de mais _________ nível de entendimento pelo ser humano e a única que pode ser _________ por um
processador. Assim, definimos em programação que, quanto _________ o nível da linguagem, mais a programação se aproxima da linguagem
de máquina, e a Assembly é considerada uma linguagem de _________ nível, já que suas instruções são as mesmas instruções do código de
máquina. Assinale a alternativa que completa adequadamente as lacunas.
Alternativas:
Baixo; entendida; menor; baixo.  CORRETO
Baixo; entendida; menor; alto.
Baixo; removida; menor; baixo.
Baixo; entendida; maior; baixo.
Alto; entendida; menor; baixo.
Código da questão: 71456
Antes de existirem os microcontroladores, circuitos de memórias eram desenvolvidos para armazenar informações digitais por tempo
indeterminado ou determinado. A integração de memórias aos microcontroladores é de suma importância, tanto para programa quanto para
dados. Considere que um dado de um cartão de acesso de usuário precisa ser armazenado, alterado e requisitado quando for necessário. Dos
periféricos internos de um microcontrolador, qual dos seguintes pode ser utilizado para a funcionalidade?
 Assinale a alternativa correta.
Alternativas:
Memória RAM.
CPU.
Memória EEPROM.  CORRETO
SPI.
Barramentos.
Código da questão: 71452
Resolução comentada:
Ao final de todo o código, o valor armazenado no registrador R16 será de 0x06, pois a primeira soma R16 e R17 armazena o valor em
R16 e, com a segunda soma, novamente será armazenado em R16, já com o valor de leiturado registrador.
Resolução comentada:
Quanto maior o nível de uma linguagem de programação, mais ela é facilmente compreendida pelo ser humano e com maiores
necessidades de conversão para a linguagem de máquina. Sendo assim, a Assembly é considerada uma linguagem de baixo nível,
enquanto C/C++ e outras são consideradas de alto nível.
Resolução comentada:
Memória Somente de Leitura Programável Apagável é acessada quando se deseja armazenar dados por períodos indeterminados,
como as informações de um usuário, e é usada em diferentes dispositivos eletrônicos que precisam armazenar pequenas quantidades
de dados, com a possibilidade de os dados serem salvos quando o dispositivo for desenergizado. Uma aplicação para a EEPROM seria
de uma validação de usuário.
Avaliação enviada com sucesso 
Avaliação enviada com sucesso 
Arquivos e Links
Avaliação enviada com sucesso 
Avaliação enviada com sucesso 

Outros materiais