Baixe o app para aproveitar ainda mais
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
Compartilhar