Buscar

AULA 1

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

AULA 1 
LÓGICA E 
MICROCONTROLADORES 
Prof. Charles Way Hun Fung 
 
 
2 
TEMA 1 – CONCEITOS BÁSICOS DE COMPUTAÇÃO 
Antes de introduzir os microprocessadores, é necessário conhecer alguns 
conceitos básicos que serão muito úteis para o entendimento dos assuntos 
abordados. Nesta área, pequenos conhecimentos se transformam em algo 
complexo, portanto, a compreensão de cada termo facilita o aprendizado futuro. 
1.1 Bit 
A abreviação de dígito binário, que pode variar entre dois valores possíveis 
0, ou nível baixo, e 1, ou nível alto. Normalmente o nível baixo corresponde a 0 V, 
e o nível alto corresponde a 5 V ou 3,3 V, dependendo do circuito eletrônico 
(Gimenez, 2010). 
1.2 Byte 
Consiste em uma representação numérica de 8 bits, de números de zero a 
255. Para representá-los, são utilizadas bases numéricas como a binária (base 2) 
ou a hexadecimal (base 16). Por exemplo, 0h = 010, em que o lado esquerdo 
representa o número em hexadecimal, e do lado direito é o número em decimal. 
000000002 = 010, do lado esquerdo, é o número em binário com 8 bits. 
1.3 Instruções 
São ações que podem ser executadas por um microprocessador, e só 
ocorrem uma por vez. Podemos classificá-las em: leitura, escrita, aritmética ou 
lógica. Por exemplo, uma instrução muito comum é a MOV, usada para copiar 
dados de uma posição de memória para outra. O formato de uma instrução é 
definido pelo fabricante, podendo variar a quantidade de bytes usados para defini-
la. Cada família de processadores possui um conjunto de instruções diferente. Por 
isso, um código desenvolvido para um processador pode não funcionar em outro 
conjunto de processadores. 
1.4 Programa ou software 
É um conjunto de instruções organizadas escritas em uma linguagem de 
programação específica, que resolve um problema seguindo ordem lógica. Estes 
programas podem ser classificados em: básicos ou sistemas operacionais, 
 
 
3 
utilitários e aplicativos. Os sistemas operacionais são os softwares que fazem toda 
a interface entre o usuário e os recursos disponíveis, por exemplo: DOS, Windows, 
Linux. Os utilitários disponibilizam recursos do sistema para o usuário, por 
exemplo: PCShell ou bibliotecas de desenvolvimento. Por último, os aplicativos 
são programas que o usuário utiliza: Excel, Word, navegadores. Estes softwares 
devem estar armazenados em uma memória (Monteiro, 2010). 
1.5 Firmware 
É um programa desenvolvido em nível intermediário, entre linguagem de 
máquina e nível de hardware (Monteiro, 2010). Na prática, é um programa 
desenvolvido para ser embarcado em microprocessadores. 
1.6 Hardware 
Consiste no conjunto de circuitos eletrônicos que formam todo o sistema 
computacional: processador, memórias, monitor, mouse, impressora etc. 
1.7 Microcomputador 
Consiste em um equipamento compacto com o objetivo de simular o 
cérebro humano. Possui grande velocidade de processamento, alta capacidade 
de armazenamento e alta confiabilidade nas atividades executadas. Pode ser 
subdividido em algumas partes: Unidade Central de Processamento (UCP), 
unidade de memória e unidade de entrada e saída (Gimenez, 2010). 
1.8 Memória 
Consiste no local onde são armazenados os dados, subdividido em 
pequenas regiões chamadas células, compostas por uma quantidade de bits. 
Normalmente os computadores utilizam células de 8 bits, mas existem 
computadores de gerações passadas que usavam células de tamanho igual a 16, 
32 ou até 60 bits (Machado, 2010). As memórias podem ser classificadas como 
principais e secundárias. A memória principal armazena os programas que está 
executando, ou memória RAM (Random Access Memory – memória de acesso 
aleatório). As secundárias são memórias de grande porte que armazenam todos 
os programas presentes no computador – pode-se considerar o disco rígido como 
memória secundária. 
 
 
4 
TEMA 2 – PARTES DE UM MICROCOMPUTADOR 
A eletrônica está presente na vida de todos na forma de dispositivos e 
aparelhos usados em nosso dia a dia. Entretanto, os conceitos e ideias que 
rondam esta área datam da década de 1940, com o surgimento do primeiro 
transistor. Este dispositivo pode ser considerado uma chave digital, aberta ou 
fechada dependendo da lógica adotada. O uso de diversos transistores nos 
circuitos eletrônicos criou uma nova área, que constantemente evolui, chamada 
microeletrônica. 
O termo micro indica que a área lida com dispositivos de escalas 
micrométricas (metros/106) de materiais semicondutores, como o silício e 
germânio. Nesta tecnologia, os transistores são usados para montar arquiteturas 
de circuitos mais complexos, como portas lógicas, flipflops, memórias etc. 
Juntando todos estes circuitos e organizando-os, chega-se a um dispositivo muito 
conhecido, o microprocessador. 
2.1 Microprocessador 
O microprocessador, ou Unidade de Processamento Central – UCP (em 
inglês, CPU), é o cérebro dos aparelhos eletrônicos modernos, fazendo o controle 
de todos os dispositivos no produto e recebendo comandos do usuário. Para isto, 
o processador possui uma programação capaz de organizar todos os dados 
recebidos e executar tarefas determinadas. 
Os processadores possuem três funções principais (Gimenez, 2010): 
1. Buscar o programa na memória: isto ocorre por meio de comandos de 
leitura da memória, na qual o microprocessador busca o programa linha por 
linha para ser executado. 
2. Decodificação ou análise das instruções do programa: cada programa 
consiste em um conjunto de instruções organizadas, de forma que 
consigam atender um problema; a decodificação da instrução é entender 
qual o seu significado e como foi utilizada no programa. 
3. Execução da instrução: a execução da instrução que foi lida da memória; 
pode ser de movimentação, lógica, aritmética ou salto. A execução de uma 
instrução caracteriza o ciclo de execução, ou seja, para que o processador 
execute uma instrução precisa realizar dois ciclos, o primeiro de 
busca/decodificação e o segundo de execução. 
 
 
5 
 Para compreender um pouco melhor o funcionamento de um 
microprocessador, é interessante saber como ele é constituído: 
Figura 1 – Partes de um microprocessador. 
 
2.1.1 Unidade Lógica e Aritmética (ULA) 
 É responsável pela execução das instruções lógicas e aritméticas. Além 
disso, é responsável pela condição do resultado: se é igual ou diferente de zero, 
maior ou igual a um número ou menor ou igual a outro número, positivo ou 
negativo etc. Os estados do resultado são registrados em alguns bits, que são 
chamados de flags e podem ser consultados durante a execução do programa no 
microcontrolador. 
2.1.2 Registradores 
Os registradores fazem parte do processador e possuem duas categorias 
bem definidas: registradores de configuração e de propósito geral. Os primeiros 
são usados para configurar o funcionamento do processador; dependendo do 
valor que receberem, o processador poderá ou não executar de determinada 
forma. Já os registradores de propósito geral são usados para armazenar dados 
na execução do programa. 
Uma característica dos registradores é que possuem uma quantidade de 
bits, por exemplo, pode-se dizer que o registrador tem 8 bits, 16 bits ou 32 bits. 
Esta característica dependerá da arquitetura do processador. 
 
 
6 
2.1.2 Unidade de controle (UC) 
Responsável pelo controle de dados no microprocessador, nesta unidade 
é realizada a execução do programa (firmware) que foi armazenado no dispositivo. 
Gerencia os sinais enviados para dispositivos externos, como a memória 
(operação de leitura), e dispositivos de entrada e saída (operação de escrita). 
2.2 Unidade de memória 
Para que o processador consiga executar as instruções, os dados precisam 
ser armazenados. Esta unidade é composta por duas partes: 
Figura 2 – Unidade de memória 
 
2.2.1 Memória de armazenamento de programa 
Esta parte da memória é denominada não volátil, ou seja, os dados são 
mantidos na memóriamesmo sem alimentação de corrente elétrica. Esta memória 
faz todo o controle do computador em nível de hardware e operacionalmente. Para 
isto é necessário que o programador que o criou tenha conhecimento do 
funcionamento do hardware e o conjunto de instruções do processador utilizado. 
É essencial que o computador possua este programa armazenado e em 
pleno funcionamento. Ele se encontra em memórias chamadas ROM (Read Only 
Memory, ou memória de apenas leitura), EEPROM (Electrical, Erasable and 
Programable, Read Only Memory) ou Flash, sendo normalmente apenas de 
leitura, o que implica em não realizar operações de escrita (Gimenez, 2010). 
 
 
7 
2.2.2 Memória de armazenamento de dados 
Armazena os dados do programa que está sendo executado no 
microcomputador, guardando-os para que possam ser usados no decorrer do 
programa. Esta memória permite operações de leitura e escrita, porém, 
diferentemente da memória vista anteriormente, é volátil. Isto significa que os 
dados armazenados só estarão presentes enquanto o hardware estiver 
energizado. A memória utilizada para este caso é chamada RAM (Random Access 
Memory), de acesso rápido, mas com tamanho limitado. 
2.3 Unidade de entrada e saída (E/S) 
Esta unidade faz o controle dos dados que chegam ao microcomputador 
(entrada) e que saem (saída). Em outras palavras, é a unidade responsável pela 
interface com o mundo externo. 
2.3.1 Unidade de entrada 
Faz o controle dos dados provenientes de outros dispositivos para o 
microcomputador, que podem vir de dispositivos de armazenamento depois de 
uma requisição de dados, teclado ou sensores. Normalmente há algum programa 
esperando estes dados para tratá-los e utilizá-los. 
2.3.2 Unidade de saída 
É responsável por produzir uma resposta que um dispositivo externo ou até 
mesmo o ser humano possa compreender. Uma saída de dados pode ser 
compreendida como um led acendendo e apagando, um som sendo produzido por 
um buzzer ou uma resposta em um display LCD. 
TEMA 3 – PERIFÉRICOS DO MICROCONTROLADOR 
Segundo Gimenez (2010), quando realizamos a integração de todas as 
partes do microcomputador em um único circuito integrado temos um 
microcontrolador, porém, com limitação de quantidade de memória. Este 
dispositivo é usado para aplicações específicas, fazendo uso de alguns 
periféricos, que serão apresentados a seguir: 
 
 
8 
3.1 Conversor analógico/digital 
Grande parte dos sensores apresenta os dados em forma analógica, a qual 
pode possuir qualquer valor de tensão entre o mínimo, normalmente 0 V, e o 
máximo, no caso que iremos estudar, 5 V. A figura a seguir apresenta um exemplo 
de resposta analógica: 
Figura 3 – Sinal analógico 
 
Fonte: <https://www.embarcados.com.br/sinal-analogico-x-sinal-digital/>. 
A conversão ocorre primeiramente fazendo a medição do valor de tensão. 
Em seguida, para converter este valor para digital, deve-se dividir os valores 
possíveis de tensão pela quantidade de bits que é a precisão do conversor, no 
caso do Arduino é 10 bits, ou seja, deve-se dividir o intervalo entre 0 e 5 V por 
1024 (210). 
3.2 Timers/contadores 
São dispositivos utilizados para fazer contagem. Na configuração é 
selecionada a forma que será realizada; caso seja a contagem a partir do clock 
do microcontrolador, este é considerado um timer ou temporizador. Por outro lado, 
se for selecionado que a contagem será a partir de sinais de entrada, trata-se de 
um contador. Neste último caso, podemos exemplificar como uma contagem a 
partir de um sensor de barreira em uma porta, contando a quantidade de pessoas 
que passa por ela. 
Os timers são dispositivos muito usados nas mais diversas aplicações pelo 
fato de criarem uma noção exata de tempo. Esta característica pode parecer 
simples, mas sem ela seria impossível desenvolver qualquer sistema preciso ou 
até mesmo criar os sistemas operacionais utilizados nos computadores. 
 
 
9 
3.3 Interface serial 
Diferentemente do que pode parecer, a interface serial ainda existe e é 
muito utilizada na comunicação de dados, principalmente entre o dispositivo que 
está sendo desenvolvido e o microcomputador. A única diferença é que agora a 
serial é criada com base na interface USB. 
Para compreender a comunicação serial, vamos ver como é realizada a 
comunicação de dados. A figura a seguir ilustra este funcionamento: 
Figura 4 – Comunicação de dados 
 
Fonte: <https://learn.sparkfun.com/tutorials/serial-communication>. 
A figura 4 mostra que, para transmitir dados, temos dois elementos: 
transmissor, representado por TX, que é a origem da transmissão e que faz o 
envio dos dados para o receptor, representado por RX. Este segundo elemento 
apenas recebe os dados da transmissão. Perceba que a transmissão e a recepção 
dos dados podem ser realizadas pelos dois lados, os quais representam o 
microcontrolador e o microcomputador. Ainda na figura há a representação do 
terra, que é o GND, referência para todos os sinais transmitidos. 
TEMA 4 – FAMÍLIAS DE MICROCONTROLADORES 
Entre os microcontroladores, há diversos modelos concorrentes entre si no 
mercado de sistemas embarcados. Cada um destes processadores é 
desenvolvido por determinado fabricante, o qual cria linhas de produtos que 
podem ser usados para a solução dos mais diversos problemas. A seguir serão 
apresentadas as principais famílias de microprocessadores. 
 
 
 
10 
4.1 Família x86 
Esta é uma família de microprocessadores desenvolvida pela Intel. 
Iniciou-se com os processadores 8086 e em seguida 8088, que foram usados pela 
IBM para criar o computador pessoal IBM PC (Monteiro, 2010). Depois disto, 
grandes empresas desenvolvedoras de software e hardware surgiram, produzindo 
grande crescimento no mercado tecnológico. Os processadores desta época eram 
de 16 bits, sendo o barramento de saída de 8 bits, e possuíam quatro registradores 
de 16 bits, que poderiam ser divididos em dois de 8 bits cada. 
Com o passar dos anos houve a criação de novas gerações de 
processadores: 80286, 80386, 80486, sendo a maior evolução com estes dois 
últimos, nos quais houve a mudança de 16 para 32 bits e grande aumento de 
desempenho em relação aos anteriores. Porém, com o surgimento do Pentium ou 
P5, um conjunto de modificações aumentou em grande escala seu desempenho, 
chegando a ser o dobro do desempenho do 486. Isto se deve à arquitetura 
superescalar: duas unidades de processamento de inteiros distintas, que se 
assemelhava a dois 486 em paralelo. Além disto, houve melhoras no barramento, 
como uso de 64 bits para o tamanho e aumento da frequência de operação. 
Esta arquitetura ainda está em plena evolução, com seu aumento de 
capacidade e execução de instruções até os dias atuais. 
4.2 Família AVR 
Estes microcontroladores são fabricados pela ATMEL e são conhecidos 
pelo bom desempenho em relação aos processadores de outras famílias. Eles 
conseguem executar uma instrução por ciclo de clock, ou seja, se tivermos um 
processador AVR com um clock de 20 MHz, teremos uma velocidade de 20 MIPS 
(milhões de instruções por segundo). 
Além disso, esta família possui 8 bits e foi desenvolvida usando a 
tecnologia RISC (Reduced Instruction Set Computer – computador com conjunto 
de instruções reduzido), o que indica que são poucas as instruções suportadas 
pelo microcontrolador, porém muito eficientes para a criação do programa. 
A arquitetura destes circuitos integrados é baseada na arquitetura Harvard, 
como mostrado na figura a seguir: 
 
 
 
11 
Figura 5 – Arquitetura Harvard 
 
Fonte: <http://www.arnerobotics.com.br/eletronica/Microcontroladores_AVR_basico.htm>. 
A arquitetura Harvard separa a memória de dados da memória de 
programa; assim, um processador AVR pode usar um barramento para dados e 
outro para programa, o que concede maior velocidade a esses processadores. 
4.3 Família ARM 
Esta arquitetura de processadores se difundiu em uma velocidade incrível,pelo fato de possuir inúmeras vantagens: design simples, alta velocidade, grande 
diversidade de modelos, fabricantes e softwares disponíveis. Ela popularizou o 
uso de microcontroladores em dispositivos portáteis como telefones celulares, 
MP3 players, videogames etc. 
Estes processadores possuem 32 bits, arquitetura RISC e, como o próprio 
nome já diz, ARM (Advanced RISC Machine – máquina RISC avançada). Têm 
pequena quantidade de instruções, mas estas são executas rapidamente. 
Um fato interessante é que o processador ARM pode ser fabricado por 
qualquer licenciado pela ARM Limited: NXP, Atmel, Texas Instrument, Nintendo. 
TEMA 5 – O ARDUINO 
Segundo McRoberts (2011), o Arduino consiste em um sistema que pode 
interagir com seu ambiente por meio de hardware e software. É uma plataforma 
computacional programável, inventada pelos pesquisadores Massimo Banzi, 
David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis, em 2005, com o 
objetivo de desenvolver um dispositivo barato, funcional, fácil de programar e 
acessível para estudantes desenvolverem suas capacidades de criar. Para isso, 
foi adotado o princípio do hardware livre, ou seja, é possível modificar, melhorar 
ou personalizar o Arduino por meio do hardware básico proposto. 
 
 
12 
A placa básica do Arduino, chamada UNO, é apresentada na figura 6. É 
composta de um microcontrolador Atmel e circuitos para entrada e saída de 
dados. 
Figura 6 – Arduino UNO 
 
Créditos: goodcat/Shutterstock. 
 Para complementar o uso do Arduino, é disponibilizado gratuitamente um 
IDE (Integrated Development Environment, ou ambiente de desenvolvimento 
integrado), que consiste em um ambiente de desenvolvimento no qual pode-se 
criar programas para o Arduino. Para facilitar a introdução ao uso da ferramenta, 
existem diversos programas-exemplos com instruções para testar e modificar. 
Dependendo do projeto são necessários mais recursos de hardware ou 
simplesmente mais portas de entrada e saída de dados. Assim, foram criados 
outros modelos de placas como mostrado na figura a seguir: 
Figura 7 – Tipos de placas do Arduino 
 
Créditos: Sergey Privalov/Shutterstock. 
 
 
13 
 Outra inovação do Arduino foi a criação dos chamados shields (escudo, em 
português). Estes são placas de funcionalidades específicas, por exemplo: 
sensores de gás, potenciômetros, infravermelho, relés e diversos outros que 
podem ser usados apenas anexando ao projeto. A figura a seguir ilustra alguns 
shields utilizados em projetos. 
Figura 8 – Shields Arduino 
 
Créditos: Paolo de Gasperis/Shutterstock. 
 
 
 
 
14 
REFERÊNCIAS 
GIMENEZ, S. P. Microcontroladores 8051: teoria e prática. 1. ed. São Paulo: 
Érica, 2010. 
McROBERTS, M. Arduino básico. 1. ed. São Paulo: Novatec, 2011. 
MONTEIRO, M. A. Introdução à organização de computadores. 5. ed. Rio de 
Janeiro: LTC, 2010.

Continue navegando