SISTEMAS DIGITAIS MICROCONTROLADOS


Sobre memória de dados, memória de programa e registradores pode-se afirmar que:

I - O mapa de memória de dados pode ser diferente para os microcontroladores da empresa Microchip.
II - Geralmente, os microcontroladores possuem pequenas reservas de memória de dados que podem ser gravadas durante sua execução (memória ROM).
III - A memória de programa utiliza tecnologia flash, que é um tipo de memória derivada da memória RAM.
IV - A memória RAM é dividida em 3 conjuntos de registradores: registradores matemáticos, registradores de dados e registradores de acessos.

É CORRETO apenas o que se afirma em:

Todas as sentenças são falsas.
Apenas as sentenças I e IV são verdadeiras.
Apenas a sentença I é verdadeira.
Apenas a sentença II é verdadeira.
Apenas a sentença III é falsa.
Leia atentamente as sentenças abaixo referente ao protocolo de comunicação CAN:

I - Foi criado para ser utilizado em ambientes isolados, sem índice de ruídos e interferências, em sistemas que necessitem de transmissão de mensagens sem prioridade e não havendo a necessidade de serem enviadas em tempo real.
II - Para se fazer a comunicação dos equipamentos, torna-se necessário apenas um par de fios, nomeados de CANH (High) e CANL (Low). A alimentação dos dispositivos deve ser fornecida separadamente.
III - No caso de um microcontrolador PIC não possuir um controlador CAN embutido, será necessário utilizar um transceiver, por exemplo, o MCP2551, da própria Microchip.
IV - O protocolo CAN é indicado para operar em ambientes externos, interligando equipamentos a longas distâncias.

É CORRETO apenas o que se afirma em:

Apenas a sentença II é falsa.
Apenas a sentença IV é falsa.
Apenas a sentença II é verdadeira.
Apenas a sentença I é falsa.
Todas as sentenças são falsas.

O sistema abaixo é uma calculadora simples que executa somente as operações de MULTIPLICAÇÃO e DIVISÃO. Como podemos perceber pelo diagrama eletrônico e também pelo código fonte, ela usa apenas os números 2, 3 e 4 nessas operações (Acompanhe a "legenda" das teclas no esquema).

Circuito:

Circuito

Código-fonte:

Código Fonte

Olhando a rotina do código fonte, percebe-se que foi criada uma variável"flag_tecla". Assinale a alternativa que melhor enuncia a função dessa variável:


Se essa variável e suas atribuições fossem excluídas do programa o sistema ainda assim funcionaria perfeitamente.


Ela garante que a primeira entrada de número seja armazenada na variável "a" e que a segunda entrada de número seja armazenada na variável "b", garantindo assim que os cálculos sejam sempre "a*b" ou "a/b".


Ela evita que a mesma tecla seja lida mais de uma vez quando pressionada, voltando a permitir uma nova leitura toda vez que essa tecla for pressionada novamente.


Ela evita que a mesma tecla seja lida mais de uma vez, voltando a permitir nova leitura toda vez a tecla pressionada for solta.


Ela evita que a mesma tecla seja lida mais de uma vez. Uma nova leitura de tecla só é possível pressionando-se a tecla RESETA.

Um microcontrolador PIC está utilizando um clock externo de 20 MHz. O temporizador TIMER0 foi configurado para um prescaler de 16 e o contador foi inicializado com 0. Qual o intervalo aproximado de interrupção do TIMER0?

Impossível calcular.
0.819 milissegundos.
1.286 milissegundos.
0.205 milissegundos.
0.483 milissegundos.

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.


Brown On Reset e Brown Out Reset.


Power On Reset e Power Down Reset.


Power Down Reset.


High Power Reset.

Sobre as memórias encontradas nos microcontroladores, analise as sentenças abaixo:

I - Todos os dispositivos de memória armazenam níveis lógicos binários (0s e 1s) em uma estrutura na forma de vetor. O tamanho de cada palavra binária (número de bits) armazenada varia dependendo da quantidade de dispositivos entrada ou saída.
II - Memória de acesso aleatório (RAM) é um termo genérico dado aos dispositivos que podem ter dados não voláteis que são facilmente escritos e lidos.
III - Os dados permanecem em um dispositivo RAM apenas enquanto a alimentação é aplicada.
IV - A memória de apena leitura (ROMs) tem seus dados gravados uma única vez e, a partir disso, seu conteúdo não muda.

É CORRETO apenas o que se afirma em:

Apenas as sentenças I e III são verdadeiras.
Apenas a sentença III é verdadeira.
Apenas as sentenças III e IV são verdadeiras.
Apenas as sentenças I e II são verdadeiras.
Apenas as sentenças II e III são verdadeiras.
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 116 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 8 bits.

2.36 V
1.36 V
3.18 V
2.00 V
1.00 V

Observe o circuito e o código-fonte abaixo:


cronometro.jpg

//==================== 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 iniciar o cronômetro o display é preenchido com zeros, aguardando o acionamento o botão “ON” para iniciar a contagem. Uma vez contando, todos os botões “ON”, “OFF” e “RESET” são 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ão “RESET” zera o contador.


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 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 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 contando, o único botão ativo é 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 botão ativo é 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 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.

Os microcontroladores da família STM32 possuem três modos de operação, assinale a alternativa que aponta esses três modos:


Principal / Normal / queda de energia.


Principal / baixo consumo / queda de energia.


Normal / baixo consumo / sleep.


Alto desempenho / normal / economia de energia.


Alto desempenho / principal / sleep.

Leia atentamente as sentenças abaixo referente ao protocolo de comunicação CAN:

I - Foi criado para ser utilizado em ambientes isolados, sem índice de ruídos e interferências, em sistemas que necessitem de transmissão de mensagens sem prioridade e não havendo a necessidade de serem enviadas em tempo real.
II - Para se fazer a comunicação dos equipamentos, torna-se necessário apenas dois pares de fios, nomeados de CANH (High), CANL (Low), CANC (Clock) e CANG (Ground). A alimentação dos dispositivos é fornecida juntamente com os cabos de dados.
III - No caso de um microcontrolador PIC não possuir um controlador CAN embutido, será necessário utilizar um transceiver, por exemplo, o MCP2551, da própria Microchip.
IV - O protocolo CAN é indicado para operar em ambientes externos, interligando equipamentos a longas distâncias.

É CORRETO apenas o que se afirma em:

Apenas as sentenças III e IV são verdadeiras.
Apenas a sentença I é verdadeira.
Apenas a sentença III é falsa.
Apenas a sentença IV é verdadeira.
Apenas a sentença IV é falsa.
Páginas: 123456