Prévia do material em texto
Autoria: Luiz Ricardo Mantovani da Silva – Revisão técnica: Giovane Boaviagem Ribeiro Dispositivos microcontrolados UNIDADE 1 - FUNDAMENTOS DA ELETROELETRÔNICA E DE ARQUITETURA DE COMPUTADORES 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 1/30 O século XXI apresentou à humanidade uma série de inovações tecnológicas, que trouxeram inúmeros benefícios e conforto para as pessoas, como veículos autônomos, computação em nuvem, computação de alto desempenho, avanço da inteligência artificial, entre outros. Um dos motivos do avanço tecnológico certamente foi o aumento da eficiência e redução do tamanho dos componentes que constituem os grandes computadores da atualidade. Os processadores tornaram-se mais eficientes, e os microcontroladores ganharam espaço na indústria de equipamentos eletrônicos, pois passaram a integrar a maioria dos aparelhos comercializados. Os microcontroladores são computadores concentrados em um único chip, ou seja, apresentam processador, memória e portas de entrada e saída, sendo muito úteis na indústria de eletroeletrônicos e em sistemas embarcados. Atualmente, as pessoas vêm tomando consciência de que estão se tornando dependentes da tecnologia, seja por meio do acesso às informações pelos dispositivos móveis ou pelo conforto em poder estar em um veículo autônomo. A realidade está se transformando no que outrora era apenas ficção científica, com dispositivos desde os primeiros microprocessadores 4004 da Intel, até os modernos processadores e microcontroladores, utilizados em equipamentos como sondas e estações espaciais, satélites de comunicação, robôs, naves para exploração interplanetária etc. Enfim, todos esses avanços estão intimamente ligados ao aprimoramento da eletroeletrônica e, consequentemente, ao aumento do poder computacional, que torna a vida mais gratificante e o futuro, emocionante. Bons estudos! Introdução 1.1 Eletroeletrônica e arquitetura de computadores A eletroeletrônica e a arquitetura de computadores sempre caminharam muito próximas, uma influenciando a outra. Serviram, pois, como base tecnológica para o desenvolvimento e criação de muitos equipamentos que revolucionam o modelo de vida das pessoas (TANENBAUM, 2013). Quando falamos em arquitetura de computadores, nos referimos à estrutura física e lógica das máquinas, portanto, é importante que conheçamos seus fundamentos, para que, assim, possamos entender o funcionamento, as possibilidades de aplicações, a estrutura física do equipamento e como as partes se comunicam. Da mesma forma, o conhecimento dos conceitos básicos de eletroeletrônica é necessário, para que possamos entender o fluxo de trabalho e o deslocamento de dados digitais. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 2/30 1.1.1 Grandezas elétricas e conceitos de eletrônica analógica e digital Na Grécia Antiga, os gregos atribuíam a palavra eléktron à resina que atualmente chamamos de âmbar. Isso, porque observaram que após atritar o âmbar contra a pele de animais ele adquiria propriedades de atração. A partir de então, os gregos começaram a estudar todos os fenômenos que possuíam ligação com o que haviam observado, iniciando-se o estudo da eletricidade. Atualmente a humanidade vive com o conforto oferecido por uma infinidade de equipamentos que funcionam com a eletricidade. É fácil concluir o quão importante a eletricidade é para a humanidade. A eletricidade é o resultado de um fluxo de cargas elétricas. Podemos também dizer que a eletricidade é o ramo da física que estuda os fenômenos resultantes da movimentação das cargas elétricas O estudo da eletricidade está dividido em eletrostática e eletrodinâmica. Agora que estudamos um pouco da história da eletricidade e sua importância, podemos passar para as grandezas elétricas: potência, tensão, corrente e resistência. Os relâmpagos são fenômenos naturais temidos por uns e admirados por outros. O fato é que até o momento não existe uma forma de se captar a grande quantidade de energia criada por esses eventos em tão curto espaço de tempo. Esses fenômenos são capazes de produzir energia equivalente a 500 quilowatts. Você sabia? A eletrostática estuda as cargas elétricas em repouso. A eletrodinâmica estuda as cargas elétricas em movimento. Potência elétrica é a velocidade que o equipamento converte energia elétrica em trabalho. A potência elétrica é representada pela unidade watt (W), conforme o sistema internacional de medidas. Corrente elétrica é o fluxo ordenado de cargas elétricas que pode ocorrer em um meio iônico ou sólido. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 3/30 O estudo da eletricidade é importante para que se possa compreender os fenômenos e conceitos dela derivados, mas se faz necessário também o estudo da forma como ela é controlada para que se possa obter benefícios. Nesse sentido, a eletrônica é um ramo da eletricidade e estuda a forma como as informações são representadas, transmitidas, processadas, armazenadas por meio de componentes elétricos e eletrônicos que compõem os circuitos. Os trabalhos dessa área estudam o comportamento dos elétrons e são classificados conforme a apresentação dos sinais elétricos, quais sejam, analógicos e digitais. A eletrônica é, portanto, subdividida em eletrônica analógica e digital. A eletrônica analógica cuida do controle das energias físicas, variáveis ou não, que possam ser representadas de forma contínua. Os equipamentos capazes de trabalhar com esse tipo de energia são transistores, resistores, bobinas, capacitores, potenciômetros, cristais e circuitos integrados (YOUNG, 2005). Resistência elétrica é a dificuldade que um determinado corpo pode oferecer para a passagem da corrente elétrica. O nível de resistência pode variar em decorrência do comprimento, largura, tipo de material e condições ambientais. A resistência pode ser presentada pela unidade Ohm (Ω). A tensão elétrica é outra grandeza importante, que significa a força necessária para fazer movimentar os elétrons e criar a corrente elétrica. A tensão elétrica pode ser representada pela unidade Volt (V). Os transistores são componentes semicondutores, capazes de amplificar, atenuar ou isolar a corrente elétrica, geralmente feitos de silício ou germânio. Os resistores são componentes capazes de transformar energia elétrica em térmica, o chamado efeito Joule, ou alterar a diferença de potencial, também conhecida como tensão elétrica. As bobinas ou indutores ou solenoides são componentes capazes de armazenar energia elétrica. Essa energia elétrica é gerada a partir do campo magnético criado ao redor do fio durante a passagem da corrente elétrica, sendo que a energia é aumentada quando esse mesmo fio é espiralado. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 4/30 A eletrônica analógica é muito importante, e está presente em grande parte dos equipamentos que são utilizados em nosso dia a dia, mas temos também a eletrônica digital. Diferentemente da eletrônica analógica, que atua sobre os sinais elétricos representados de forma contínua, a eletrônica digital aborda os sinais elétricos que podem assumir dois valores, ou valores finitos, discretos. Os capacitores, capazes de armazenar cargas elétricas quando ocorre diferença de potencial em seus terminais. São utilizados em circuitos que operam com corrente alternada, e empregados pela indústria em eletroeletrônicos como geladeiras, máquinas de lavar etc. O potenciómetro é um componente capaz de oferecer, de forma ajustável, resistência à passagem da corrente elétrica. Os cristais, geralmente quartzo, são utilizados para fazer o componente eletrônico chamado de osciladorde cristal, capaz de geral um sinal elétrico em uma frequência específica, sendo que isso é possível devido às propriedades piezoelétricas do cristal. A propriedade piezoelétrica é a capacidade que certos materiais possuem de gerar carga elétrica quando expostos à pressão mecânica, sendo que certos cristais, como o quartzo possuem essa característica. O circuito integrado (C.I.), como sendo um circuito eletrônico composto pelas miniaturas de diversos componentes, como diodos, resistores, capacitores, entre outros, gravados em um único chip de silício. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 5/30 #PraCegoVer: a figura mostra a representação de um sinal analógico e de um sinal digital. A figura anterior representa um sinal analógico e um digital. Podemos notar que o sinal digital pode assumir apenas dois valores em determinado intervalo de tempo, enquanto no sinal analógico, existem infinitas possibilidades dentro de um intervalo de tempo. Conforme observamos, a eletricidade é uma energia descoberta há séculos, sendo estudada e servindo como peça-chave para o desenvolvimento da eletrônica, ciência que se ramificou em eletrônica analógica e eletrônica digital (MORDKA,2014). Figura 1 - Representação de sinal digital e analógico Fonte: VectorMine, Shutterstock, 2020. Você tem dúvidas sobre o que é eletricidade? No vídeo A história da eletricidade do site Tecmundo, você poderá aprender um pouco sobre a história da eletricidade, os grandes cientistas que pesquisaram o tema, e constatar que a eletricidade está em praticamente tudo ao nosso redor. Acesse (https://www.youtube.com/watch? app=desktop&v=6w7Z-pyiDFo) Você quer ver? 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 6/30 https://www.youtube.com/watch?app=desktop&v=6w7Z-pyiDFo https://www.youtube.com/watch?app=desktop&v=6w7Z-pyiDFo Outra questão é a forma como os sinais elétricos se comportam nos circuitos eletrônicos, ou seja, como os sinais darão entrada no circuito e a condição de saída. Existem diferentes tipos de arranjos de circuitos, chamados portas lógicas, sendo que cada porta lógica recebe o sinal de uma forma e libera de outra, por exemplo, uma porta lógica recebe o sinal zero (0) e (1) e libera (0). Os circuitos combinacionais são aqueles cujas saídas dependem da combinação dos sinais de entrada, ou seja, como as portas lógicas estão organizando o circuito. Outro ponto importante são os sistemas numéricos, assunto que o profissional da tecnologia não pode deixar de conhecer. Sistemas numéricos são diferentes formas de se representar valores, podendo ser utilizados para resolver problemas específicos. Podemos citar os sistemas decimal, binário, hexadecimal e octal. O sistema decimal, ou sistema de base 10, é composto pelos símbolos 0 a 9, sendo muito utilizado no dia a dia, muitas vezes, sem que percebamos. Para entender as operações decimais devemos inicialmente considerar a tabela a seguir. #PraCegoVer: a tabela exibe os símbolos decimais de 0 a 9. A adição é o deslocamento a direita na série apresentada, dessa forma, a adição 2 + 4 = 6 corresponde ao deslocamento de 4 unidades à direita do algarismo 2, resultando em 6. O sistema binário, composto pelos símbolos 0 e 1, é muito utilizado em linguagem de máquina, em que é possível representar informações, imagens e outras, por meio de uma sequência de 0s e 1s. No sistema binário, as operações são realizadas de uma forma um pouco diferente, vamos tomar como exemplo a operação de adição. Agora é com você! Esta atividade não é pontuada. Tabela 1 - Símbolos decimais Fonte: Elaborada pelo autor, 2020. Tabela 2 - Adição no sistema binário Fonte: Elaborada pelo autor, 2020. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 7/30 #PraCegoVer: na imagem, temos uma tabela de seis linhas e quatro colunas, nas quais são demonstradas as possíveis combinações para a realização da soma no sistema binário. A tabela anterior demonstra as combinações possíveis para a realização da operação aritmética soma no sistema binário. Observem a seguir a demonstração de uma soma e o vai um (carry). #PraCegoVer: trata-se de uma figura representando uma soma binária, ou seja, 01+10=11 Conforme pudemos observar na figura anterior, o mecanismo da soma binária obedece à tabela correspondente. O sistema hexadecimal, alfanumérico, composto pelos símbolos numéricos de 0 a 9 e A, B, C, D, E, F, é muito utilizado em equipamentos computacionais para identificação de endereços de memória. Por fim, o sistema octal, composto pelos símbolos de 0 a 7, foi muito utilizado em componentes computacionais, mas, substituído pela linguagem hexadecimal, que apresentou maior eficiência e praticidade. Os sistemas octal e hexadecimal possuem regras aritméticas parecidas com o sistema decimal. 1.1.2 Arquiteturas de computadores, RISC, CISC e ARM Os grandes filósofos da antiguidade, Platão, Sócrates e Aristóteles, desenvolveram técnicas de raciocínio lógico buscando a obtenção da verdade, ou seja, do conhecimento (LOURENÇO et al., 2014). Em 1642, o cientista francês Blaise Pascal, criou uma máquina de calcular inteiramente mecânica, que utilizava engrenagens para funcionar. A máquina de calcular de Blaise Pascal foi considerada o primeiro computador mecânico. No século XIX, o matemático George Boole conseguiu sistematizar as teorias de Platão, Sócrates e Aristóteles, criando a álgebra booleana. Nesse momento, George Boole transformou os métodos de raciocínio teóricos em regras matemáticas. No século XX, durante a Segunda Guerra Mundial, foram desenvolvidos os primeiros computadores eletrônicos que funcionavam com válvulas, conforme a lógica de Boole, merecendo destaque o COLOSSUS, projeto que teve a participação do matemático britânico Alan Turing (TANENBAUM, 2013). Os primeiros computadores possuíam apenas dois níveis de linguagens, ou seja, o nível ISA (Instruction Set Architecture), no qual ocorria a programação, e o nível lógico digital, em que os códigos eram executados. No nível ISA, os programadores da época eram obrigados a programar em linguagem de máquina, ou seja, com uma sequência de 0s e 1s. Essa tarefa era trabalhosa e complicada, dificultando a vida dos profissionais que perdiam horas para programar e outras tantas para resolver eventuais problemas que surgissem. Posteriormente, os equipamentos foram aprimorados e passaram por diversas modificações, chamando a atenção a substituição da válvula pelo transistor, que viabilizou o aumento expressivo na capacidade computacional. As arquiteturas de computadores são divididas em arquitetura de Von Neumann e arquitetura de Harvard. Figura 2 - Soma binária Fonte: Elaborada pelo autor, 2020. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 8/30 O modelo de Von Neumann é composto por unidade central de processamento (CPU), unidade de controle (UC), unidade lógica e aritmética (ULA), unidade de memória e unidade de entrada. A característica principal no modelo de Von Neumann é que os dados e programas compartilham o mesmo espaço de armazenamento, podendo ser facilmente acessados. #PraCegoVer: a figura representa o modelo de arquitetura de computadores de Von Neumann, apresentando a CPU e um local de memória utilizado para programas e dados. A figura anterior representa o modelo de arquitetura de Von Neumann, demonstrando esquematicamente como os dados e programas ocupam o mesmo espaço de memória. Esse foi o modelo de arquitetura dos primeiros computadores, ainda usado até nossos dias com algumas modificações. Outro modelo de arquitetura de computadores, mais moderno, é o modelo de Harvard. A arquitetura de Harvard é um conceito mais moderno,foi desenvolvido para atender a demanda de equipamentos mais eficientes. Esse modelo é parecido com o modelo de Neumann, diferenciando apenas com relação à forma de armazenamento das informações. No modelo de arquitetura de Harvard, os dados e programas localizam-se em diferentes locais de armazenamento. Observem a imagem a seguir. Figura 3 - Modelo de Von Neumann Fonte: Elaborada pelo autor, 2020. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 9/30 #PraCegoVer: afigura representa o modelo de arquitetura de computadores de Harvard, apresentando a CPU e locais de memórias individuais, utilizados para programas e dados separadamente. A vantagem de armazenar os dados e programas em locais diferentes é que o processador pode acessar dados simultaneamente em locais diferentes, melhorando a eficiência do processamento. Conforme pudemos observar, os modelos de Von Neumann e Harvard nos remetem para formas de armazenamento de dados e programas. Outra forma de classificação é com relação às instruções. No início dos anos 1980, existia uma tendência em se desenvolver processadores contendo instruções cada vez mais complexas, as chamadas arquiteturas CISC (do inglês: Complex Instruction Set Computing), ou seja, Computador com um Conjunto Complexo de Instruções. Essa arquitetura suportava quantidade maior de instruções, porém era mais lenta, tendo sido utilizada em processadores da Intel e AMD (PATTERSIN e HENNESSY, 2014). Nessa mesma época, mais exatamente em 1980, Berkeley iniciou o projeto RISC (em inglês: Reduced Instruction Set Computing, Computador com um Conjunto Reduzido de Instruções), tendo em 1981 iniciada a produção do chip com 44500 transístores, 31 instruções e 78 registradores. Figura 4 - Modelo de Harvard Fonte: Elaborada pelo autor, 2020. Nikola Tesla, nascido em 10 de julho de 1956, na aldeia de Smiljan, Vojna Krajina, no território da atual Croácia, austríaco por nascimento, tornando- se posteriormente cidadão americano foi taxado durante anos de “cientista louco”, desenvolvendo trabalhos extraordinários que serviram como base para o desenvolvimento dos atuais sistemas de corrente alternada e potência elétrica. Para saber mais, leia o livro As fantásticas invenções de Nikola Tesla de Childress e Tesla, de 2017. Você o conhece? 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 10/30 A MIPS aproveitando a tecnologia RISC lançou o primeiro processador em 1985, que obteve muito sucesso. O processador MIPS foi muito utilizado na automação industrial, sistemas embarcados e em consoles de jogos, como Nintendo 64, Playstation e Playstation 2. Os processadores RISC suportavam instruções mais simples, uma quantidade reduzida de instruções, ganhando em eficiência. O fato é que ambas as arquiteturas possuem vantagens e desvantagens, sendo igualmente importante. Em 1985 foi criado o processador ARM (Acorn RISC Machine), desenvolvido pela Acorn Computers britânica, assim, o ARM era um processador com arquitetura RISC em um padrão mais sofisticado. Os processadores ARMs evoluíram e diversas atualizações foram lançadas, sendo que atualmente as famílias de processadores ARMs possuem alta compatibilidade entre si, pois utilizam a mesma família de instruções. Podemos classificar os processadores ARMs quanto à área de aplicação. Observem o quadro a seguir. #PraCegoVer: trata-se de um quadro com descrições dos tipos de aplicações ARMs. Alto desempenho para plataformas e aplicações móbile; tempo real para sistemas embarcados automotivos e industriais; e microcontroladores para o mercado diversificado. O quadro anterior demonstra o grande potencial da família de processadores ARMs, principalmente nas arquiteturas projetadas para microcontroladores, devido a sua grande diversidade de aplicações, abarcando desde sistemas críticos até sistemas de tempo real de alto desempenho (STALLING, 2017). Quadro 1 - Aplicações ARMs Fonte: Elaborado pelo autor, baseado em STALLING, 2017. 1.2 Microcontrolador 8051 No início da década de 1980, a Intel lançou a família de microcontroladores MCS-51 operando com 8 bits e um conjunto complexo de instrução, no modelo CISC, tornando-se muito popular na indústria até os dias de hoje. Em todos esses anos, a família de microcontroladores MCS-51 sofreu muitas alterações, adquirindo novas funções. A compatibilidade entre os dispositivos foi mantida, apesar de todas as modificações, pois foi conservada a arquitetura original e o mesmo conjunto de instruções. 1.2.1 Arquitetura interna do 8051, pinagem e funcionamento Conforme já foi dito, o microcontrolador é considerado um computador em um único chip, sendo muito utilizado em diversos segmentos da indústria da tecnologia. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 11/30 Dessa forma, torna-se importante e não menos interessante, estudar a arquitetura interna desse componente eletrônico, presente desde processos de automação industrial até em equipamentos de tempo real. Vejamos a figura a seguir. #PraCegoVer: a figura mostra a arquitetura interna de um microcontrolador 8051, apresentando CPU, OSC, controle de interrupções, ROM, RAM, timer 0, timer 1, barramento de controle, 4 portas de E/S e porta serial. Na figura anterior podemos ver a arquitetura interna de um microcontrolador 8051 contendo diversos componentes, como portas de entrada e saída, portas seriais, memórias, central e barramento de controle, entradas de contadores, oscilador e CPU. O primeiro microcontrolador brasileiro reconhecido oficialmente pelo Ministério da Ciência, Tecnologia, Inovação e Comunicações (MCTIC) foi o ZR16S08. No artigo ZR16S08: O primeiro microcontrolador brasileiro reconhecido oficialmente, você encontrará mais informação sobre esse marco para a ciência brasileira. Acesse (https://www.embarcados.com.br/zr16s08- microcontrolador-brasileiro/) Você quer ler? Figura 5 - Microcontrolador 8051 Fonte: Elaborada pelo autor, baseada em GIMENEZ, 2010. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 12/30 https://www.embarcados.com.br/zr16s08-microcontrolador-brasileiro/ https://www.embarcados.com.br/zr16s08-microcontrolador-brasileiro/ Temos também na estrutura desse dispositivo o controle de interrupções para eventos inesperados. Interrupção significa alteração no fluxo normal do programa, podendo ser provocada por situações externas ao microcontrolador. Por exemplo, os periféricos podem provocar interrupções no fluxo de processamento do microcontrolador. Quando ocorre a interrupção, o programa deve seguir uma rotina específica e posteriormente retornar para a execução normal do programa. Observem a figura a seguir. #PraCegoVer: a figura mostra a forma como ocorre o controle de interrupção no microcontrolador 8051. À esquerda um bloco representando a execução do programa e, em dado momento, uma interrupção indica o desvio de execução à direita em outro bloco. Após o tratamento da interrupção ser executado, a execução é desviada novamente para o bloco à esquerda. O microcontrolador 8051 pode sofrer interrupções originadas de várias fontes. Observem o quadro a seguir onde estão representadas as fontes de interrupção e o fato gerador. Figura 6 - Controle de interrupção Fonte: STALLING, 2017. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 13/30 #PraCegoVer: trata-se de um quadro com duas colunas. A primeira coluna trata da interrupção das instruções e a segunda coluna trata do fato gerador. Quando ocorre uma interrupção, a execução da instrução para e o endereço do contador é salvo na pilha. Posteriormente,é necessário que as instruções menos prioritárias sejam desabilitadas. A execução do programa continua no endereço apontado pelo endereço salvo na pilha. Quando o programa apontado no desvio é executado totalmente, então a instrução RETI é executada e o endereço do desvio é restaurado. O microcontrolador 8051 é baseado no modelo de arquitetura de Von Neumann, ou seja, os dados e os programas são armazenados em um único local, apresentando um conjunto complexo de instrução CISC, contudo não são todos os microcontroladores que são estruturados nesse modelo. É o que acontece com os microcontroladores PIC da fabricante Microchip, onde os dados e programas são armazenados em locais separados. Essa arquitetura apresenta uma quantidade reduzida de instruções RISC. Observem a figura. Quadro 2 - Interrupções e fato gerador Fonte: Elaborado pelo autor, 2020. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 14/30 #PraCegoVer: a figura mostra a arquitetura interna de um microcontrolador PIC. Os microcontroladores PIC foram projetados para operar com uma quantidade reduzida de instruções, porém com dois locais de armazenamento, viabilizando maior rendimento de processamento. Outra questão importante dos microcontroladores são os pontos de acesso à arquitetura interna, ou seja, a chamada pinagem. O microcontrolador 8051/31 possui 40 pinos. Observem a figura a seguir. Figura 7 - Arquitetura interna do microcontrolador PIC16F84 Fonte: ALCIATORE e HISTANDE, 2014. Agora é com você! Esta atividade não é pontuada. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 15/30 Figura 8 - Pinagem MC 8051 Fonte: Elaborada pelo autor, baseada em GIMENEZ, 2010. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 16/30 #PraCegoVer: a figura mostra o modelo de pinagem do microcontrolador 8051. Na figura anterior pode-se observar a pinagem do microcontrolador 8051. Pode-se ver claramente a pinagem das 4 portas de E/S, bem como a pinagem dos demais componentes. Faremos a seguir uma breve descrição da pinagem do microcontrolador. Observem o quadro. #PraCegoVer: trata-se de um quadro com a descrição da pinagem do microcontrolador 8051. A figura e o quadro anterior descrevem em detalhes as funções dos pinos do microcontrolador 8051, esclarecendo a forma de funcionamento. 1.2.2 Conjunto de instruções e organização da memória Com relação à memória dos microcontroladores da família MCS-51, observamos que possui uma divisão lógica, sendo dividida em memória de programa e memória de dados. Vejamos a figura a seguir. Quadro 3 - Descrição da pinagem – continuação Fonte: Elaborado pelo autor, baseado em GIMENEZ, 2010. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 17/30 #PraCegoVer: a figura mostra a divisão lógica da memória do MCS-51 Intel. A parte da memória de programa tem como função armazenar o firmware dos equipamentos, e a memória de dados tem a função de armazenar as informações que serão utilizadas no gerenciamento de controle. Os programas armazenados nada mais são do que um conjunto de instruções. Esses programas são implementados em linguagem assembly e, posteriormente, convertidos em linguagem de máquina pelo montador assembler. O microcontrolador 8051 possui um conjunto de instruções com funções específicas, que são utilizadas pelos programadores para a criação de programas em assembly. O quadro a seguir apresenta algumas instruções utilizadas para movimentação de dados. Figura 9 - Divisão lógica da memória do MCS-51 Intel Fonte: Elaborada pelo autor, baseada em GIMENEZ, 2010. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 18/30 #PraCegoVer: o quadro exibe instruções de transferência de dados. A família de MCS-51 conta também com um conjunto de instruções aritméticas. Vejamos no quadro a seguir algumas instruções aritméticas. #PraCegoVer: a figura exibe instruções aritméticas. No quadro anterior podemos ver um conjunto de instruções aritméticas, utilizadas para efetuar operações de adição, subtração, multiplicação, divisão, incremento etc. O microcontrolador 8051 também conta com um conjunto de instruções lógicas utilizadas para mudar o padrão de sequências binárias, ou seja, resetar (reset), setar (set), examinar bits ou aplicar máscaras. #PraCegoVer: a figura exibe instruções lógicas. No quadro anterior, pudemos observar uma série de instruções lógicas que fazem parte do conjunto de instruções do microcontrolador 8051. Quadro 4 - Instruções de movimento de dados Fonte: Elaborado pelo autor, baseado em (CORRÊA, 2017). Quadro 5 - Instruções aritméticas Fonte: Elaborado pelo autor, baseado em CORRÊA, 2017. Quadro 6 - Instruções lógicas Fonte: Elaborado pelo autor, baseado em CORRÊA, 2017. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 19/30 1.2.3 Endereçamento e instruções do 8051 As instruções do microcontrolador 8051 são divididas em opcode e operando. De uma forma bem simplificada, o opcode indica “o que fazer” e o operando representa “dados, endereços etc.”. #PraCegoVer: a figura exibe diferentes estruturas de instruções. Na figura anterior podemos observar esquematicamente alguns modelos de instruções. Reparem que as instruções sempre deverão ter um opcode e não necessariamente o operando. A quantidade de operandos pode variar conforme o tipo de instrução e a arquitetura em questão. Vejamos a seguir alguns tipos de endereçamento. Figura 10 - Estrutura das instruções Fonte: Elaborada pelo autor, 2020. Ocorre quando o valor operando estiver presente na instrução. É a forma mais simples de endereçamento (STALLING, 2017). Ocorre quando o endereço é determinado na própria instrução, servindo para endereçamento de registradores especiais e da RAM interna. Ocorre quando o endereço do operando é determinado por um registrador. Os registradores R0~R1podem determinar endereços de 8 bits, enquanto o registrador DPTR, endereços de 16 bits. Endereçamento Imediato Endereçamento Direto Endereçamento Indireto 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 20/30 Dessa forma, uma instrução deve conter as informações de origem dos dados que serão utilizados e o endereço de destino da próxima instrução. Em outras palavras, é uma sequência binária que necessariamente deve representar o local onde estão os dados que serão executados e o local da próxima instrução que também será executada, então o que poderá variar é a forma como ocorrerá esse endereçamento. Ocorre quando o campo de endereço se refere a um registrador. Ocorre quando o operando de uma instrução é determinado em um registrador específico. Nesse caso não há necessidade de indicar o endereço. Nesse tipo de endereçamento o conteúdo da instrução utiliza o conteúdo do registrador R0 ou R1, somente a memória de programa pode ser acessada, sendo utilizado em instruções de salto e look-up table. Esse tipo de endereçamento é possível apenas em operações de leitura. Endereçamento por Registrador Endereçamento do tipo Registrador Específico Endereçamento do tipo Indexado ou deslocamento 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 21/30 #PraCegoVer: a figura exibe vários tipos de endereçamento. Conforme pudemos observar, existem diversas formas de endereçamento de instruções, que poderão ser usadas.Observem o quadro a seguir. Figura 11 - Tipos de endereçamento Fonte: Elaborada pelo autor, baseada em STALLING, 2017. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 22/30 #PraCegoVer: o quadro apresenta modelos de endereçamento. Endereçamento imediato, direto, indireto, por registrador, indireto por registrador e por deslocamento. No quadro anterior foram utilizadas as seguintes notações: O quadro anterior demonstra os tipos de endereçamento, suas vantagens e desvantagens, para que o leitor possa compreender a necessidade de utilização de cada modelo (STALLING, 2017). Quadro 7 - Modelos de endereçamento Fonte: Elaborada pelo autor, baseada em STALLING, 2017. A = conteúdo do campo de endereço na instrução. R= Conteúdo de campo de endereço na instrução fazendo referência a registrador. EA= Endereço real do local. (X) = Conteúdo do local da memória X ou registrador X. 1.3 Fluxograma e programação em Assembly O estudo de linguagens de programação é necessário para quem deseja trabalhar com microcontroladores. Existem diversas linguagens de programação, entre elas podemos citar o assembly (baixo nível) ou linguagens em níveis mais elevados, como linguagem C (nível intermediário) ou linguagens BASIC e PL/M (nível alto). A vantagem de estudar programação de baixo nível é que iremos trabalhar com instruções similares aquelas desenvolvidas pelo fabricante do hardware, assim teremos maior acesso a suas funções. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 23/30 A computação percorreu um longo caminho até nossos dias e, nesse percurso, foi criada uma infinidade de linguagens de programação. Existem linguagens de baixo, médio e alto nível, que são utilizadas pelos programadores para que sistemas e serviços possam funcionar normalmente. A grande indagação é: qual a melhor linguagem? As linguagens de programação possuem características diversas, sendo, portanto, indicadas para problemas específicos, como por exemplo a linguagem assembly, utilizada em microcontroladores, podendo servir de base para sistemas de tempo real e computação de alto desempenho. Para aprender programação, devemos atentar para alguns requisitos: conhecimento do hardware e suas instruções, viabilidade do projeto e critérios de implementação. Podemos representar os critérios de implementação como a elaboração de um fluxograma de forma a retratar adequadamente as instruções que deverão ser implementadas em código assembly. No dizer de Gimenez (2010, p. 80): “O fluxograma representa como o fluxo de informações será processado pelo microprocessador.”. A seguir iremos estudar apenas quatro símbolos básicos para a elaboração de um fluxograma: a) Linha de conexão: as setas para direita, para esquerda, para cima, para baixo. Esse símbolo pode ser utilizado para representar fluxo de informações que serão processadas, ou simplesmente para conectar os blocos lógicos do fluxograma. b) Elipse: esse símbolo é utilizado para identificar o início e o fim do programa. Quando for utilizado no início do programa deverá conter em seu interior o nome da rotina. Observem a figura. #PraCegoVer: a figura exibe o símbolo de fluxograma “Ler teclado”. No final do programa deve-se usar o mesmo símbolo contendo em seu interior a indicação de término da rotina. Observem a figura a seguir com o símbolo de encerramento. Caso Figura 12 - Início do programa “ler teclado” Fonte: Elaborada pelo autor, baseada em GIMENEZ, 2010. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 24/30 #PraCegoVer: a figura exibe o símbolo de fluxograma “Fim da rotina ler teclado”. c) Retângulo: esse símbolo opera de forma genérica, ou seja, representa todo o processamento de informações, como operações lógicas, aritméticas, movimento de dados etc. Observem o exemplo a seguir. d) Losango: utilizado para a tomada de decisões. O fluxo de execução do programa seguirá um caminho caso a condição seja satisfeita, ou seguirá outro caminho caso a condição não seja satisfeita. #PraCegoVer: a figura exibe o símbolo de fluxograma “Estrutura condicional”. Acabamos de ver as principais estruturas de um fluxograma para a criação de um programa simples. Agora vejamos como criar a estrutura de um programa simples. Observe a figura a seguir. Figura 13 - Final do programa “Fim da rotina ler teclado” Fonte: Elaborada pelo autor, baseada em GIMENEZ, 2010. Figura 14 - Processamento de informações Fonte: Elaborada pelo autor, 2020. Figura 15 - Estrutura condicional Fonte: Elaborada pelo autor, baseada em GIMENEZ, 2010. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 25/30 #PraCegoVer: a figura exibe o fluxograma de um programa simples. Na figura anterior podemos ver os blocos de um programa simples com execução sequencial, isto é, sem interrupção. Muitas outras questões podem envolver estruturas condicionais e loops. Observe a figura a seguir. Figura 16 - Estrutura de um programa simples Fonte: Elaborada pelo autor, baseada em GIMENEZ, 2010. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 26/30 #PraCegoVer: a figura exibe o fluxograma de um programa com condicional e loop. A figura anterior representa o fluxograma de um programa em que existem duas estruturas condicionais e loop. Pode-se observar que a primeira estrutura condicional representa o teste de uma variável e a segunda estrutura condicional efetua o controle do loop. Figura 17 - Estrutura com blocos condicionais e loops Fonte: Elaborada pelo autor, baseada em GIMENEZ, 2010. 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 27/30 Agora vamos criar um programa que efetue uma soma de dois valores. Observe a figura a seguir. #PraCegoVer: a figura exibe fluxograma e código de um programa para somar. No programa anterior o conteúdo do endereço 45h é movido para o acumulador A. Em seguida o conteúdo do endereço de memória 5Ah é somado com o acumulador A e o resultado atribuído ao próprio acumulador. Posteriormente, o valor do acumulador A é movido para a posição de memória 6Dh. Figura 18 - Fluxograma e código fonte em assembly Fonte: Elaborada pelo autor, baseada em GIMENEZ, 2010. 1.4 Elaboração de projetos básicos Os programas em baixo nível são uma ferramenta poderosa, pois proporcionam acesso privilegiado às funções do hardware. Elabore o fluxograma e um programa em assembly que efetue uma subtração. O código deve ser criado compatível com a arquitetura de microcontroladores Intel 8051. O quadro a seguir demonstra as Vamos Praticar! 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 28/30 #PraCegoVer: a figura exibe a lista de registradores internos da CPU. É simples criar um pequeno programa em assembly que efetue uma operação aritmética de subtração. Programar em assembly torna o código mais poderoso, o que permite aproveitar ao máximo as funcionalidades do hardware, ocorrendo otimização em tamanho de código e em tempo de execução. posições de memórias dos registradores, informações que poderão ser utilizadas na resolução do exercício. Figura 19 - Registradores internos a CPU Fonte: Elaborada pelo autor, baseada em GIMENEZ, 2010. Conclusão 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 29/30 O ser humano aprendeu a manipular a energia elétrica, criando máquinase desenvolvendo circuitos eletrônicos, peças essenciais para a criação dos computadores e, mais tarde, dos microcontroladores, sistemas embarcados. Entre tantas inovações, foi viabilizado um grande avanço tecnológico que caminha conforme a necessidade das pessoas e não vê limites. Nesta unidade, você teve a oportunidade de: aprender as grandezas elétricas e conceitos de eletrônica; aprender sobre arquiteturas de computadores; estudar sobre os microcontroladores 8051; aprender e criar projetos em assembly. ALCIATORE, D. G.; HISTANDE, M. B. Introdução à Mecatrônica e aos Sistemas de Medições. 4. ed. Porto Alegre: AMGH, 2014. CAMILLO, R. ZR16S08: O primeiro microcontrolador brasileiro reconhecido oficialmente. Embarcados, [s. l.], 2018. Disponível em: https://www.embarcados.com.br/zr16s08-microcontrolador- brasileiro/ (https://www.embarcados.com.br/zr16s08-microcontrolador-brasileiro/). Acesso em: 1 dez. 2020. CHILDRESS, D. H.; TESLA, N. As fantásticas invenções de Nikola Tesla. 1. ed. São Paulo: Madras, 2017. CORRÊA, A. G. D. Organização e arquitetura de computadores. 1. ed. São Paulo: Pearson, 2017. GIMENEZ, S. P. Microcontroladores 8051. 1. ed. São Paulo: Érica, 2010. LOURENÇO, A. C. D. et al. Circuitos digitais. 9. ed. São Paulo: Érica, 2014. MORDKA, S. Eletrônica digital: teoria, componentes e aplicações. São Paulo: Gen, 2014. PATTERSON, D. A.; HENNESSY, J. L. Computer organization and design: the hardware/software interface. 5. ed. Waltham: Elsevier, 2014. STALLING, W. Arquitetura e organização de computadores. 10. ed. São Paulo: Pearson, 2017. TANENBAUM, A. Organização estruturada de computadores. 6. ed. São Paulo: Pearson, 2013. YOUNG, P. H. Técnicas de comunicação eletrônica. 5. ed. São Paulo: Pearson, 2005. Referências 06/04/2026, 23:00 Dispositivos microcontrolados https://fmu-content.s3.us-east-1.amazonaws.com/FMU/EAD/Conteudo/ENG_DISMIC_21/unidade_1/ebook/index.html 30/30 https://www.embarcados.com.br/zr16s08-microcontrolador-brasileiro/ https://www.embarcados.com.br/zr16s08-microcontrolador-brasileiro/ https://www.embarcados.com.br/zr16s08-microcontrolador-brasileiro/