Buscar

Microcontroladores 2

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

MICROCONTROLADORES EMICROCONTROLADORES E
IOTIOT
UNIDADE 2 – PARALELISMOUNIDADE 2 – PARALELISMO
Autora: Eliny dos Santos GomesAutora: Eliny dos Santos Gomes
Revisor: Lucas Gonçalves CorreiaRevisor: Lucas Gonçalves Correia
INICIAR
2.1 Paralelismo em nível de instruções, processadores superescalares e
multicore
A melhoria na velocidade dos processadores tem sido buscada ao longo de muitas pesquisas e diversas abordagens
foram testadas. Podemos citar algumas, como a atuação direta na implementação física do processador utilizando
transistores rápidos. Outra melhoria é fazer aprimoramentos na arquitetura, por exemplo, adicionando o paralelismo
Introdução
Caro(a) estudante,
Atualmente, as pesquisas estão sempre a frente buscando a melhoria dos processadores, e essa busca tem muito a
ver com o aumento no tempo de processamento e isso veio com um dos avanços da tecnologia, pois os transistores
estão cada vez menores e, assim, aumentando a velocidade dos processadores. A lei de Moore, que surgiu em
meados dos anos 1960, dizia que o poder de processamento dos computadores em geral dobraria a cada 18 meses.
Essa informação até hoje é válida, mas não podemos garantir que irá se manter, pois os avanços só aumentam e
encontram outros modos de progredir.
Tendo isso em mente, estudaremos, nesta unidade, algumas formas de melhoramento de arquitetura e o paralelismo
de instruções, que aumenta consideravelmente a qualidade nos processadores. Abordaremos, também, as portas de
entrada e saída e como as interrupções básicas funcionam. Por fim, iremos conhecer as características e
funcionamento dos timers/contadores. Conhecendo o hardware, podemos implementar o software de modo mais
integral usando todas as possibilidades.
Bons estudos!
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&c… 1/16
a nível de instrução. Os processadores que usam o paralelismo de instrução executam as instruções de modo
paralelo, teoricamente de forma transparente ao programador. No entanto, o paralelismo pode ser pensado em vários
níveis, tais como:
Paralelismo por múltiplas CPUs;
Paralelismo em chip;
Paralelismo por instrução;
Paralelismo por processador (multiprocessadores);
Paralelismo em computadores (multicomputadores).
O paralelismo por múltiplas CPUs é uma das estratégias de arquitetura introdutora do que entendemos por
acoplamento de unidades. Esse acoplamento pode ser considerado forte ou fraco, dependendo de sua proximidade.
Em outras palavras, quando temos uma CPU fortemente acoplada, considera-se o caso de sistemas multicore, que
possuem mais de um núcleo e que estão no mesmo hardware. Por outro lado, uma CPU fracamente acoplada, que é
o caso da computação em grid, temos computadores em rede (uma ou mais) que trabalham em conjunto para
atender a um processo específico.
O paralelismo em chip visa aumentar a produtividade, fazendo com que sejam executadas várias tarefas ao mesmo
tempo. As técnicas utilizadas são multithreading , que é a capacidade de um programa ou processo de sistema
operacional fazer o gerenciamento para mais de um usuário ou para várias solicitações do mesmo usuário sem 
cópias do programa em execução, e multicore , que consiste em um único componente com duas ou mais unidades
de processamento atuando de modo independente (chamados núcleos), executando várias instruções ao mesmo
tempo.
O paralelismo por instrução, também conhecido como técnica pipeline, baseia-se na execução de mais de uma
instrução pela CPU, sendo que essa técnica é composta por etapas e nela as instruções que podem ser simultâneas
devem ser de etapas diferentes do processo. Cada uma dessa etapas é chamada de estágio de pipe, ou segmento
de pipe.
O paralelismo por processador (multiprocessadores) busca a melhoria no desempenho, tendo duas ou mais CPUs
associadas, encarregadas de executar uma determinada tarefa e que podem ser usadas com técnicas diferentes
como computadores matriciais (matriz de processadores dedicados), multiprocessadores (processadores
independentes) e multicomputadores.
Os multicomputadores usam a técnica de união de CPUs fracamente associadas, usando a troca de mensagens
para execução de uma determinada tarefa. É usada a clusterização de servidores para executar o processamento
paralelo.
Pode-se conceituar cluster como um conjunto de computadores em rede, que usa um sistema operacional distribuído
e funciona como uma máquina única.
Um pipeline possui várias etapas, exemplificando com o clássico de cinco fases, como o usado no MIPS (do inglês,
microprocessor without interlocked pipeline stages ) ou seja, microprocessador sem estágios intertravados de
pipeline, da arquitetura RISC, sendo as seguintes etapas:
» Clique nas abas para saber mais sobre o assunto
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&c… 2/16
Quadro 1 – Pipeline arquitetura simples
Número de clock
NÚMERO DA
INSTRUÇÃO
1 2 3 4 5 6 7 8 9
Instrução i IF ID EX MEM WB
Instrução i + 1 IF ID EX MEM WB
Instrução i + 2 IF ID EX MEM WB
Instrução i + 3 IF ID EX MEM WB
Instrução i + 4 IF ID EX MEM WB
Fonte: HENNESSY, 2014, p. 567.
Os microcontroladores 8051, do tipo core, têm uma arquitetura de base Von Newmann e do tipo CISC, com grande
número de instruções, o que torna bem complexo a implementação de paralelismo de instrução. No entanto, o
Arduino ATMEGA328 tem uma arquitetura de base Harvard e do tipo RISC de alto desempenho e possui um número
reduzido de instruções que facilita a implementação do pipeline.
2.2 Portas de entrada e saída
Vamos conhecer as portas de entrada e saída de dois tipos de microcontroladores, o 8051 e o Arduino Uno, cujo
núcleo microcontrolador é o ATMEGA328P que, atualmente, é uma das placas mais utilizadas.
2.2.1 Programação e rotinas
Ciclo de busca de instrução
(Instruction Fetch – IF)
Decodificação de instrução
(Instruction Decode – ID)
Execução de endereço efetivo
(Execution – EX)
Referência de
memória
Instrução da ALU registrador –
registrador
Instrução da ALU registrador –
imediato
Acesso à memória (Memory Access – MEM) Etapa de Write-Back (Write-Back – WB)
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&c… 3/16
O microcontrolador 8051 , da família MSC51, é um circuito integrado com 40 pinos, sendo quatro portas (0 a 3)
com oito pinos cada, ou seja, são 32 pinos de entrada ou saída que podem ser acessados individualmente ou como
portas de oito bits. Seu acesso é bem simples, uma vez que cada porta possui apenas um registro associado. Para
acionar um pino, é necessário apenas escrever no registro associado e, para ler, é necessário ver o estado do
registrador associado. Suas funções, símbolos e descrição estão descritas a seguir:
» Clique nas abas para saber mais sobre o assunto
Como notamos, todos os bits de portas são bidirecionais, podendo ser programados individualmente como entrada
para receber informações ou como saída para ativar ou desativar interfaces de saída. Cada bit de uma porta é
organizado por três circuitos básicos:
Flip flop tipo D : armazenar informação;
Driver de corrente : excitar o circuito acionador de uma interface de saída;
Buffer de entrada : receber a informação de entrada.
Como vimos, alguns bits da porta 1 e todos da porta 3 podem assumir funções alternativas, além de ser entrada e
saída.
Quadro 2 – Funções alternativas: P1, do 8052/32, e da P3
PINOS DAS PORTAS FUNÇÕES ALTERNATIVAS
P1.0* T2 (entrada de clock externa do timer/contador 2)
P1.1* Captura/trigger de recarregamento do timer/contador 2
P3.0 RXD (porta de entrada do canal de comunicação serial)
P3.1 TXD (porta de saída do canal de comunicação serial)
P3.2 INT0 (entrada de interrupção externa 0)
P3.3 INT1 (entradada interrupção externa 1)
P3.4 T0 (entrada de clock externa do timer/contador 0)
Porta 0 Porta 1 Porta 2 Porta 3
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&c… 4/16
P3.5 T1 (entrada de clock externa do timer/contador 1)
P3.6 WR(sinal de escrita de memória de dados externa)
P3.7 RD (sinal de leitura de memória de dados externa)
*P1.0 e P1.1 somente no 8052/32.
Fonte: GIMENEZ, 2015, p.122.
Quadro 3 – Exemplo de programação de porta
P0: programação de todos os bits para trabalharem como entrada de informação, que é
definida externamente para o microcontrolador:
» MOV P0,#0FFh:
Representação simbólica é: (P0) [ #FFh;
» Significa que o conteúdo da P0 será inicializado com o valor constante FFh
» Essa instrução escreve 1 lógico nos oito latches da P0, e todos os bits da P0 serão
programados para operarem como bits de entrada de informação externa para o determinado
sistema
Fonte: Elaborado pela autora, 2020.
» Microcontrolador ATMEGA328P
O ATMEGA328P é um microcontrolador de arquitetura avançada RISC AVR, da Atmel, com 28 pinos, de alto
desempenho, baixo consumo.
Figura 1 – Microcontrolador ATMEGA328P. Fonte: Elaborada pela autora, 2020.
O projeto Arduino engloba hardware e software e tem o objetivo de aplicações em projetos interativos utilizando o
microcontrolador ATMEGA e, conforme seu modelo, tem algumas características específicas. Por exemplo, o Uno
possui um clock de 16 MHz, 2 kB de memória RAM, 32 k de memória flash, 14 portas entrada ou saída digitais e seis
entradas analógicas.
Como vimos, o Arduino possui dois tipos de portas, analógicas e digitais. Sendo que as portas digitais servem como
entrada e saída e as saídas podem ser comum ou PWM.
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&c… 5/16
» Portas digitais
Devemos utilizar as portas digitais quando usamos valores bem definidos de tensão e trabalhamos com valores
digitais binários. Sendo assim, usamos projeto de sistemas de apenas dois valores, 0 e 5 V (ou aproximadamente).
As portas 0 e 1 podem ser utilizadas como entrada e saída, porém, normalmente, são usadas para o sistema de
comunicação do Arduino, ou seja, pinos de RX – recepção e TX – transmissão, podendo ter conflito com o upload do
software.
Figura 2 – Porta digitais. Fonte: Elaborada pela autora, 2020.
» Portas analógicas
 O Arduino possui seis portas analógicas que são apenas entradas, podendo ter infinitos valores de tensão entre 0 e
5 V.
Figura 3 – Portas analógicas. Fonte: Elaborada pela autora, 2020.
Com os conversores analógicos digitais de dez bits de precisão, essas portas analógicas têm as suas medições em
torno de 0,005 V. Os dez bits (2¹⁰) descrevem saídas de 0 a 1023.
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&c… 6/16
Figura 4 – Conversão. Fonte: Elaborada pela autora, 2020.
O uso de conversor analógico/digital é importante para a amostragem de sinais analógicos. No entanto, é importante
usá-lo corretamente, conhecendo suas configurações e seus limites de uso. Desse modo, teremos otimização e
confiabilidade no sinal resultante.
VOCÊ SABIA?
Toda vez que estudar um componente novo, ganhe tempo conhecendo suas características elétricas e
funcionais. Assim, terá segurança nas suas aplicações e programações.Como temos muitos tipos e
fabricantes de microcontroladores, é necessário o entendimento de suas características e famílias. Acesse os
links indicados a seguir e saiba mais:
Fabricante Microchip : < https://www.microchip.com/ >
Fabricante Atmel, em 2016, teve uma fusão com a Microchip : <
http://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf >
Databook dos microcontroladores Motorola : < Acessar >
Esses são apenas alguns exemplos de databook, então, se for usar outro microcontrolador, procure um
databook específico.
2.3 Interrupções básicas
A família do 8051 tem um conjunto de interrupções que servem para gerenciamento de variáveis. Vamos conhecê-
las, mas antes precisamos entender um pouco sobre os modos de gerenciamento de variáveis, que se dividem em
duas formas básicas, usadas para controlar ou monitorar uma determinada variável qualquer interconectada ao
microcontrolador:
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&c… 7/16
https://www.microchip.com/
http://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf
https://catalogcdns3.ulife.com.br/content-cli/CTI_MICIOT_20/unidade_2/ebook/documents/1988_Microprocessor_Microcontroller_and_Peripheral_Data_Volume_2.pdf
Varredura é o processo em que uma rotina é desenvolvida pelo programador dentro do loop do
programa principal e a cada ciclo. Essa variável é lida e analisada, podendo gerar ou não outras
ações;
Interrupção é o processo composto de uma sub-rotina de atendimento a essa fonte de interrupção.
Neste caso, deve ser posicionada fora do loop do programa principal, e já vem em endereços de
memória predeterminados pelo fabricante.
As interrupções são analisadas a cada fim do ciclo de busca de instrução. Sendo reconhecida a instrução que está
em execução, é finalizada e, caso esteja habilitada para ser atendida, isso é realizado. O registrador que gerencia é
o Interrupt Enable (IE). Cada fonte de interrupção deve ter a sua sub-rotina de atendimento posicionada a partir do
endereço de memória que foi definida pelo fabricante.A característica fundamental de atendimento a uma fonte de
interrupção é que deve ser finalizada com uma instrução RETI (Return Interruption) e, quando executada, o
microprocessador retorna ao programa principal na instrução imediatamente posterior à instrução em que foi
registrada a solicitação da interrupção.
Fluxograma 1 – Fluxo de processamento de uma interrupção
Fonte: GIMENEZ, 2015, p.137.
Resumindo, o processo de atendimento a uma fonte de interrupção consiste em entender o processo e
funcionamento de uma chamada a uma sub-rotina.
VOCÊ SABIA?
Qual é a comunicação mais comum que conhecemos? É a comunicação entre as pessoas!E como acontece?
Com interrupções.Quando uma pessoa chama outra, a pessoa que foi chamada, geralmente, tem que parar o
que está fazendo ( interrupção ) e atender à solicitação de quem a chamou.
No ATMEGA328P, as interrupções externas são acionadas pelos pinos INT0 ou INT1 e os pinos do PCINT. Caso
esses pinos estejam configurados como saída, a interrupção será desencadeada. Trata-se de algo muito útil para
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&c… 8/16
gerar interrupções de software. As interrupções externas podem ser setadas pelo aumento de borda ou queda de
borda. A configuração é feita no registro EICRA.
2.3.1 Fontes de interrupção
O microcontrolador 8051 tem pelo menos cinco entradas de interrupção e pode ter mais em outros modelos de 8051.
Vamos avaliar as interrupções básicas:
interrupções externas (duas);
interrupções pelos timers/contadores (duas);
interrupção pela interface de comunicação serial.
As entradas de interrupção externa são denominadas interrupção 0 (INT0) e interrupção 1 (INT1), e são usados os
pinos P3.2 e P3.3, respectivamente.
Os quatro bits menos significativos do registrador de controle (TCON) dos timers/contadores fazem o gerenciamento
da interrupção externa.
Tabela 1 – TCON
BITS 7 6 5 4 3 2 1 0
TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0
TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Fonte: Elaborada pela autora, 2020.
» Clique nas abas para saber mais sobre o assuntoComo vimos, as duas entradas de interrupções têm a capacidade para gerar interrupções por nível lógico 0 ou por
borda de descida, e a programação é feita nos bits IT0 e IT1 do registrador TCON.
As interrupções dos timers/contadores funcionam em determinados intervalos de tempo programados previamente,
essas fontes de interrupção são geradas dependente do tempo sendo realizadas por sub-rotinas de atendimento.
Quando essas são geradas TF0 e TF1 vão de 0 para 1, ficando em nível lógico 1 até que a fonte de interrupção seja
atendida.
Tabela 2 – TCON
BITS 7 6 5 4 3 2 1 0
IT0 (TCON.0) IE0 (TCON.1) IT1 (TCON.2) IE1 (TCON.3)
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&c… 9/16
TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0
TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Fonte: Elaborada pela autora, 2020.
TR0 (TCON.4) : bit de controle que tem a responsabilidade e fazer o timer/contador 0 contar ou parar a
contagem:
Bit com nível zero (0): para de realizar a contagem;
Bit com nível um (1): continua realizando a contagem;
TF0 (TCON.5) : bit que indica o estouro do timer/contador 0, indicando que um determinado tempo ou contagem
foi gerado e, então, sinaliza a interrupção. É setado por hardware quando reconhece o estouro e resetado,
também, por hardware quando a interrupção é atendida;
TR1 (TCON.6) : bit de controle que tem a responsabilidade e fazer o timer/contador 1 contar ou parar a
contagem:
Bit com nível zero (0): para de realizar a contagem;
Bit com nível um (1): continua realizando a contagem;
TF1 (TCON.7) : bit que indica o estouro do timer/contador 1, indicando que um determinado tempo ou contagem
foi gerado e, então, sinaliza a interrupção. É setado por hardware quando reconhece o estouro e resetado,
também, por hardware quando a interrupção é atendida. A fonte de interrupção de comunicação serial é gerada
por lógica (OR) entre os flags RI e TI e nenhum desses é liberado por hardware após o atendimento da
interrupção;
RI sinaliza que um dado acabou de ser recebido pela interface de comunicação serial (registrador SBUF – oito
bits – de recepção);
TI sinaliza quando um dado acabou de ser transmitido (registrador SBUF de transmissão).
Todos os bits responsáveis por gerar interrupções têm a facilidade de serem setados ou ressetados por software ou
hardware com o mesmo resultado. As interrupções podem ser geradas por software e, se ainda estiverem
pendentes, podem ser canceladas por software.
Tabela 3 – IE (Interrupt Enable)
BITS 7 6 5 4 3 2 1 0
IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0
IE EA -- ET2 ES ET1 EX1 ET0 EX0
Fonte: Elaborada pela autora, 2020.
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&… 10/16
O registrador de função especial IE tem a função de gerenciar as fontes de interrupção (nível lógico 0: desabilita a
fonte de interrupção; nível lógico 1: habilita a fonte de interrupção).
EA : tem a função de habilitar todas a interrupções de uma só vez;
ET2 : tem a função de habilitar a fonte de interrupção de overflow ou captura o timer/contador 2;
ES : tem a função de habilitar a fonte de interrupção da interface do canal de comunicação serial;
ET1 : tem a função de habilitar a fonte de interrupção de overflow do timer/contador 1;
EX1 : tem a função de habilitar a fonte de interrupção externa 1;
ET0 : tem a função de habilitar a fonte de interrupção de overflow do timer/contador 0;
EX0 : tem a função de habilitar a fonte de interrupção externa 0.
Também é necessário programar a prioridade da fonte de interrupção feita pelo registrador de função especial
chamado IP – Interrupt Priority (nível lógico 0: prioridade menor; nível lógico 1: prioridade maior).
Tabela 4 – IP (Interrupt Priority)
BITS 7 6 5 4 3 2 1 0
IP.7 IP.6 IP.5 IP.4 IP.3 IP.2 IP.1 IP.0
IP -- -- PT2 PS PT1 PX1 PT0 PX0
Fonte: Elaborada pela autora, 2020.
PT2 : bit de prioridade da fonte de interrupção do timer/contador 2;
PS : bit de prioridade da fonte de interrupção do canal de comunicação serial;
PT1 : bit de prioridade da fonte de interrupção do timer/contador 1;
PX1 : bit de prioridade da fonte de interrupção externa 1;
PT0 : bit de prioridade da fonte de interrupção do timer/contador 0;
PX0 : bit de prioridade da fonte de interrupção externa 0.
2.4 Timers/contadores
Os timers/contadores da família de microcontroladores com núcleo do 8051 são responsáveis por gerar as rotinas de
tempo e determinar a velocidade ( baud rate ) da comunicação serial. Nessa família, existem dois: timer/contador 0 e
timer/contador 1. No entanto, em alguns membros dessa família, podem existir outros que devem ser avaliados
especificamente.
Um timer/contador é um circuito sequencial composto por um registrador de contagem (conjunto de flip-flops do tipo
D) e portas lógicas. Ele é projetado para ser um contador ascendente cíclico.
2.4.1 Características e funcionamento
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&… 11/16
Os registradores de contagem são de 16 bits, sendo os oito bits mais significativos chamados de TH0 ou TH1 e os
menos significativos TL0 e TL1. Eles podem ser configurados para trabalhar como timer ou como contadores de
eventos. Quando configurados como timer, são incrementados a cada ciclo de máquina e, se configurados como
contador, são incrementados em resposta a uma transição de sinal elétrico externo de 1 para 0 (borda de descida).
VOCÊ SABIA?
Tempo! Tudo na vida das pessoas está ligado ao tempo:
Pessoas falam por unidade de tempo;
Pessoas andam por unidade de tempo;
O coração das pessoas bate em média entre 50 e 80 vezes por minuto;
As pessoas contam a sua idade em anos, que podem ser dividido em meses, em semanas, em
dias, em horas, minutos e segundos.
O TMOD (Timer Mode) é o registrador de função especial que programa os timers/contadores 0 e 1.
Tabela 5 – Símbolos e funções
BITS 7 6 5 4 3 2 1 0
TMOD GATE C/T’ M1 M0 GATE C/T’ M1 M2
TIMER 1 TIMER 2
Fonte: Elaborada pela autora, 2020.
GATE : gerencia o controle de ativar ou a contagem dos timers/contadores;
Nível lógico 0 : contagem é ativada ou desativada – depende do estado dos bits TR0 ou TR1;
Nível lógico 1 : a contagem dos timers/contadores é habilitada somente enquanto o pino INT0 ou INT1 igual a
um e TR0 e TR1 igual a um;
C/T’ : seleciona o tipo de operação [timer (0) ou contador (1)];
M1 : define o modo de operação (TMOD.5);
M0 : define o modo de operação (TMOD.4);
M1=0/M0=0 – Modo “0” : programa os registradores de contagem para 13 bits;
M1=0/M0=1 – Modo “1” : programa os registradores de contagem para 16 bits;
M1=1/M0=0 – Modo “2” : programa os registradores de contagem para oito bits (TLX) com recarga automática
(THX);
M1=1/M0=1 – Modo “3” : programa dois timers/contadores de oito bits.
O TCON (Timer Control) é o registrador de função especial que controla os timers/contadores 0 e 1.
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&… 12/16
Tabela 6 – Registrador TCON
BITS 7 6 5 4 3 2 1 0
TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Fonte: Elaborada pela autora, 2020.
TF1 : flag que sinaliza o estouro da contagem ( overflow ) do timer/contador 1;
TR1 : controle de ligar e desligar a contagem do timer/contador 1:
Nível lógico 0 : desabilita a contagem do timer/contador 1;
Nível lógico 1 : habilita a contagem do timer/contador 1;
TF0 : flag que sinaliza o estouro da contagem ( overflow ) do timer/contador 0;
TR0 : controle de ligar e desligar a contagem do timer/contador 0:
Nível lógico 0 : desabilita a contagem do timer/contador 0;
Nível lógico 1 : habilita a contagem do timer/contador 0;
IE1: flag de detecção da interrupção externa 1;
IT1 : flag que define o tipo de detecção para a interrupção externa 1:
Nível lógico 0 : sensível ao nível lógico baixo (0 lógico);
Nível lógico 1 : sensível a borda de descida;
IE0 : flag de detecção da interrupção externa 0;
IT0 : flag que define o tipo de detecção para a interrupção externa 0:
Nível lógico 0 : sensível ao nível lógico baixo (0 lógico);
Nível lógico 1 : sensível a borda de descida.
Os timers/contadores 0 e 1 possuem quatro modos de operação e são selecionados por bits (M1 e M0) do
registrador TMOD, sendo que os modos 0, 1, 2 programam os timers/contadores 0 e 1 de forma semelhante, e o
modo 3 programa os timers/contadores 0 e 1 diferentemente um do outro.
» Modo 0
 Programado no modo 0, o tamanho do registrador de contagem é configurado em 13 bits (oito bits mais significativos
da contagem feitos por meio do registrador TH0 ou TH1 e os cinco bits menos significativos da contagem ficam
dentro do registrador TL0 e TL1). Assim, é possível que a contagem se limite a 8.192.
Fluxograma 2 – Timer/contador programado no modo 0
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&… 13/16
Fonte: GIMENEZ, 2015, p.151.
» Modo 1
Quando configurado no modo 1, os timers/contadores apresentam o mesmo hardware do modo 0, a diferença é que
os registradores e contagem são de 16 bits (oito bits do registrador TH0 ou TH1 e oito bits do registrador TL0 ou
TL1), sendo usados para gerar tempos maiores, pois a contagem está limitada a 65.636.
» Modo 2
Quando configurado no modo 2, o registrador de contagem tem oito bits, correspondendo ao registrador de
contagem TL0 ou TL1. Os TH0 e TH1 serão definidos como registradores de recarga, sendo inicializados apenas
quando o registrador de contagem estourar ( overflow ). Assim, o conteúdo do registrador de recarga é copiado para
o registrador de contagem TL0 ou TL1. O registrador de recarga automática deve ser definido inicialmente pelo
programa.
Fluxograma 3 – Timer/contador programado no modo 0
Fonte: GIMENEZ, 2015, p.151.
» Modo 3
No modo 3, o timer/contador 1 programado fornece simplesmente o valor de seu contador, ou seja, define dois
timers/contadores de oito bits independentes. É usado em aplicações que requerem um contador extra de oito bits.
Se o timer/contador 0 está, nesse modo, o timer/contador 1 pode ser ligado ou desligado dentro e fora do seu próprio
modo 3, que ainda pode ser usado em outras funções: 
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&… 14/16
Gerador de baud rate pela interface de comunicação serial;
Aplicações sem interrupções.
Fluxograma 4 – Timer/contador programado no modo 0
Fonte: GIMENEZ, 2015, p.151.
Podemos concluir que, analogamente, às pessoas, assim como os timers/contadores, também foram implementados
nos microcontroladores com a referência de intervalos de tempo. Além das implementações que podem ser usadas,
como ligar e desligar máquinas por um determinado tempo.
Síntese
Caro(a) estudante,
Finalizamos a unidade e, e concluímos conhecemos mais algumas características dos microcontroladores 8051 e do
ATMEGA328P, comparando e aprofundando o conhecimento em suas portas de entrada e saída, além de
conhecermos também suas programações e rotinas. Ainda, visitamos o conhecimento dos conceitos de
gerenciamento de variáveis, ou seja, varredura e interrupção, usados para controlar ou monitorar uma determinada
variável e aprofundamos os conceitos de interrupção. Por fim, avaliamos o registrador de função especial TCON, que
faz o controle dos timers/contadores do 8051 e seus modos de funcionamento. Agora, vamos colocar tudo isso em
prática nos próximos projetos.
Referências bibliográficas
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&… 15/16
BARBIERI FILHO, Plínio; HETEM JR, A. Fundamentos de Informática : Lógica para Computação. 1. ed. São Paulo:
LTC, 2012.
GIMENEZ, S. P. Microcontroladores 8051 : conceitos, operações, fluxogramas e programação. 1. ed. São Paulo:
Érica, 2014.
GIMENEZ, S. P. Microcontroladores 8051 : teoria e prática. 1. ed. São Paulo: Érica, 2010.
HENNESSY, J. L.; PETTERSON, D. A. Arquitetura de computadores : uma abordagem quantitativa. 5. ed. Rio de
Janeiro: Elsevier, 2014.
STALLINGS, W. Arquitetura e Organização de Computadores . 8. ed. São Paulo: Pearson, 2010.
22/04/2024, 10:08 Unidade 2 - Microcontroladores e IOT
https://student.ulife.com.br/ContentPlayer/Index?lc=jV%2fpYsXAYxxMtdFLfHWfRw%3d%3d&l=WXvShvceqTslNSNh6BM%2b%2fQ%3d%3d&… 16/16

Continue navegando