Buscar

AV1 microprocessadores

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 5 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

Prévia do material em texto

FACULDADE ESTÁCIO DE CURITIBA 
 
Curso: Engenharia Elétrica Turma: 3001 
Disciplina: 
Sistemas a 
microprocessadores 
Professor(a): Henrique Marin van der 
Broocke Campos 
Data: 05/10/2020 Avaliação: AV1 
 
Aluno: Igor Alekssander maurer da Silva 
Matrícula: 201703128303 
 
Nota: 
 
INSTRUÇÕES PARA A AVALIAÇÃO: 
a) Leia atentamente todas as questões antes de iniciar; 
b) A interpretação das questões faz parte da avaliação; 
 
 
Boa Prova! 
 
1) A respeito da linguagem de programação em C considere as afirmativas abaixo, 
que são verdadeiras (V) ou falsas (F) e assinale a alternativa correta. Valor: 1,0 
I. As diretrizes iniciais de um programa têm a função de realizar o pré-processamento, 
do código, possibilitando a inclusão de bibliotecas e a definição de indicadores ou 
variáveis. 
II. O controle de fluxo ou tomada de decisão permite realizar testes de determinadas 
condições, que possibilitam realizar certas tarefas ou não. 
III. As estruturas de repetição têm por função criar um loop, ou seja, um caminho no 
código para a repetição de determinada tarefa, a partir da validade de determinado 
teste. 
IV. As funções if-else e switch-case são exemplos de estruturas de tomada de decisão 
ou controle de fluxo, ao passo que as funções for e while-do são exemplos de 
repetição. 
a) As afirmativas I e II são corretas. 
b) As afirmativas I, II e III são corretas. 
c) As afirmativas II e III são corretas. 
d) As afirmativas II, III e IV são corretas. 
e) As afirmativas I, II, III e IV são corretas. 
 
2) Para o código descrito abaixo, responda o que se pede: Valor: 1,0 
 
#include <16F628A.h> //Inclusão de biblioteca 
#fuses XT // oscilador crystal <= 4mhz 
#use delay (clock = 4MHz) // definido a frequencia de clock 
 
void main() // declaração da variável 
{ 
int i; 
 while(1) // estabelece laço de repetição 
 { 
 for(i = 0; i<256;i++) contará de 0 á 255 sendo i<256 
 { 
output_B(i); // coloca o byte no port B 
 delay_ms(500); // Aguarda 500 milésimos de segundos 
 } 
 
 } 
 
} 
 
a) Explique o que esse código faz, descrevendo cada linha. 
Esta na linha do programa. 
 
3) Descreva o que é uma memória de dados RAM e para que ela é utilizada em 
sistemas com microcontroladores PIC.: Valor: 1,0 
R: A RAM é o tipo de memoria que grava informações, mas pode ser apagada ou 
sobescrita caso não seja mais útil, é uma memoria muito versátil para a execução de 
programas, ela deixa disponível as instruções para serem executadas mais 
rapidamente. 
 
 
4) Descreva para que a memória EEPROM interna é utilizada. Valor: 1,0 
R: A EEPROM no PIC é utilizada como uma memória não volátil, onde podemos 
armazenar alguma informação relevante para o programa a ser executado. A 
EEPROM não é volátil, portanto ao ligar o microprocessador a informação continuará 
armazenada na memória. 
 
5) É uma memória considerada somente de leitura, por não permitir alterar a 
informação armazenada, além da informação não ser perdida na ausência de 
energia elétrica. Que memória é essa? Valor: 1,0 
a) PROM 
b) EPROM 
c) EEPROM 
d) RAM 
e) ROM 
 
6) Na Figura 1 é apresentado um diagrama esquemático de um microprocessador. De 
acordo com a Figura, trata-se de qual arquitetura de computador? Justifique. 
Valor: 1,0 
 
R: Arquitetura de Harvard 
 
 
 
 
 
Figura 1 
 
7) A Unidade Lógica Aritmética (ULA) está presente em qual parte da arquitetura dos 
microcomputadores? Valor: 1,0 
a) Memória RAM 
b) Barramento de dados 
c) Barramento de endereços 
d) Microprocessador 
e) Unidade de Controle 
 
 
8) Para esta questão considere a placa 1 do PICSIMLAB 7, utilizando o 
microcontrolador PIC 16F628A. O compilador sugerido é o CCS C Compiler. Crie 
um código que ao pressionar cada um dos 4 botões a velocidade com que os 
LEDs acendem e apagam é aumentada. Utilize os 4 botões disponíveis 
(Exemplo: botão 1 – velocidade 1 lento; botão 2 – velocidade 2; botão 3 
velocidade 4 e botão 4 – velocidade 4 máxima). Utilize a mesma frequência de 
clock no compilador e no simulador. Apresente os prints do código no 
compilador e o funcionamento no simulador. Valor: 3,0 
R: 
 #include <16F628.h> //inclusão de biblioteca 
#fuses XT, NOWDT, NOPROTECT, NOPUT //configuração do hardware do PIC 
#use delay( clock=4MHz ) //configuração do clock de processamento 
void main () { //início do programa 
int btn1 = 0; //declaração de variável 
int btn2 = 0; //declaração de variável 
while (true) { //iniciando rotina while (loop infinito) 
if (input(PIN_A1) == 0) { //se botão A1 for 0 ... 
btn1 = !btn1; //variável btn1 recebe sua inversa 
while(input(PIN_A1) == 0); //repita instrução enquanto A1 for 0 
} //encerra condição 
if (input(PIN_A2) == 0) { //se botão A2 for 0 ... 
btn2 = !btn2; //variável btn2 recebe sua inversa 
while(input(PIN_A2) == 0); //repita instrução enquanto A2 for 0 
}//encerra condição 
if (btn1 == 0 && btn2 == 0) { //se as variáveis btn1 e btn2 forem 0 ... 
delay_ms(100); // espera 0,1s 
}//encerra condição 
if (btn1 == 0 && btn2 == 1) { //se as variáveis btn1 = 0 e btn2 = 0 ... 
delay_ms(500); // espera 0,5s 
}//encerra condição 
if (btn1 == 1 && btn2 == 0) { //se as variáveis btn1 = 1 e btn2 = 0 ... 
delay_ms(1000); // espera 1s 
} //encerra condição 
if (btn1 == 1 && btn2 == 1) { //se as variáveis btn1 e btn2 forem 1 ... 
delay_ms(2000); // espera 2s 
} //encerra condição 
output_toggle(PIN_B0); // altera entre LED acesso ou apagado dependendo do resultado obtido na lógica 
acima. 
} // fecha loop infinito 
}// fecha programa

Continue navegando