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!
Alternativas:
Analógica e verde.
Digital e azul.
I2C e cinza.
Serial e laranja.
AVR e amarelo.  CORRETO
Código da questão: 71466
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:
Configuração ou inicialização e Loop.  CORRETO
Remoção de variáveis e Delay.
Instruções JUMP de variáveis.
Set de variáveis e remoções.
Instrução Clean e .DGS.
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.
3)
4)
Código da questão: 71457
Sobre as declarações de variáveis em C, analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso): 
( ) A capacidade de algumas variáveis é dependente do microcontrolador da placa embarcada que está sendo utilizado. 
( ) Em float e double, utiliza-se o conceito de faixa de valores com base em 𝑚𝑎𝑛𝑡𝑖𝑠𝑠𝑎 𝑥 10𝑒𝑥𝑝𝑜𝑒𝑛𝑡𝑒, cuja representatividade em bits se dá por
sinal, expoente e mantissa e, quanto maior o número de bits da mantissa, maior a precisão do número.
 ( ) A precisão numérica de variáveis do tipo float é, de aproximadamente, 6 casas decimais, enquanto do tipo double é de 15 casas decimais
Assinale a alternativa que contenha a sequência correta.
Alternativas:
F – V – F.
V – F – V.
V – V – F.
F – F – V.  INCORRETO
V – V – V. CORRETO
Código da questão: 71462
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. Já a linguagem de programação C é definida como _________ nível, pois está diretamente ligada aos conceitos _________ entendidos
pelos seres humanos.
Alternativas:
Baixo; entendida; maior; baixo; alto; lógicos.
Baixo; entendida; menor; alto; baixo; lógicos.
Baixo; removida; menor; baixo; alto; lógicos.
Alto; entendida; menor; baixo; baixo; lógicos.
Baixo; entendida; menor; baixo; alto; lógicos.  CORRETO
Código da questão: 71465
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:
· Cada fabricante de microcontrolador divide seus dispositivos em famílias para atender a áreas específicas, sendo assim, um
microcontrolador com maior capacidade tem um armazenamento na memória maior para determinadas variáveis.
 · A faixa de valores em float e double é dependente de bits para cada parte, e o maior número de bits se dá para a mantissa, a qual,
quanto maior, melhor a sua resolução. Já o expoente indica diretamente a faixa de valores que podem ser representados. 
· As variáveis do tipo double têm uma faixa de valores superior à do tipo float e, respectivamente, sua precisão numérica.
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.
5)
6)
A integração de circuitos dedicados em um único chip originou os famosos Circuitos Integrados (CI), o que foi importante para o
desenvolvimento de microcontroladores. Sabendo que um microcontrolador pode controlar periféricos externos de forma autônoma através
de um conjunto de periféricos internos, qual dos componentes seguintes pode ser considerado um periférico externo? 
Assinale a alternativa correta.
Alternativas:
Display de 7 segmentos.  CORRETO
SPI.
Memória SRAM.
CPU.
Memória FLASH.
Código da questão: 71451
Considere o seguinte programa em linguagem Assembly:
O código é uma forma de acionar um LED conectado em PD7 em série com um resistor, e uma botoeira PULL-UP, conectada a PD6, através de
um microcontrolador AVR ATmega328p. A seta com indicativo da próxima instrução é um escopo com validação das portas digitais, como a
seguir:
Caso o bit 6 esteja sem seleção, como deve ser o comportamento do bit 7 em PORTD e o respectivo valor, até o fim de todas as instruções de
validação? Assinale a alternativa correta.
Alternativas:
Resolução comentada:
O periférico externo em questão é o display de 7 segmentos, o qual é utilizado para demonstrar informações alfanuméricas em
diferentes aplicações. Como é um dispositivo para exibir uma informação, pode ser utilizado como forma de demonstração, sendo
assim, associa-se como periférico externo. O display utiliza, muitas vezes, 7 LEDs em cada segmento, o que faz com que a
representação alfanumérica aconteça.
Valor 0x80 não seleccionado.
Valor 0x00 seleccionado.
Valor 0x40 não seleccionado.
Valor 0xC0 seleccionado.  CORRETO
Valor 0x80 seleccionado.
Código da questão: 71463
Resolução comentada:
Comparando que, quando estiver pressionado, significa que está sem seleção, ou em nível lógico alto, a validação será na diretiva _LED.
Na diretiva _LED, verifica-se que o LED será habilitado.
Para retornar à diretiva _LOOP, a PORTD seleciona o bit7 e incrementa o valor em hexa para 0xC0.
7)
8)
9)
Alternativas:
Ambos configuram as portas PD4 a PD7 do microcontrolador.  CORRETO
Ambos os códigos tratam de configurações da DDRB.
O registrador R17 armazena 5.
Os trechos não têm a mesma funcionalidade.
Ambos configuram as portas PB0 a PB3 do microcontrolador.
Código da questão: 71468
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 – V – F.  CORRETO
F – V – F
V – F – F.
V – V – V.
Código da questão: 71454
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:
Barramentos.CPU.
Memória EEPROM.  CORRETO
Memória RAM.
Resolução comentada:
Ambos configuram as portas PD4 a PD7 do microcontrolador ATmega328p, que está diretamente interligado às portas digitais 4 a 7.
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.
10)
SPI.
Código da questão: 71452
Os microcontroladores da família ATmega328P possuem núcleo, ou CPU AVR, com arquitetura Harvard (modificada, pois há mais de um
barramento de dados), e as instruções são buscadas na memória de programa por um barramento exclusivo ao de dados e são executadas
por um processo de canalização, mais conhecido como _________, pois, enquanto uma instrução está sendo _________, a próxima já é _________
da memória de programa, permitindo que esta seja executada continuamente, uma em cada ciclo de relógio ou _________.
Alternativas:
Transporte reduzido; pausada; removida; clock.
Pipeline; executada; pré-carregada; clock.  CORRETO
Pipeline; executada; pré-carregada; validação.
Transporte reduzido; pausada; pré-carregada; clock.
Pipeline; executada; removida; clock.
Código da questão: 71453
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.
Resolução comentada:
As instruções da memória de programa são executadas através de um pipeline simples, ou seja, enquanto uma instrução é executada,
outra é lida da memória de programa e decodificada. Este conceito permite que a CPU AVR execute uma instrução a cada ciclo de
clock.
Arquivos e Links

Continue navegando