Buscar

Exercícios de Sistemas Digitais Microcontrolados

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 20 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 20 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 9, do total de 20 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

Prévia do material em texto

Exercícios De Sistemas digitais Microcontrolados 
Semana 01 
Analise o trecho abaixo: 
"O ______________________ é o “guarda de trânsito” do computador SAP 1, é ele que prepara os blocos e sincroniza a operação d
memória." 
Assinale a alternativa que contenha a palavra que complete a sentença acima. 
 
 
 
Somador-Subtrador 
 
Acumulador 
 
Registrador de endereços na memória 
 
Controlador-Sequenciador 
 
Registrador de instruções 
 
Assinale a alternativa que descreve o que é o Kernel (núcleo) de um computador ou de um microcomputador: 
 
 
 
Toda parte física (hardware) contida em um microcomputador. 
 
É uma lista de instruções, necessária para ordenar o tratamento dos dados pelo 
microcomputador. 
 
Componente gerenciador e integrador de hardware e software. 
 
É toda informação utilizada na execução de um problema. 
 
É a unidade de processamento de um microprocessador. 
 
Semana 02 
Os microcontroladores são dispositivos encapsulados com recursos computacionais.Sabendo-se disso, analise as afirmativas abaixo:
I - A Microchip Technology adotou a arquitetura de Harvad com seu produto principal, os microcontroladores PIC. 
II - A tensão de alimentação aceita nos microcontroladores PIC da família 16 é na faixa de 3,0 à 6,5 volts em corrente contínua. 
III - A corrente que os microcontroladores PIC consomem está diretamente ligada à velocidade de processamento (clock). 
IV - A família 16 dos microcontroladores PIC possuem duas opções para armazenamento do programa, a memória EEPROM e a memória EPRO
adquirido. 
 
Após a leitura atenta das sentenças acima, assinale a alternativa correta: 
 
 
 
Todas as sentenças são verdadeiras 
 
As sentenças II e IV são verdadeiras 
 
As sentenças I, III e IV são verdadeiras 
 
As sentenças I e IV são verdadeiras 
 
As sentenças I e III são verdadeiras 
 
 
 
Assinale a alternativa que contem a principal característica do microcontrolador PIC-16F628A da 
Microchip: 
 
 
 
Master Clear ativo com +5 Vcc. 
 
Arquitetura pronta para comunicação USB. 
 
Possuir até 8 canais de conversão Analógico / Digital. 
 
Possuir até 3 pinos de interrupção. 
 
Tem a possibilidade do clock interno, evitando o uso de cristal oscilador 
externo. 
 
Semana 03 
O oscilador eletrônico dita o ritmo do sistema, produzindo um sinal repetitivo. Esse sinal é elétrico e pode ser 
dito pulsante, seus níveis de tensão variam em alto e baixo (sinal digital). Essa troca constante de sinal é conhecida 
 como clock, resultando em uma onda quadrada. Dentre os osciladores abaixo, assinale a alternativa que contém o 
 oscilador que produz uma senoide de amplitude e frequência constante, cuja frequência é ajustada variando os valores 
 da indutância ou da capacitância, seguindo a fórmula: 
 
 
Oscilador Colpitts 
 
Oscilador de cristal de quartzo 
 
Oscilador Clapp 
 
Oscilador Hartley 
 
Oscilador Pierce 
 
 
 
 
 
De acordo com a Microchip, fabricante dos microcontroladores PIC, um dos recursos existentes nos 
microcontroladores PIC possibilita o reset quando a tensão de alimentação diminui a níveis abaixo do 
limiar de tensão. Esse recurso é chamado: 
 
 
 
Wacth Dog Timer (WDT). 
 
Power On Reset (POR). 
 
Power Up Time (PWRT). 
 
Master Clear Pin Reset (MCLR). 
 
Brown Out Reset (BOR). 
 
Semana 04 
Observe o circuito e o código-fonte abaixo: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
//==================== Arquivo crono.h //=================== 
#include 
#device adc=8 
#FUSES NOWDT 
#FUSES XT 
#FUSES PUT 
#FUSES NOPROTECT 
#FUSES BROWNOUT 
#FUSES NOLVP 
#FUSES NOCPD 
#FUSES NOWRT 
#FUSES NODEBUG 
#use delay(clock=4000000) 
#define BOTAO1 PIN_A0 
#define BOTAO2 PIN_A1 
#define BOTAO3 PIN_A2 
//================== Fim Arquivo crono.h //================= 
//==================== Arquivo crono.c //=================== 
#include "crono.h" 
 
short contando, contar; 
int numeros[6] = {0,0,0,0,0,0}; 
int n = 0; 
int c, t; 
int passo = 10; 
 
BYTE CONST CODIGO [10]= {0x3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F}; 
 
#int_RTCC 
void RTCC_isr(void) 
{ 
 set_timer0(get_timer0() + 6); 
 if (contando) 
 { 
 passo--; 
 if (passo == 0) 
 { 
 passo = 10; 
 t = 0; 
 contar = 1; 
 while (contar) 
 { 
 if (numeros[t] < 9) 
 { 
 numeros[t]++; 
 contar = 0; 
 } 
 else 
 { 
 numeros[t] = 0; 
 t++; 
 } 
 } 
 } 
 } 
 output_b(0b11111111); 
 if (n == 2) 
 output_c(CODIGO[numeros[n]] | 128); 
 else 
 output_c(CODIGO[numeros[n]]); 
 output_b(0b11111111 ^ (128 >> n)); 
 n++; 
 if (n > 5) n = 0; 
} 
 
void main() 
{ 
 setup_adc_ports(NO_ANALOGS); 
 setup_adc(ADC_CLOCK_DIV_2); 
 setup_spi(SPI_SS_DISABLED); 
 setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); 
 setup_timer_1(T1_DISABLED); 
 setup_timer_2(T2_DISABLED,0,1); 
 setup_ccp1(CCP_OFF); 
 enable_interrupts(INT_RTCC); 
 enable_interrupts(GLOBAL); 
 contando = 0; 
 while(1) 
 { 
 if (contando) 
 { 
 if (!input(BOTAO2)) 
 { 
 contando = 0; 
 } 
 } 
 else 
 { 
 if (!input(BOTAO1)) 
 contando = 1; 
 if (!input(BOTAO3)) 
 { 
 for (c = 0; c < 6; c++) 
 numeros[c] = 0; 
 passo = 10; 
 } 
 } 
 } 
} 
//================== Fim Arquivo crono.c //================= 
Assinale a alternativa CORRETA em função do funcionamento e operação do cronômetro: 
 
 
 
Ao ligar o cronômetro o display inicia-se apagado, os dígitos só são mostrados quando iniciar a contagem e o botão “ON” é usado para esta finalidade. 
é o botão “OFF”, que para a contagem. Ao parar a contagem com o botão “OFF” não é possível iniciá-la novamente. O botão “RESET” é usado para zerar os valores e só é reconhecido quando 
a contagem estiver parada. 
 
Ao ligar o cronômetro o display inicia-se apagado, os dígitos só são mostrados quando iniciar a contagem e o botão “ON” é usado para esta finalidade. Uma vez contan
é o botão “OFF”, que para a contagem. Ao parar a contagem com o botão “OFF” é possível iniciá-la novamente através do botão “ON”. O botão “RESET” é usado para zerar os valores e só é 
reconhecido quando a contagem estiver parada. 
 
Ao ligar o cronômetro o display é preenchido com zeros, aguardando o acionamento o botão “ON” para iniciar a contagem. Uma vez contando, o único bo
contagem. Ao parar a contagem com o botão “OFF” é possível iniciá-la novamente através do botão “ON”. O botão “RESET” é usado para zerar os valores e só é reconhecido quando a 
contagem estiver parada. 
 
Ao ligar o cronômetro o display é preenchido com zeros, aguardando o acionamento o botão “ON” para iniciar a contagem. Uma vez contando, o único botão ativo é o botão “OFF”, que para a 
contagem. Ao parar a contagem com o botão “OFF” não é possível iniciá-la novamente. O botão “RESET” é usado para zerar os valores e é reconhecido em qualquer momento da operação.
 
Ao iniciar o cronômetro o display é preenchido com zeros, aguardando o acionamento o botão “ON” para iniciar a contagem. Uma 
lidos sequencialmente e cada um deles tem uma função específica. O botão “ON” congela o display mais a contagem continua, o botão “OFF” para a contagem e o botã
contador. 
 
 
Observe o circuito abaixo e o código fonte que faz a rotina desse microcontrolador. Assuma que todos os 
parâmetrosdo PIC estejam configurados corretamente e que o circuito abaixo é funcional: 
 
A mensagem da forma como aparece no DISPLAY LCD só pode ser obtida após duas teclas serem 
pressionadas uma após a outra em sequência. São as teclas: 
 
 
 
C e A. 
 
A e B. 
 
C e E. 
 
F e E. 
 
D e F. 
 
 
 
Semana 06 
Analise o programa e a figura com o diagrama esquemático abaixo. O programa é basicamente um pisca-pisca, 
acionado por botões (B1 a B4). Cada saída (P1 a P4) tem uma frequência quando o botão correspondente é acionado. 
 O outro conjunto de saídas (L1 a L8) é acionada pelo potenciômetro, que está conectado na entrada analógica AN0. 
 
 
Arquivo: Questao.h 
==========================================================================
== 
#include 
#device ADC=8 
#use delay(crystal=4MHz) 
#use FIXED_IO( B_outputs=PIN_B7,PIN_B6,PIN_B5,PIN_B4 ) 
#use FIXED_IO( C_outputs=PIN_C7,PIN_C6,PIN_C5,PIN_C4,PIN_C3,PIN_C2,PIN_C1,PIN_C0 ) 
#define EA1 PIN_A0 
#define B1 PIN_B0 
#define B2 PIN_B1 
#define B3 PIN_B2 
#define B4 PIN_B3 
#define P1 PIN_B4 
#define P2 PIN_B5 
#define P3 PIN_B6 
#define P4 PIN_B7 
#define L1 PIN_C0 
#define L2 PIN_C1 
#define L3 PIN_C2 
#define L4 PIN_C3 
#define L5 PIN_C4 
#define L6 PIN_C5 
#define L7 PIN_C6 
#define L8 PIN_C7 
==========================================================================
== 
 
Arquivo: Questao.c 
==========================================================================
== 
#include 
short pisca_1, pisca_2, pisca_3, pisca_4; 
int ciclo_1, ciclo_2, ciclo_3, ciclo_4; 
short le_adc; 
long aux_valor, valor_adc, saida; 
#define valor_1 25 
#define valor_2 75 
#define valor_3 125 
#define valor_4 225 
#define ajuste 131 
 
#INT_RTCC 
void RTCC_isr(void) 
{ 
 set_timer0(get_timer0() + ajuste); 
 if (pisca_1) 
 { 
 ciclo_1--; 
 if (ciclo_1 == 0) 
 { 
 output_toggle(P1); 
 ciclo_1 = valor_1; 
 } 
 } 
 if (pisca_2) 
 { 
 ciclo_2--; 
 if (ciclo_2 == 0) 
 { 
 output_toggle(P2); 
 ciclo_2 = valor_2; 
 } 
 } 
 if (pisca_3) 
 { 
 ciclo_3--; 
 if (ciclo_3 == 0) 
 { 
 output_toggle(P3); 
 ciclo_3 = valor_3; 
 } 
 } 
 if (pisca_4) 
 { 
 ciclo_4--; 
 if (ciclo_4 == 0) 
 { 
 output_toggle(P4); 
 ciclo_4 = valor_4; 
 } 
 } 
 le_adc = 1; 
} 
 
void main() 
{ 
 port_B_pullups(0xFF); 
 setup_adc_ports(AN0); 
 setup_adc(ADC_CLOCK_INTERNAL); 
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_8|RTCC_8_bit); 
 output_low(P1); 
 output_low(P2); 
 output_low(P3); 
 output_low(P4); 
 output_c(0); 
 ciclo_1 = valor_1; 
 ciclo_2 = valor_2; 
 ciclo_3 = valor_3; 
 ciclo_4 = valor_4; 
 enable_interrupts(INT_RTCC); 
 enable_interrupts(GLOBAL); 
 while(TRUE) 
 { 
 if (input(B1) == 0) 
 { 
 pisca_1 = 1; 
 } 
 else 
 { 
 pisca_1 = 0; 
 } 
 if (input(B2) == 0) 
 { 
 pisca_2 = 1; 
 } 
 else 
 { 
 pisca_2 = 0; 
 } 
 if (input(B3) == 0) 
 { 
 pisca_3 = 1; 
 } 
 else 
 { 
 pisca_3 = 0; 
 } 
 if (input(B4) == 0) 
 { 
 pisca_4 = 1; 
 } 
 else 
 { 
 pisca_4 = 0; 
 } 
 if (le_adc) 
 { 
 le_adc = 0; 
 valor_adc = read_adc() / 29; 
 aux_valor = valor_adc; 
 saida = 1; 
 while (aux_valor > 0) 
 { 
 saida = saida * 2; 
 aux_valor--; 
 } 
 if (valor_adc > 0) 
 { 
 saida = saida - 1; 
 } 
 else 
 { 
 saida = 0; 
 } 
 output_c(saida); 
 } 
 } 
} 
==========================================================================
== 
Pede-se: 
a) A frequência de acionamento dos LED P1 e P2. 
 
b) O intervalo de interrupção do TIMER0. 
c) Indicar os LEDS que estarão acesos se o potenciômetro estiver fornecendo 3,5 V na entrada analógica, cuja faixa vai de 
0 a 5 V. 
d) O menor degrau de tensão detectado pelo conversor analógico do PIC. 
 
 
RESPOSTA DO ALUNO: 
 
 
 
 
 
 
 a)R: Led P1 pisca em uma frequência de 20 Hz, enquanto que o led P2 pisca em uma 
 frequência aproximada de 6,667 Hz. 
 
 b) R: TIMER0 de 8 bits, configurado com prescaler 1:8, com registrador carregado em 131. 
 Cálculo: 
 Ciclo de Máquina = Fosc / 4 
 Ciclo de Máquina = 4.000.000 / 4 
 Ciclo de Máquina = 1 MHz 
 
 Tempo = (1 / Ciclo de Máquina) * Prescaler * (Registrador - Carga Inicial) 
 Tempo = (1 / 1.000.000) * 8 * (256 - 131) 
 Tempo = 0,000001 * 8 * 125 
 Tempo = 1ms 
 
 
.c) R: Leds L1, L2, L3, L4, L5 e L6 ficarão acesos. 
 
 
 d) R:Como a tensão VDD é de 5 V, com o conversor AD configurado para 8 bits de resolução, o 
menor degrau 
 de tensão detectado pelo conversor será de 19,531 mV. 
 
 5 / (2^8)  19,531 mV. 
 
 
 Semana 07 
 
 
Leia atentamente as sentenças abaixo, referente ao protocolo de comunicação SPI 
 (Serial Peripherical Interface): 
 
I - O protocolo SPI utiliza comunicação assíncrona, assim como o 
protocolo I2C. 
II - No caso de existir apenas um escravo na comunicação, a utilização do pino de seleção 
 do escravo não é necessária. 
III - No caso em se utilizar vários escravos, no modelo SPI, as linhas de SCK, SDO e SDI 
 são individuais para cada escravo. 
IV - O padrão SPI possui as mesmas vantagens de transmissão que o RS-232, porém 
pode ser utilizado para longas distâncias. 
 
É CORRETO apenas o que se afirma em: 
 
 
 
Apenas a sentença II é falsa. 
 
Apenas a sentença II é verdadeira. 
 
Apenas as sentenças I e IV são verdadeiras. 
 
Apenas a sentença III é verdadeira. 
 
Apenas as sentenças II e IV são verdadeiras. 
 
 
 Valor da questão: 1,00 sua pontuação é 1,00
Essa questão foi cancelada e os pontos serão atribuídos para você. 
Sobre a parte de comunicação, leia atentamente as sentenças abaixo: 
 
I - Para comunicações efetivas entre sistemas microprocessados, algumas regras devem ser obedecidas para a 
transmissão de dados, tais como a taxa, a forma e o protocolo de envio. 
II - Utilizando microcontroladores da família PIC, podemos usar qualquer porta de I/O do mesmo para realizar uma 
comunicação do tipo RS-232. 
III - A comunicação do tipo USB (Universal Serial Bus) utiliza 2 pinos básicos do PIC, sendo eles o TX e o RX. 
IV - Na comunicação serial síncrona sempre existe pelo menos um MESTRE e um ou mais ESCRAVOS (SLAVES). 
 
É CORRETO apenas o que se afirma em: 
 
 
 
Apenas as sentenças I e III são verdadeiras. 
 
Apenas as sentenças III e IV são verdadeiras. 
 
Apenas a sentença III é falsa. 
 
Apenas a sentença I é verdadeira. 
 
Apenas a sentença II é falsa. 
 
 
Semana 08 
 
A família STM32F10xxx possui três opções de boot. Assinale a alternativa que contenha essas opções: 
 
 
 
pela memória flash interna, pela memória operacional e pela memória PROM interna. 
 
pela memória flash externa, pelo DMA e pela memória ROM interna. 
 
pela memória flash externa, pela memória do sistema e pela memória ROM interna. 
 
pela memória flash interna, pela memória do sistema e pela memória SRAM interna. 
 
pela memória flash externa, pelo DMA e pela memória EPROM interna. 
 
 
Os microcontroladores da família STM32 possuem circuitos de supervisor de tensão interna. 
Esses circuitos estão sempre ativos e garantem a operação correta dos circuitos a partir ou abaixo de 2V. 
Esses circuitos são denominados: 
 
 
 
Low Power Reset. 
 
Power On Reset e Power Down Reset. 
 
Brown On Reset e Brown Out Reset. 
 
High Power Reset. 
 
Power Down Reset. 
 
 
 
 
Semana 09 
 
O conversor analógico digital do microcontrolador PIC16F87X trabalha com resoluçãode 8 ou 10 bits, 
para uma faixa padrão de tensão de entrada analógica de X a Y, onde X é a tensão VSS, a alimentação 
negativa e Y é a tensão VDD, alimentação positiva. Porém, é possível alterar os valores de X e Y através 
de duas entradas de referência, -VREF (tensão de referência negativa) e +VREF (tensão de referência 
positiva). Num circuito, usando o PIC16F87X, tem-se o valor 174 ao ler uma entrada analógica. Assinale 
abaixo a alternativa que indica a tensão aproximada de entrada sabendo que X = +1 V e Y = + 4 V, e a 
resolução do conversor é de 10 bits. 
 0.51 V 
 1.61 V 
 1.51 V 
 1.66 V 
 0.61 V 
 
O conversor analógico digital do microcontrolador PIC16F87x trabalha com resolução de 8 ou 10 bits, para uma faixa 
padrão de tensão de entrada analógica de X a Y, onde X é a tensão VSS, a alimentação negativa e Y é a tensão VDD, 
alimentação positiva. Porém, é possível alterar os valores de X e Y através de duas entradas de referência, -VREF (tensão 
de referência negativa) e +VREF (tensão de referência positiva). Num circuito, usando o PIC16F87x, tem-se o valor 
numérico 235 ao ler a entrada analógica. Assinale abaixo a alternativa que indica a tensão de entrada sabendo 
que X = +1V e Y = +4V, e a resolução do conversor é de 10 bits. 
 3,311V 
 1,688V 
 0,688V 
 2,754V 
 3,754V 
 
 
ÚltimoSSssss:

Continue navegando