Você está na página 1de 28

UNIVERSIDADE DE LUANDA

INSTITUTO DE TECNOLOGIA DE INFORMAÇÃO E COMUNICAÇÃO

TRABALHO DE MICROPROCESSADORES E
MICROCONTROLADORES

Luanda, 2024

1
UNIVERSIDADE DE LUANDA
INSTITUTO DE TECNOLOGIA DE INFORMAÇÃO E COMUNICAÇÃO

DEPARTAMENTO DE ENGENHARIA DE
TELECOMUNICAÇÕES

TRABALHO DE MICROPROCESSADORES E
MICROCONTROLADORES

KIALA JOÃO ANTÓNIO MÁRIO


Nº DE PROCESSO: 2022056
TURMA: A

O Docente
Mtec: Edmuene antonio

2
1. Explique a diferença entre microprocessador e microcontrolador.

R: Microprocessadores e microcontroladores são chips que processam


informações, mas têm funções diferentes:

 Microprocessador: CPU poderosa e complexa de um computador.


Requer memória e outros componentes externos para funcionar. Ideal
para tarefas demanding. (Ex: CPU de PC
 Microcontrolador: "Minicomputador" num único chip, com memória e
funções de controle integradas. É mais barato e simples, ideal para
controlar dispositivos embarcados. (Ex: Arduino).

Enquanto o microprocessador é voltado para processamento geral de dados em


sistemas computacionais, o microcontrolador é projetado para controle e
execução de tarefas específicas em sistemas embarcados e dispositivos
dedicados.

2. Compare e contraste microprocessadores e microcontroladores,


explicando suas funções e características únicas.
R: Microprocessadores e microcontroladores são dispositivos eletrônicos usados
para processamento de informações, mas com funções e características únicas:
Microprocessadores:
Função: O principal objetivo de um microprocessador é executar operações de
processamento de dados, como cálculos matemáticos, operações lógicas e
controle de fluxo de instruções. Ele é responsável por processar as instruções
do programa e gerenciar a execução das tarefas no sistema computacional.
Características únicas:
- Foco em processamento: Os microprocessadores são otimizados para realizar
operações de processamento de dados de forma eficiente e rápida.
- Flexibilidade: Eles oferecem flexibilidade na escolha dos componentes
adicionais, como memória, interfaces de entrada/saída (E/S) e controladores,
permitindo a configuração de sistemas computacionais personalizados.
- Aplicações variadas: São amplamente utilizados em computadores pessoais,
servidores, dispositivos móveis e outros sistemas que exigem capacidade de
processamento geral e suporte a uma variedade de aplicativos.

3
Microcontroladores:
Função: Os microcontroladores são projetados principalmente para controlar
dispositivos e sistemas específicos, executando tarefas pré-programadas em um
ambiente dedicado. Eles combinam uma CPU com memória, periféricos e
interfaces de E/S em um único chip.
Características únicas:
- Integração: São altamente integrados, incorporando CPU, memória (RAM,
ROM, EEPROM/Flash), periféricos (como ADC, PWM, temporizadores) e
interfaces de comunicação em um único chip.
- Controle dedicado: São otimizados para controle em tempo real e interação
com o ambiente físico, permitindo o controle de dispositivos externos, automação
de processos e sistemas embarcados.
- Baixo custo e consumo de energia: Geralmente são mais econômicos e
consomem menos energia em comparação com soluções que requerem
componentes separados.
Comparação:
Complexidade: Os microprocessadores são mais complexos em termos de
design e funcionalidade, pois requerem componentes adicionais para formar um
sistema completo. Os microcontroladores são mais simples e integrados,
adequados para aplicações de controle específicas.
Aplicações: Os microprocessadores são utilizados em sistemas computacionais
que demandam capacidade de processamento geral. Os microcontroladores são
empregados em sistemas embarcados, automação industrial, eletrônica de
consumo, entre outros, que exigem controle dedicado e interação com
dispositivos externos.
Flexibilidade vs. Integração: Os microprocessadores oferecem maior
flexibilidade na configuração de sistemas computacionais personalizados. Os
microcontroladores são altamente integrados e simplificam o projeto de sistemas
de controle e automação.

3. Quais são as parte s que constituem um microprocessador e um


microcontrolador.
R: Um microprocessador é composto por uma Unidade Central de
Processamento (CPU), Registradores, Memória Cache, Unidade de Controle
(UC), Unidade de Aritmética e Lógica (UAL) e Barramentos de Dados, Endereço
e Controle.
Já um microcontrolador inclui CPU, diversos tipos de memória (ROM, RAM,
EEPROM/Flash), periféricos integrados como ADC, temporizadores, portas de
E/S e comunicação serial, além de uma Unidade de Controle (UC) e barramentos
internos.
4
4. Diferencie a Arquitetura Harvard de Von Neumann.
R: A diferença principal entre essas arquiteturas está na organização da memória
e no acesso aos dados e instruções, influenciando diretamente o desempenho e
a eficiência do sistema computacional.
A Arquitetura de Von Neumann usa uma única memória para armazenar dados
e instruções, compartilhando um único barramento para acesso à memória. As
instruções e dados são acessados sequencialmente, o que pode limitar o
desempenho devido a possíveis atrasos no acesso à memória.
Por outro lado, a Arquitetura de Harvard emprega memórias separadas para
instruções e dados, com barramentos distintos para cada tipo de acesso. Isso
permite o acesso paralelo à memória de instruções e à memória de dados,
resultando em um potencial de desempenho superior, especialmente em
sistemas que exigem acesso rápido e eficiente a instruções e dados
simultaneamente.

5. Cita cinco principais vantagens da arquitetura Harvard e cinco


desvantagens da arquitetura Von Neuman.

R: Vantagens da Arquitetura Harvard:

1. Velocidade: Permite acesso simultâneo à memória de instruções e


dados, potencialmente aumentando a velocidade de processamento.
2. Segurança: A separação de memórias impede que instruções
maliciosas corrompam dados.
3. Simplicidade: Arquitetura mais simples, facilitando o desenvolvimento e
a depuração de hardware.
4. Custo: Potencialmente mais barata devidoo à necessidade de menos
componentes.
5. Eficiência energética: Menor consumo de energia por causa da
operação mais eficiente.

Desvantagens da Arquitetura Von Neumann:

1. Velocidade: O compartilhamento do barramento pode causar gargalos e


reduzir a velocidade de processamento.
2. Segurança: Vulnerabilidades na memória podem permitir a execução de
código malicioso.

5
3. Complexidade: Arquitetura mais complexa, dificultando o
desenvolvimento e a depuração de hardware.
4. Custo: Pode ser mais cara em alguns casos devido à necessidade de
componentes adicionais.
5. Eficiência energética: Maior consumo de energia por causa da
operação mais complexa.

6. Explica a diferença entre CPU RISC e CPU CISC.

A diferença entre CPU RISC (Reduced Instruction Set Computing) e CPU CISC
(Complex Instruction Set Computing) está principalmente relacionada ao design
e à execução das instruções pela unidade de processamento central (CPU) em
um computador. CPUs RISC priorizam simplicidade, execução rápida de
instruções e eficiência de código, enquanto CPUs CISC oferecem uma variedade
maior de instruções, incluindo algumas mais complexas, e são muitas vezes
projetadas com ênfase na compatibilidade com software legado.

7. Cita cinco vantagens CPU RISC e cinco vantagens CPU CISC.

Vantagens da CPU RISC:

1. Velocidade: Potencialmente mais rápida devido à simplicidade das instruções


e tempo de execução fixo.
2. Eficiência energética: Potencialmente mais eficiente devido à menor
quantidade de transistores e menor consumo de energia.
3. Custo: Potencialmente mais barata devido à simplicidade do design e menor
quantidade de componentes.
4. Escalabilidade: Facilidade de adicionar novos recursos e instruções ao
conjunto de instruções.
5. Facilidade de programação: Linguagem de assembly mais simples e fácil de
aprender.

Vantagens da CPU CISC:

1. Desempenho: Mais eficiente para algumas tarefas complexas que exigem


menos instruções.

6
2. Tamanho do código: Requer menos código para realizar as mesmas tarefas
complexas.
3. Compatibilidade: Compatibilidade com software legado e sistemas
operacionais antigos.
4. Flexibilidade: Maior flexibilidade de programação devido ao conjunto de
instruções mais rico.
5. Versatilidade: Ideal para uma ampla gama de aplicações, desde tarefas
simples até complexas.

8. Cita quatro vantagens CPU RISC e quatro vantagens CPU CISC.

Vantagens da CPU RISC:

1. Velocidade: Potencialmente mais rápida devido à simplicidade das instruções


e tempo de execução fixo.
2. Eficiência energética: Potencialmente mais eficiente devido à menor
quantidade de transistores e menor consumo de energia.
3. Custo: Potencialmente mais barata devido à simplicidade do design e menor
quantidade de componentes.
4. Escalabilidade: Facilidade de adicionar novos recursos e instruções ao
conjunto de instruções.

Vantagens da CPU CISC:

1. Desempenho: Mais eficiente para algumas tarefas complexas que exigem


menos instruções.
2. Tamanho do código: Requer menos código para realizar as mesmas tarefas
complexas.
3. Compatibilidade: Compatibilidade com software legado e sistemas
operacionais antigos.
4. Flexibilidade: Maior flexibilidade de programação devido ao conjunto de
instruções mais rico.

7
9. Qual é a diferença existente entre lógica computacional, lógica
Sequencial e lógica combinacional, e de exemplo de cada.

A diferença entre as três lógicas baseia se no facto de que a lógica combinacional


lida com circuitos cujas saídas dependem apenas das entradas atuais, a lógica
sequencial envolve elementos de memória e depende do estado anterior do
sistema, enquanto a lógica computacional abrange o projeto e a implementação
de sistemas digitais completos, incluindo ambos os tipos de lógica.
Lógica Combinacional:
É um tipo de lógica digital na qual a saída depende apenas das entradas atuais,
sem levar em conta o estado anterior do sistema.
Exemplo: Um circuito de soma binária é um exemplo de lógica combinacional.
Dadas duas entradas binárias (A e B), a saída (S) é a soma desses dois números,
sem levar em conta o histórico de operações anteriores.
Lógica Sequencial:
É um tipo de lógica digital que inclui elementos de memória, permitindo que a
saída seja influenciada pelo estado anterior do sistema.
Exemplo: Um contador binário é um exemplo de lógica sequencial. Ele conta de
0 a N, onde N é um número determinado, e a saída é influenciada pelo estado
atual do contador.
Lógica Computacional:
Refere-se ao conjunto de princípios e técnicas usados para projetar e
implementar circuitos digitais, incluindo lógica combinacional e sequencial.
Exemplo: Um processador é um exemplo de lógica computacional, pois inclui
tanto lógica combinacional (para operações como adição, subtração, etc.)
quanto lógica sequencial (para controlar a sequência de operações e o estado
do processador).

10. Qual é a diferença entre bit, nibble, byte e palavra associado com os
microprocessadores.

Diferença entre bit, nibble, byte e palavra em microprocessadores:

Bit: A menor unidade de informação em um computador. Um bit pode ser 0 ou


1.
Nibble: Um conjunto de 4 bits. Um nibble pode representar 16 valores
diferentes

8
Byte: Um conjunto de 8 bits. Um byte pode representar 256 valores diferentes.
É a unidade básica de armazenamento de dados em computadores.
Palavra: Um conjunto de bits que depende da arquitetura do
microprocessador. Em muitos processadores modernos, uma palavra tem 32
bits, o que permite representar 4.294.967.296 valores diferentes.

11. Sobre a folha de dados do PIC16F887 responde as perguntas a baixo.


12. Quantos bytes de palavras (word), Memória de dados (RAM) e Memória
de dados EEPROM podemos encontrar no PIC16F887.

No PIC16F887 podemos encontrar:


- Tamanho da Palavra (Word): 8 bits ou 1 byte.
- Memória de Dados RAM: 368 bytes.
- Memória de Dados EEPROM: 256 bytes.

13. Quantas instruções em Assembly o PIC16F887 possui, e menciona pelo


menos 15 instruções.

O PIC16F887 possui um conjunto de instruções de 73 instruções em Assembly.


Aqui estão 15 exemplos:

Instruções de movimento de dados:


 MOVF: Move um valor de um registrador para outro.
 MOVWF: Move um valor do registrador W para a memória.
 MOVLW: Move um valor literal para o registrador W.
Instruções matemáticas:
 ADDWF: Adiciona um valor do registrador W a outro registrador.
 SUBWF: Subtrai um valor do registrador W de outro registrador.
 MULWF: Multiplica um valor do registrador W por outro registrador.
Instruções de comparação:
 IORWF: Faz um "OR" bit a bit entre um valor do registrador W e outro
registrador.

9
 ANDWF: Faz um "AND" bit a bit entre um valor do registrador W e outro
registrador.
 XORWF: Faz um "XOR" bit a bit entre um valor do registrador W e outro
registrador.
Instruções de salto:
 GOTO: Pula para uma instrução específica.
 GOSUB: Pula para uma sub-rotina.
 RETURN: Retorna de uma sub-rotina.
Instruções de controle de bits:
 BCF: Limpa um bit em um registrador.
 BSF: Define um bit em um registrador.
 BTFSS: Testa se um bit em um registrador está definido.
Outras instruções:
 NOP: Não faz nada.
 CLRWDT: Limpa o watchdog timer.
 SLEEP: Coloca o microcontrolador em modo de hibernação.

14. Qual é a faixa de tensão de alimentação do PIC16F887.

A faixa de tensão de alimentação do PIC16F887 é de 2,0V a 5,5V.

15. Quantos temporizadores, Portas, Pinos de I/O, CCP e entradas


analógicas o PIC16F887 possui.

O microcontrolador PIC16F887 possui as seguintes características em termos


de temporizadores, portas, pinos de I/O, módulo CCP (Capture/Compare/PWM)
e entradas analógicas:

Temporizadores:
O PIC16F887 possui três temporizadores:
Timer0: Um temporizador de 8 bits com pré-divisor e modo de captura/comparação.
Timer1: Um temporizador de 16 bits com pré-divisor e modo de captura/comparação.
Timer2: Um temporizador de 8 bits com pós-divisor e modo de PWM.

10
Portas:
O PIC16F887 possui cinco portas:
Porta A: 8 pinos de E/S.
Porta B: 8 pinos de E/S.
Porta C: 8 pinos de E/S.
Porta D: 8 pinos de E/S.
Porta E: 3 pinos de E/S.
Pinos de I/O:
O PIC16F887 possui 40 pinos de E/S.
CCP:
O PIC16F887 possui dois módulos CCP (Capture/Compare/PWM):
CCP1: Associado ao Timer1.
CCP2: Associado ao Timer2.
Entradas analógicas:
O PIC16F887 possui 8 canais de entrada analógica de 10 bits.

16. Cite 5 áreas profissionais e 5 aplicações de projectos onde PIC16F887.

Áreas profissionais e aplicações de projetos com PIC16F887:

Áreas profissionais:

Eletrônica: Desenvolvimento de dispositivos eletrônicos embarcados, como


controladores de temperatura, sensores, alarmes e sistemas de automação.

Automação: Controle de máquinas e processos


industriais, robótica, automação residencial e predial.

Educação: Ensino de eletrônica digital, programação de microcontroladores


e desenvolvimento de projetos práticos.

Pesquisa e Desenvolvimento: Prototipagem de novos dispositivos


eletrônicos, desenvolvimento de algoritmos de controle e sistemas
embarcados.

Hobby: Construção de robôs, drones, aeromodelos, eletrônicos de


entretenimento e outros projetos pessoais.

11
Aplicações de projetos:

Controlador de temperatura: Controle de temperatura em


fornos, estufas, refrigeradores e outros sistemas de aquecimento e
resfriamento.

Sensor de luz: Detecção de presença de luz para acionamento de


lâmpadas, alarmes ou outros dispositivos.

Alarme de segurança: Monitoramento de portas e janelas para detecção de


invasões e acionamento de alarmes sonoros ou visuais.

Sistema de automação residencial: Controle de luzes, eletrodomésticos e


outros dispositivos através de um sistema centralizado.

Robô educacional: Plataforma para ensino de robótica, programação e


eletrônica, permitindo a criação de robôs que se movem, interagem com o
ambiente e executam tarefas.

17. Quantos tipos de memória podem ser encontrados no PIC16F887.

O PIC16F887 possui três tipos de memória:

1. Memória de programa:
 Armazena o código do programa que o microcontrolador executa.
 É do tipo Flash e tem capacidade de 368 palavras (words) de 16 bits
cada.
 Pode ser apagada e reprogramada eletricamente.
2. Memória de dados:
 Armazena dados temporários que o microcontrolador está usando
durante a execução do programa.
 É do tipo RAM e tem capacidade de 256 bytes de 8 bits cada.
 É volátil, o que significa que os dados são perdidos quando o
microcontrolador é desligado.
3. Memória de dados EEPROM:
 Armazena dados que precisam ser preservados mesmo quando o
microcontrolador é desligado.
 É do tipo EEPROM e tem capacidade de 128 bytes de 8 bits cada.
 Pode ser apagada e reprogramada eletricamente, mas o número de
vezes que isso pode ser feito é limitado.

12
18. Descreva o significado de cada: “pic”, “16”, “F”,”887”.

Significado do nome PIC16F887:

PIC:
Peripheral Interface Controller: Controlador de Interface Periférica.
Refere-se à família de microcontroladores da Microchip Technology.
16:
Indica que o microcontrolador possui uma arquitetura de 16 bits.
Isso significa que a CPU do microcontrolador pode processar dados de 16 bits de uma
vez.
F:
Indica que o microcontrolador possui memória Flash.
A memória Flash é um tipo de memória não volátil que pode ser apagada e
reprogramada eletricamente.
887:
É um número de série que identifica o modelo específico do microcontrolador.
Cada modelo de microcontrolador PIC tem um número de série único.

19. Em qual dos pinos do PIC16F887 podemos devemos ligar o sinal que
produz interrupção externa.

No PIC16F887, os pinos que podem ser usados para interrupções externas


são:

RB0/INT: Este pino é o pino dedicado para interrupções externas.

RB1: Este pino pode ser configurado como um pino de interrupção externa
secundária.

20. Qual é o consume de corrente do PIC16F887 operando (2.0V, 4MHz) e


(2.0V, 32 KHz).

Consumo de corrente típico do PIC16F887:

 2.0V, 4MHz:
o Ativo: 1.2 mA (típico)

13
o Sleep: 0.15 µA (típico)
 2.0V, 32KHz:
o Ativo: 0.3 mA (típico)
o Sleep: 0.05 µA (típico)

21. Diga qual é a arquitetura do PIC16F887

O microcontrolador PIC16F887 utiliza uma arquitetura baseada em RISC


(Reduced Instruction Set Computing), que é uma abordagem que favorece um
conjunto reduzido de instruções simples e diretas.

22. Qual é a frequência de operação PIC16F887.

A frequência de operação do PIC16F887 pode ser configurada pelo usuário em


diversos valores, desde 31 kHz até 32 MHz

23. Quantos conversores A/D existem no PIC16F887.

O PIC16F887 possui um conversor A/D (Analógico-Digital) de 10 bits.

Características do conversor A/D:

 Resolução: 10 bits, o que significa que pode converter um sinal analógico


em 1024 níveis discretos.
 Canais de entrada: 14 canais de entrada analógica, multiplexados.
 Tensão de referência: VREF+ e VREF-.
 Tempo de conversão: 2.0 µs (típico).

24. Diferencie Resistor de pull-up e pull-down no PIC16F887.


A diferença é entre o resistor de pull-up e pull-down está no facto de que, o
resistor de pull-up mantém o pino de I/O em estado alto quando não está sendo
ativamente conduzido, enquanto o resistor de pull-down mantém o pino de I/O
em estado baixo. Esses resistores são importantes para evitar flutuações e
garantir uma leitura confiável dos níveis lógicos nos pinos de I/O do PIC16F887.
O resistor de pull-up é conectado entre o pino de I/O e a alimentação positiva
(VDD) do microcontrolador. O resistor de pull-down é conectado entre o pino de
I/O e o (GND) do microcontrolador.

14
25. Qual é a função do chip MAX232 no PIC16F887.
A função principal do chip MAX232 em conjunto com o PIC16F887 é permitir a
comunicação serial entre o microcontrolador e outros dispositivos que utilizam a
interface RS-232, como computadores, módulos GPS, dispositivos de
comunicação, entre outros. Ele simplifica a integração de dispositivos com
diferentes níveis lógicos de tensão em um sistema de comunicação serial.
26. Define Memória RAM, Memória EEPROM, Memória ROM e Registros de
Propósito Gerais e, de exemplo de cada um.

Definições e Exemplos de Memórias e Registros no PIC16F887:

1. Memória RAM (Random Access Memory):

 Definição: Memória volátil de leitura/escrita que armazena dados


temporários que são perdidos quando o microcontrolador é desligado.
 Exemplo: Armazenamento de variáveis, buffers de dados, pilhas de
software.

2. Memória EEPROM (Electrically Erasable Programmable Read-Only


Memory):

 Definição: Memória não volátil de leitura/escrita que armazena dados que


são preservados mesmo quando o microcontrolador é desligado.
 Exemplo: Armazenamento de parâmetros de configuração, dados
permanentes, código de inicialização.

3. Memória ROM (Read-Only Memory):

 Definição: Memória não volátil de leitura que armazena o código do


programa que o microcontrolador executa.
 Exemplo: Armazenamento do firmware do PIC16F887, incluindo
instruções e constantes.

4. Registros de Propósito Geral (GPRs):

 Definição: Pequenas áreas de memória de alta velocidade que armazenam


dados temporários e configurações para o processador.
 Exemplo: Armazenamento de resultados de cálculos, endereços de
memória, flags de status.

Exemplos de Registros GPR no PIC16F887:

 WREG: Registrador de trabalho, usado para armazenar dados temporários


durante operações matemáticas e lógicas.
 STATUS: Registrador de status, armazena flags que indicam o estado do
processador, como carry, overflow e zero.
 PCL: Registrador de contador de programa, armazena o endereço da
próxima instrução a ser executada.

15
 FSR: Registrador de seleção de arquivo, usado para acessar bancos de
memória diferentes.

27. Quais pinos do PIC16F887 podem ser utilizados como entrada de


conversão A/D.

No PIC16F887, todos os pinos do PORTA (RA0-RA7) e PORTA (RE0-RE2)


podem ser utilizados como entrada de conversão A/D. Isso significa que pode
ser utilizado até 10 canais de entrada analógica para converter sinais analógicos
em valores digitais.

28. Quantos comparadores existem no PIC16F887 e, para que servem.

O PIC16F887 possui dois comparadores analógicos:


 Comparador 1 (C1): Compara duas tensões analógicas:
 Entrada positiva: Pino RA2/AN2.
 Entrada negativa: Pino RA3/AN3.
 Comparador 2 (C2): Compara uma tensão analógica com uma referência
interna:
 Entrada positiva: Pino RA4/AN4.
 Referência interna: Selecionável entre VDD, VREF/2 e VSS.
Os comparadores podem ser usados para:
 Comparar dois sinais analógicos:
o Monitorar a temperatura.
o Detectar a presença de um objeto.
o Controlar um motor.
 Comparar um sinal analógico com um valor de referência:
o Verificar se a tensão de uma bateria está dentro da faixa ideal.
o Ajustar o nível de um líquido em um tanque.
o Gerar um sinal de pulso com base em um sinal analógico.

16
29. Define PWM
A PWM, ou Modulação por Largura de Pulso, é uma técnica utilizada para
controlar a potência média entregue por um sinal elétrico. Ela funciona pulsando
rapidamente um sinal entre ligado e desligado, com o ciclo de trabalho
determinando a porção do tempo que o sinal está ligado em comparação com o
período total.

30. Cite cinco aplicações do PWM.

Cinco Aplicações da Modulação por Largura de Pulso (PWM):

1. Controle de Brilho de LED: A PWM é comumente usada para ajustar o brilho


de LEDs. Ao variar o ciclo de trabalho da PWM, você pode controlar a quantidade
de tempo que o LED fica ligado durante cada ciclo, alterando sua luminosidade.

2. Controle de Velocidade do Motor: A PWM também é utilizada para controlar


a velocidade de motores DC. Ajustando o ciclo de trabalho da PWM, você pode
variar a potência média fornecida ao motor, alterando sua velocidade de rotação.

3. Controle de Volume do Alto-Falante: Em alguns sistemas de alto-falantes,


a PWM é utilizada para controlar o volume do som. Ajustando o ciclo de trabalho
da PWM, você pode controlar a potência média fornecida ao diafragma do alto-
falante, alterando sua intensidade sonora.

4. Controle de Temperatura: A PWM pode ser utilizada para controlar a


temperatura de dispositivos como aquecedores e termostatos. Ajustando o ciclo
de trabalho da PWM, você pode controlar a quantidade de energia fornecida ao
dispositivo, regulando sua temperatura.

5. Carregadores de Bateria: A PWM é utilizada em alguns carregadores de


bateria para controlar a corrente de carga. Ajustando o ciclo de trabalho da PWM,
você pode garantir que a bateria seja carregada de forma segura e eficiente,
evitando sobrecarga e danos.

31. Qual a diferença entre modulo Usart e Uart.

A diferença entre módulo USART (Universal Synchronous/Asynchronous


Receiver/Transmitter) e UART (Universal Asynchronous Receiver/Transmitter)
está relacionada ao suporte a comunicação síncrona e assíncrona, bem como
aos recursos adicionais que cada um pode oferecer.
Em resumo, a principal diferença entre módulo USART e UART é que o USART
é uma versão mais avançada que suporta tanto a comunicação síncrona quanto

17
a assíncrona, além de oferecer recursos adicionais como detecção de erros e
controle de fluxo. Enquanto isso, o UART é mais simples e se limita à
comunicação assíncrona sem os recursos avançados do USART. A escolha entre
USART e UART depende das necessidades específicas de comunicação e dos
recursos exigidos pelo sistema.

32. Qual é o consumo de corrente do PIC no clock de 1 MHz e qual é o clock


máximo de operação do pic16F887

O consumo de corrente do PIC16F887 no clock de 1 MHz depende de vários


fatores, incluindo:

 Modo de operação:
o Modo Ativo:
 Corrente típica: 350 µA
 Corrente máxima: 1 mA
o Modo Sleep:
 Corrente típica: 20 µA
 Corrente máxima: 30 µA
 Tensão de alimentação:
o VDD = 5V: Corrente típica 350 µA (modo ativo), 20 µA (modo sleep)
o VDD = 3V: Corrente típica 200 µA (modo ativo), 10 µA (modo sleep)
 Periféricos utilizados:
o Usar periféricos aumenta o consumo de corrente.

O clock máximo de operação do PIC16F887 é de 20 MHz.

33. O que é ciclo de máquina.

O ciclo de máquina é a sequência fundamental de operações que a Unidade


Central de Processamento (CPU) realiza para executar cada instrução em um
programa. É a unidade básica de tempo na operação da CPU e define a
velocidade com que as instruções são processadas.

34. Quantos ciclos de máquinas são necessários para executar uma


instrução.

O número de ciclos de máquina necessários para executar uma instrução varia


de acordo com diversos fatores, como:
Complexidade da instrução, arquitetura da CPU, modo de operação e
periféricos.

18
No entanto, algumas estimativas podem ser feitas:

 Instruções simples: 1 a 2 ciclos de máquina


 Instruções complexas: 4 a 10 ciclos de máquina
 Instruções com acesso à memória: 10 a 20 ciclos de máquina

35. Diferencie compilador programa, instrução e firmware.

De um modo geral pode se dizer que a diferença consiste no facto de que, o


compilador é uma ferramenta que traduz o código-fonte de um programa em
código de máquina, o programa é o conjunto de instruções desenvolvido para
realizar uma tarefa específica, uma instrução é uma operação elementar
executada pelo processador, e o firmware é um tipo de software de baixo nível
incorporado em dispositivos eletrônicos para controlar o hardware e fornecer
funcionalidades essenciais.

36. Descreve os LCD 16x2 e 32x2 e descreve as suas conexões.

Displays LCD 16x2 e 32x2: Descrição e Conexões

Descrição:
 LCD 16x2:
o 16 colunas e 2 linhas de caracteres.
o Matriz de pontos 5x8 para cada caractere.
o Amplamente utilizado em projetos eletrônicos.
o Ideal para exibir informações curtas e simples.
 LCD 32x2:
o 32 colunas e 2 linhas de caracteres.
o Matriz de pontos 5x8 para cada caractere.
o Permite exibir mais informações na tela.
o Ideal para projetos que exigem mais espaço para exibição.
Conexões:
 Pinos de controle:
o RS (Register Select): Seleciona o registrador de dados ou de
instruções.

19
o RW (Read/Write): Define a operação de leitura ou escrita.
o E (Enable): Ativa a escrita no registrador selecionado.
o D0-D7 (Data Lines): Transmitem os dados a serem exibidos no LCD.
 Pinos de alimentação:
o Vdd: Tensão de alimentação positiva (5V).
o Vss: Tensão de alimentação negativa (0V).
 Pinos de contraste:
o Vo (Vee): Ajusta o contraste da tela.
Conexões com Arduino:
 LCD 16x2:
o RS: Pino 12 do Arduino.
o RW: Pino 11 do Arduino.
o E: Pino 10 do Arduino.
o D0-D7: Pinos 2-9 do Arduino.
 LCD 32x2:
o RS: Pino 12 do Arduino.
o RW: Pino 11 do Arduino.
o E: Pino 10 do Arduino.
o D0-D7: Pinos 2-9 e A0-A3 do Arduino (necessita de expansor de I/O).

37. Quantos tipos de clock externos e internos são utilizados no


pic16F887.
O PIC16F887 possui 4 tipos de clock, divididos em 2 categorias:

Clocks Internos:

1. Oscilador Interno (INTOSC):


o Frequência fixa de 31 kHz ou 4 MHz.
o Baixo consumo de energia.
o Precisão limitada.
2. Oscilador de Alta Velocidade (INTOSC8):
o Frequência fixa de 8 MHz.
o Maior consumo de energia que INTOSC.
o Precisão melhor que INTOSC.

20
Clocks Externos:

3. Oscilador de Cristal (HS):


o Utiliza cristal externo para definir a frequência.
o Frequência de 4 MHz a 20 MHz.
o Alta precisão.
o Maior consumo de energia que osciladores internos.
4. Relógio Externo (ECLK):
o Sinal de clock externo fornecido por outro dispositivo.
o Frequência de 0 a 20 MHz.
o Alta precisão.
o O consumo de energia depende da fonte do clock externo.

38. Define Endereçamento de Memória: Endereçamento direto,


Endereçamento implícito, Endereçamento indireto, Endereçamento
indexado’ A pilha (stack) Sub-rotinas e a utilização da pilha.

Endereçamento de Memória:

O endereçamento de memória é o processo de determinar a localização de um


dado específico na memória do computador. Cada local de memória possui um
endereço único, que é um número que identifica sua posição na memória.

Tipos de Endereçamento:
1. Endereçamento Direto:
 O endereço do dado é especificado diretamente na instrução.
 Exemplo: MOV A, 0x100, onde 0x100 é o endereço do dado na memória.
 Vantagem: Simples e eficiente.
 Desvantagem: Limitado a um número específico de endereços.
2. Endereçamento Implícito:
 O endereço do dado é implícito na instrução e não precisa ser especificado.
 Exemplo: ADD A, B, onde A e B são registradores da CPU.
 Vantagem: Mais compacto e eficiente para operações com registradores.
 Desvantagem: Menos flexível que o endereçamento direto.
3. Endereçamento Indireto:
 O endereço do dado é armazenado em outro local da memória, que é chamado
de ponteiro.
 O valor do ponteiro é usado para acessar o dado.
 Exemplo: MOV A, [PTR], onde PTR é o endereço do ponteiro na memória.

21
 Vantagem: Permite acessar qualquer local da memória, mesmo que o
endereço não seja conhecido em tempo de compilação.
 Desvantagem: Mais complexo e menos eficiente que o endereçamento direto.
4. Endereçamento Indexado:
 O endereço do dado é calculado a partir de um endereço base e um índice.
 O índice é um valor que especifica a posição do dado em relação ao endereço
base.
 Exemplo: MOV A, [BASE + INDEX], onde BASE é o endereço base e INDEX
é o índice.
 Vantagem: Permite acessar dados em arrays e outras estruturas de dados de
forma eficiente.
 Desvantagem: Mais complexo que o endereçamento direto.
A Pilha (Stack):
 A pilha é uma estrutura de dados LIFO (Last-In-First-Out).
 Os dados são adicionados e removidos da pilha no topo.
 A pilha é usada para armazenar dados temporários, como argumentos de
funções e variáveis locais.
Sub-rotinas e a Utilização da Pilha:
 As sub-rotinas são blocos de código que podem ser chamados de outras
partes do programa.
 Ao chamar uma sub-rotina, os argumentos da sub-rotina e o endereço de
retorno são armazenados na pilha.
 Ao retornar da sub-rotina, os valores da pilha são restaurados.

39. Define Microprocessador, Arquitetura genérica, Códigos de instrução


Barramentos, Registradores de uma CPU, Utilização dos registradores e
Unidade Lógica e Aritmética.

Microprocessador:

O microprocessador, também conhecido como CPU (Central Processing Unit),


é o circuito integrado responsável por executar as instruções de um programa
de computador. É considerado o "cérebro" do computador, pois controla o
processamento de dados e a execução das operações matemáticas e lógicas.

22
Arquitetura Genérica:

A arquitetura genérica de um microprocessador inclui os seguintes


componentes:

 Unidade Lógica e Aritmética (ULA): Realiza operações matemáticas e


lógicas nos dados.
 Unidade de Controle (UC): Controla o fluxo de instruções e a operação
das demais unidades do processador.
 Registradores: Armazenam dados temporários e instruções durante o
processamento.
 Barramentos: Permitem a transferência de dados entre os diversos
componentes do processador.

Códigos de Instrução:

Os códigos de instrução são instruções que o processador pode executar.


Cada código de instrução especifica uma operação específica que o
processador deve realizar.

Barramentos:

Os barramentos são canais de comunicação que permitem a transferência de


dados entre os diversos componentes do computador. Os principais tipos de
barramentos são:

 Barramento de dados: Transporta dados entre a CPU e a memória.


 Barramento de endereços: Especifica o endereço de memória onde os
dados serão acessados.
 Barramento de controle: Controla as operações de leitura e escrita na
memória.

Registradores de uma CPU:

Os registradores da CPU são memórias de alta velocidade que armazenam


dados temporários e instruções durante o processamento. Os principais tipos
de registradores são:

 Registradores de uso geral: Armazenam dados temporários que


podem ser usados por qualquer instrução.
 Registradores de propósito específico: Armazenam dados
específicos, como o endereço da próxima instrução a ser executada.

Utilização dos Registradores:

Os registradores são utilizados para:

 Armazenar dados temporários durante o processamento de instruções.


 Armazenar instruções que estão sendo executadas.
 Armazenar o estado atual da CPU.

23
Unidade Lógica e Aritmética (ULA):

A ULA é a unidade responsável por realizar operações matemáticas e lógicas


nos dados. As principais operações realizadas pela ULA são:

 Adição: Soma dois números.


 Subtração: Subtrai um número de outro.
 Multiplicação: Multiplica dois números.
 Divisão: Divide um número por outro.
 E lógico: Retorna 1 se ambos os operandos forem 1.
 OU lógico: Retorna 1 se pelo menos um dos operandos for 1.
 NÃO lógico: Retorna o complemento lógico do operando.

40. Define Microprocessador, Unidade de Controle: Temporização de


instruções; Ciclos de instruções e ciclo de máquina; Decodificação de
instruções Microinstruções; Microprogramas;

Microprocessador e Unidade de Controle:

Microprocessador:

O microprocessador, também conhecido como CPU (Central Processing Unit),


é o circuito integrado responsável por executar as instruções de um programa
de computador. É considerado o "cérebro" do computador, pois controla o
processamento de dados e a execução das operações matemáticas e lógicas.

Unidade de Controle (UC):

A UC é um componente do microprocessador responsável por controlar o fluxo


de instruções e a operação das demais unidades do processador. A UC é
como o maestro de uma orquestra, que garante que todas as partes do
computador trabalhem juntas de forma sincronizada.

Temporização de instruções:

A UC controla a temporização das instruções, que é a sequência de eventos


que ocorre para executar uma instrução. A temporização das instruções é
dividida em:

 Ciclo de busca: A UC busca a próxima instrução da memória.


 Ciclo de decodificação: A UC decodifica a instrução para determinar
qual operação deve ser realizada.
24
 Ciclo de execução: A UC executa a operação especificada na
instrução.
Ciclos de instruções e ciclo de máquina:

O ciclo de instrução é a sequência completa de eventos que ocorre para


executar uma instrução. O ciclo de máquina é a menor unidade de tempo na
operação do computador. Um ciclo de instrução pode ser composto por vários
ciclos de máquina.

Decodificação de instruções:

A UC decodifica a instrução para determinar qual operação deve ser realizada.


A decodificação da instrução é realizada em várias etapas:

 Leitura da instrução: A instrução é lida da memória.


 Análise da instrução: O opcode da instrução é analisado para
determinar qual operação deve ser realizada.
 Obtenção dos operandos: Os operandos da instrução são obtidos da
memória ou dos registradores.
Microinstruções:

As microinstruções são instruções simples que controlam as operações básicas


do processador. As microinstruções são usadas para implementar as
instruções complexas do conjunto de instruções do processador.

Microprogramas:

Um microprograma é um conjunto de microinstruções que implementa uma


instrução do conjunto de instruções do processador. Os microprogramas são
armazenados em uma memória especial chamada de memória de controle.

25
41. Define Lógica Externa à CPU: Interfaceamento de memória,
Transferência de dados, E/S programada, E/S por interrupção, Acesso
direto à memória (DMA).
A Lógica Externa à CPU refere-se aos mecanismos e processos que permitem
à CPU (Unidade Central de Processamento) interagir com componentes
externos, como memória, dispositivos de entrada/saída (E/S) e outros
periféricos. Esses elementos são cruciais para o funcionamento adequado de
um sistema computacional e incluem o interfaceamento de memória,
transferência de dados, E/S programada, E/S por interrupção e acesso direto à
memória (DMA).
Interfaceamento de Memória:
- Refere-se ao processo pelo qual a CPU interage com a memória do sistema
para ler ou escrever dados.
- Isso envolve endereçamento de memória, controle de leitura/gravação e
gerenciamento de ciclos de memória para acessar informações armazenadas na
memória RAM, ROM, cache ou outros tipos de memória.

Transferência de Dados:
- É o processo de mover dados entre a CPU e periféricos externos, como
discos rígidos, dispositivos de armazenamento, placas de rede, entre outros.
- Pode ser realizado de forma síncrona ou assíncrona, dependendo dos
requisitos de velocidade e sincronização entre os dispositivos.
E/S Programada:
- É um método de transferência de dados em que a CPU controla diretamente
o fluxo de dados entre ela e os dispositivos de E/S.
- A CPU inicia, monitora e finaliza as operações de E/S, geralmente por meio
de instruções específicas de E/S no código do programa.
E/S por Interrupção:
- Neste método, a CPU é notificada por meio de interrupções quando um
dispositivo de E/S precisa de atenção ou conclui uma operação.
- A CPU interrompe sua execução normal para lidar com a solicitação do
dispositivo de E/S, retomando a execução do programa principal após a
conclusão da operação de E/S.

26
Acesso Direto à Memória (DMA):
- É um mecanismo que permite a transferência direta de dados entre
dispositivos de E/S e a memória do sistema sem a intervenção constante da
CPU.
- O DMA assume temporariamente o controle do barramento de dados para
realizar transferências de dados em alta velocidade, liberando a CPU para outras
tarefas enquanto a transferência ocorre.

42. Define Organização e Gerenciamento de Memória: hierarquia de


memória, Memória virtual, Memória cache e Segmentação de memória.

A organização e gerenciamento de memória são aspectos cruciais dos sistemas


de computação que visam otimizar o uso e o acesso à memória do sistema,
garantindo eficiência e desempenho adequados. Aqui está uma explicação de
alguns conceitos relacionados à organização e gerenciamento de memória:

Hierarquia de Memória:
- Refere-se à estrutura organizacional da memória em um sistema
computacional, que geralmente é dividida em diferentes níveis ou camadas de
memória com diferentes características de capacidade, velocidade e custo.
- A hierarquia típica de memória inclui registros, cache L1, cache L2, memória
principal (RAM), memória secundária (como disco rígido ou SSD) e memória
offline (como fita magnética).

Memória Virtual:
- É uma técnica que permite que um sistema operacional utilize uma
quantidade de memória maior do que a memória física disponível, fazendo uso
de armazenamento em disco para armazenar partes menos utilizadas da
memória.
- A memória virtual é gerenciada pelo sistema operacional por meio de
mecanismos como paginação e segmentação, permitindo que programas
executem em um espaço de endereço virtual maior do que a memória física real.

27
Memória Cache:
- É uma memória de alta velocidade e baixa capacidade que armazena dados
frequentemente acessados pela CPU.
- A memória cache é organizada em múltiplos níveis (como L1, L2, L3) na
hierarquia de memória, onde cada nível é mais rápido, porém menor em
capacidade, do que o nível abaixo.
- O uso da memória cache reduz o tempo de acesso à memória principal (RAM)
e melhora o desempenho geral do sistema.

Segmentação de Memória:
- É uma técnica de gerenciamento de memória que divide o espaço de
endereçamento lógico em segmentos ou blocos de tamanhos variáveis.
- Cada segmento pode conter diferentes partes do programa ou dados,
facilitando a organização e alocação de memória para processos e aplicativos.
- A segmentação é comumente usada em sistemas operacionais para fornecer
proteção de memória e permitir o compartilhamento de memória entre processos
de maneira mais flexível.

28

Você também pode gostar