MICROPROCESSADORES E CLP
ENGENHARIA DA COMPUTAÇÃO
Correção da Prova
Edna Mie Kanazawa
[email protected]
Questão 01
• (0,5 ponto) Os microcontroladores são pequenos dispositivos dotados de “inteligência”, basicamente constituídos de CPU, memória e periféricos. Sobre microcontroladores é correto afirmar que:
I. Suas dimensões reduzidas são resultantes de alta capacidade de integração, em que milhões de componentes são inseridos em uma única pastilha de silício pela técnica de circuitos integrados. II. Os microcontroladores são encontrados em equipamentos digitais, como celulares, MP3 player,
impressoras, robótica, instrumentação, entre outros.
III. As duas principais arquiteturas de microcontroladores e microprocessadores são Havard e Von-Neumann. IV. As memórias presentes nos microcontroladores são responsáveis pelo armazenamento do programa dos
dados e podem ser do tipo volátil e não volátil.
V. Pinos de I/O estão presentes em todos os microcontroladores.
• É correto o que consta APENAS em:
a) I, II e III b) III, IV e V c) II, IV e V d) III
Questão 02
• (0,5 ponto) Os computadores têm, desde o seu aparecimento, ajudado o homem, na resolução de operações matemáticas. Apesar da história nos contar e mostrar inúmeros dispositivos de computação matemática, baseados em processos
puramente mecânicos, hoje em dia as pessoas pensam em computadores, como dispositivos eletrônicos. Em 1976 a Intel apresenta ao mundo o microcontrolador de 8 bits, o MCS-48 e também o famoso microprocessador 8085. No mesmo ano a Zilog lança o famoso microprocessador Z80 que deu origem aos computadores ZX Spectrum. É nesta altura que surge então a distinção entre microprocessador e microcontrolador. Sobre esta diferença podemos afirmar que:
I. Um microprocessador é um circuito muito complexo, em forma de circuito integrado, que pode conter entre alguns milhares a 7 milhões de transistores. Estes transistores internos constituem os mais diversos circuitos lógicos: como contadores, registradores, decodificadores, e centenas de outros. Estes circuitos lógicos são dispostos de maneira complexa, dando ao microprocessador a capacidade de executar operações lógicas, aritméticas, e de controle.
II. Para utilizarmos um microprocessador outros componentes como a memória tem que ser conectados ao chip, por meio de circuitos externos que irão prover a comunicação correta entre o microprocessador e o dispositivo.
III. Um microcontrolador não exige circuitos externos para funcionar, dentro dele se encontram todos os periféricos necessários para o seu correto funcionamento.
IV. Os microcontroladores são menos poderosos, mais lentos e possuem um espaço de endereçamento menor que os microprocessadores.
V. Microcontroladores permitem a implementação de sistemas mais compactos.
VI. O conjunto de instruções de um microcontrolador limita-se as instruções mais simples de um microprocessador.
• É correto o que consta APENAS em a) I
b) II c) III d) IV, V e VI
Questão 03
• (0,5 ponto) A tarefa de programação constitui-se basicamente num processo de identificação e solução de problemas. Para isto o programador deve utilizar um conjunto de procedimentos genéricos. Esses
procedimentos genéricos são basicamente: exposição do problema, análise da solução, codificação da solução, tradução do código e depuração. Sobre as fases de análise, codificação, tradução e depuração podemos afirmar que:
I. Na análise e codificação da solução podemos utilizar diagramas e fluxogramas para a construção gráfica de algoritmos, o que permite uma melhor visualização dos passos envolvidos na busca da construção do sistema.
II. O fluxograma não permite a construção gráfica da solução na fase de análise, pois os objetos para esta apresentação gráfica são muitos simples.
III. Durante a fase de codificação do algoritmo, o programador não deve utilizar ferramentas ou programas de computador especiais, denominados geradores de programas, que realizam automaticamente a tarefa de conversão de um algoritmo em códigos ou mesmo comandos de determinada linguagem.
IV. No processo de tradução são usados programas especiais que podem ser de dois tipos: interpretadores e compiladores.
V. A fase de depuração permite ao programador a checagem a qualquer tempo do estado do programa, verificação de variáveis, etc.
• É correto o que consta APENAS em
a) I, II e III b) II, III e IV c) I, III, IV e V d) I, II, III e IV
Questão 04
• (0,5 ponto) A Microchip é o fabricante dos microcontroladores PIC. Atualmente ela e uma das maiores fabricantes mundiais de microcontroladores de 8 bits. Alem de microcontroladores, a Microchip também fabrica memórias e outros componentes digitais, alem de uma vasta linha de componentes analógicos. Os microcontroladores PIC’s são divididos em famílias. Cada família, ou linha, tem vários componentes, com tamanhos e recursos diferentes, no entanto o código desenvolvido para um componente de uma determinada família é compatível com os demais componentes da mesma família, exceto por umas poucas alterações, que se referem principalmente aos periféricos. Cada família tem seu próprio set (conjunto) de instruções. Sobre as características da família PIC 18F podemos afirmar que:
I. O PIC da família 18F trata-se de um microcontrolador de 8 bits e seu barramento de programa é de 16 bits.
II. A arquitetura do PIC da família 18F segue a arquitetura Harvard onde as memórias de programa e dados são separados e acessados por diferentes barramentos. Dessa maneira, uma instrução pode ser lida da memória de programa ao mesmo tempo em que a instrução anterior é executada utilizando o barramento de dados, o que é chamado de paralelismo ou pipeline.
III. O PIC da família 18F internamente dispõe de todos os dispositivos típicos de um sistema microprocessado, ou seja, uma CPU e sua finalidade é interpretar as instruções de programa.
IV. O PIC da família 18F possui uma série de LINHAS de I/O para controlar dispositivos externos ou receber pulsos de sensores, chaves, etc.
V. O PIC da família 18F é um dispositivo programável, o programa tem como objetivo deixar instruções para que o PIC possa fazer atividades definidas pelo programador.
• É correto o que consta APENAS em
a) I, II, III, IV e V
b) II c) I d) III e IV e) V
Questão 05
• (0,5 ponto) O MpLab é um ambiente integrado de desenvolvimento (I.D.E.: Integrated Development Environment). No mesmo ambiente o usuário pode executar todos os procedimentos relativos ao desenvolvimento de um software para o PIC (edição, compilação, simulação, gravação), tornando o trabalho do projetista mais produtivo. Sobre o MpLab podemos afirmar que:
I. O MpLab possui um editor de texto para desenvolvimento dos programas e possui diversas ferramentas de auxílio como localizar, substituir, recortar, copiar e colar.
II. Compilar significa traduzir um programa escrito em C ou Assembly (mnemônicos) para linguagem de máquina. O Mplab permite compilar o programa e gerar um arquivo com extensão .hex a partir dos
arquivos de código fonte (.c ou asm). É o conteúdo do arquivo hexadecimal que é gravado na memória de programa do PIC.
III. O MpLab possui ferramentas para simulação do programa no próprio computador, possibilitando a execução passo a passo, visualização e edição do conteúdo dos registradores, edição de estímulos (entradas), contagem de tempo de execução, etc.
IV. Para que o programa seja executado no microcontrolador, o arquivo hexadecimal deve ser gravado no PIC. O MpLab oferece suporte aos gravadores fabricados pela Microchip.
V. O MpLab SIM é a ferramenta que permite debugar o programa para verificação antes da gravação efetiva no PIC.
• É correto o que consta APENAS em
a) I b) II c) I d) III e IV
Questão 06
• (0,5 ponto) O timer é um periférico básico encontrado praticamente em todo microcontrolador. Na forma mais simples é um contador que é incrementado pelo clock, ao atingir a contagem máxima uma
interrupção pode ser gerada. A partir desta interrupção o software gera as temporizações necessárias. Sobre as características dos timers no PIC 18F podemos afirmar que:
I. Na família PIC 18F existem 4 módulos temporizadores (Timer0, Timer1, Timer2 e Timer4), que podem operar como temporizador ou como contador de pulsos.
II. Configurado como temporizador, o Timer0, conta os ciclos de instruções produzidos pelo oscilador de clock.
III. A contagem dos ciclos de instruções ou de pulsos é registrada pelo incremento do registrador TMR0. IV. O Timer0 não pode operador com contador, pois sua função é trabalhar somente como temporizador. V. Os contadores e temporizados são configurados somente via hardware, dificultando o controle dos
mesmos.
VI. A função de prescaler existente nos timers do PIC pode ser utilizada para retardar o incremento do TMR0.
•
• É correto o que consta APENAS em:
a) I, II, III e VI
b) II e III c) I, II e III d) IV e V
Questão 07
•
(1 ponto) Em quanto tempo o módulo Timer0 irá estourar se
for iniciado com valor 0x0000, com um prescaler de 1:256 e
com uma frequência de clock de 4MHz?
•
Se o Timer0 for configurado para operar como contador de 8
bits
–
T = 1/(4 x 10^6/256) * 2 ^ 8 = 16,384 ms
•
Se o Timer0 for configurado para operar como contador de 16
bits
Questão 08
• (0,5 ponto) A interrupção é um recurso poderoso se utilizado corretamente. A interrupção é um evento de hardware que provoca uma interrupção na execução do programa e um desvio incondicional para que o evento seja tratado. Uma vez que o evento foi tratado o programa retorna ao ponto que foi interrompido e sua execução continua. Sobre o recurso de
interrupção disponível nos microcontroladores PIC 18F podemos afirmar que:
I. O evento de interrupção gera descontrole na aplicação e não é recomendado a sua utilização.
II. O evento de interrupção é um evento assíncrono, pois pode ocorrer em qualquer ponto do programa principal. III. Ocorrendo o evento responsável pela interrupção, o programa principal é interrompido, sendo desviado para um dos
vetores de interrupção, o endereço 0x0008 ou o endereço 0x0018 da memória de programa, dependendo o nível de prioridade.
IV. Se durante o tratamento de uma interrupção de baixa prioridade ocorrer uma interrupção de alta prioridade este evento não é tratado.
V. Todas as interrupções geradas devem ser tratadas primeiramente como alta prioridade e em seguida classificadas como alta ou baixa.
• É correto o que consta APENAS em: a) I e II
b) II e III
c) I, II e III d) IV e V
Questão 09
•
(1 ponto) Desenvolva um programa que deve
comportar-se como um “segredo eletrônico”.
O microcontrolador espera uma combinação
de 2 chaves, ligadas no PORTB (RB0 – RB1), e,
se esta combinação ocorrer, todos os LEDs
ligados ao PORTD (RD0 – RD7) devem se
acender. Caso contrario, eles permanecem
apagados. A combinação deve ser 1-1.
void main (void) {
while (1) {
TRISBbits.TRISB0 = 1; //0 - saida 1 – entrada TRISBbits.TRISB1 = 1;
TRISD = 0;
if (PORTBbits.RB0 == 1 && PORTBbits.RB1 ==1 ) { PORTD = 1; } else { PORTD = 0; } } }
Questão 10
•
(1,5 pontos) Desenvolva um programa que
deve apresentar o valor do contador (0-9) no
display de 7 segmentos. Configure o Timer0
para incrementar o contador a cada 1
•
Frequencia: 4Mhz
•
Prescaler: 64
•
Frequencia/Prescaler: 4Mhz/64
•
Periodo: 1/(4Mhz/64)
•
Numero de Pulsos: 16 bits = 65536
Teste a b c d e 1 x 2 x 3 x 4 X 5 x 6 x 8 x
void main( void ) {
int result; int contador;
OpenTimer0( TIMER_INT_OFF & T0_16BIT & T0_SOURCE_INT & T0_PS_1_64); WriteTimer0( 0 ); TRISD = 0; TRISB = 0; contador = 0; while( 1 ) {
result = ReadTimer0(); // faz leitura do timer
if( result > 65534 ) // verifica se a contagem atingiu o valor desejado { if (contador > 9) contador = 0; else { //escreve no display PORTBbits.RB7=1; PORTD=display7s(contador); contador++; } } }
CloseTimer0(); // close modules }