Neste volume: Considerações básicas sobre o PIC16F877

Tamanho: px
Começar a partir da página:

Download "Neste volume: Considerações básicas sobre o PIC16F877"

Transcrição

1 Coleção TUTPRO Tutoriais sobre programação de microcontroladores Solbet Ltda Expandindo a percepção humana Neste volume: Considerações básicas sobre o PIC16F877 versão 1.0 Campinas 10/11/ Considerações básicas sobre o PIC16F877A 1

2 Sumário Recursos necessários para execução deste tutorial...3 Introdução...3 A estrutura desta série de tutoriais...4 O que é um microcontrolador...4 A Arquitetura do microcontrolador PIC16F877A...6 Como se programa um microcontrolador...8 As origens do PIC16F877A...9 Compreendendo a arquitetura do PIC16F877A...10 A estrutura interna do PIC16F877A...12 A descrição dos terminais do PIC16F877A...13 A descrição da estrutura interna do PIC16F877A...16 As diferentes áreas de memória...16 O controle do fluxo de programa...19 O sistema de interrupts...20 As configurações do oscilador...21 O sistema de reset Considerações básicas sobre o PIC16F877A 2

3 Recursos necessários para execução deste tutorial PDF. Este tutorial cobre somente partes teóricas. Você só precisará de um computador com leitor Você pode copiar este material a vontade, desde que mantida a informação da fonte. Introdução Este conjunto de tutoriais se destina a todos aqueles que desejam se tornar bons projetistas e programadores com os microcontroladores, especialmente os microcontroladores de 14 bits da Microchip, com ênfase no PIC16F877. A escolha deste microcontrolador se deve ao fato dos recursos que ele disponibiliza ao programador abrangem um grande número de periféricos, e o conhecimento da programação destes periféricos permite a programação de dezenas de outros chips desta linha. Como pré-requisito para a leitura deste tutorial, você deve ter conhecimentos básicos sobre lógica Booleana, da estrutura dos microcontroladores e de seus periféricos em geral, assim como fundamentos de programação em qualquer linguagem. O enfoque é eminentemente prático. Você estuda a teoria e experimenta na prática os conceitos trabalhados. Ao final do livro você terá aprendido a desenvolver um conjunto de projetos que variam desde um simples pisca-pisca a um controlador de servo mecanismos para uso em sistemas robóticos. Este volume faz parte de uma série de tutoriais de programação de microcontroladores, que estão sendo paulatinamente colocados em formato eletrônico e disponibilizados para cópia individual. O material pode ser utilizado livremente por indivíduos ou instituições sem fim lucrativo, devendo ser mantida sempre a obra integral, com os créditos do autor. Para facilitar o aprendizado utilizaremos como plataforma alvo a placa Powerboard2. A Powerboard2 é uma placa para experimentação e desenvolvimento com microcontroladores extremamente versátil. Com ela você pode programar o microcontrolador sem necessidade de um programador avulso, e toda a sua experimentação pode ser realizada sem necessidade de retirar o PIC do soquete. Embora os simuladores sejam uma ferramenta muito adequada no desenvolvimento de programas com o PIC16F877, somente a experimentação real lhe garantirá uma capacitação efetiva no desenvolvimento de projetos baseados em microcontroladores. O manual completo da Powerboard2 você encontra em Para você implementar os programas exemplo será necessário a utilização de um software assembler, um compilador C e de um carregador. O assembler sugerido é o MPLAB, da Microchip, disponível em O compilador C que utilizamos é o CCS, de baixo custo, que pode ser adquirido em E o carregador, o software SbMaster, pode ser obtido gratuitamente em O carregador e o compilador C podem operar em Linux ou Windows, mas o MPLAB opera somente em Windows. Se você utilizar os diversos módulos de desenvolvimento já disponíveis na Solbet, certamente irá economizar tempo e poderá focalizar seu esforço no domínio da programação de microcontroladores. Considerações básicas sobre o PIC16F877A 3

4 A estrutura desta série de tutoriais Neste série de tutoriais você encontrará capítulos teóricos e capítulos com sugestões de exercícios de laboratório. Cada exercício é acompanhado de propostas de projetos baseadas nos pontos explanados. Não deixe de implementar de forma prática os exercícios, tanto os já resolvidos como os propostos. Para realizar as práticas de laboratório você deverá ter acesso a um computador do tipo IBM-PC, com o sistema operacional Windows ou Linux, e ser capaz de ler esquemas eletrônicos, e de uma placa Powerboard2. A maioria dos experimentos pode ser realizada com a placa mais custo, a Powerboard2 Light. Instrumentação básica para o desenvolvimento de circuitos eletrônicos, tais como multímetro e osciloscópio, irão ajudar muito a depuração dos circuitos, porém não são indispensáveis. Um conjunto de exercícios é deixada como desafio ao estudante. Se você deseja comparar a sua resposta com a por nós sugerida, basta acessar o site e procurar na seção Notas de aplicação. As respostas aos problemas e mais informação adicionais sobre programação de microcontroladores estão lá disponíveis para você. A seguinte seqüência será adotada neste tutorial: Introdução Considerações Básicas sobre microcontroladores Compreendendo a arquitetura do PIC16F877 Os experimentos podem ser avaliados utilizando apenas o simulador disponível no MPLAB, mas sugerimos fortemente que você efetivamente monte os diversos circuitos apresentados. Embora o simulador seja uma ferramenta fantástica para o desenvolvimento, a experiência com o dispositivo real irá ampliar de forma significativa o seu aprendizado. Você notará aqui vários termos em inglês. Escolhemos não traduzir alguns termos, visto ser a nomenclatura inglesa mais utilizada em nosso meio. A tradução de alguns termos como STATUS, RESET, CLOCK e outros similares iria apenas dificultar a quem está realizando este curso, a compreensão dos conceitos envolvidos e seria de pouco valor para o projetista. O que é um microcontrolador Um microcontrolador é um dispositivo utilizado para controlar (EPA!- definição recursiva?) algum processo ou aspecto do ambiente. Um exemplo típico de um controlador você tem no seu forno de microondas. No forno pode-se programar a potência, o tempo de cozimento, a velocidade de giro e outros parâmetros. Além disso, o controlador toma conta para você de outros itens igualmente importantes e que podem parecer insignificantes à primeira vista. Por exemplo, se você abrir a forno com ele em funcionamento, o microcontrolador irá desligar imediatamente a geração de microondas, que poderia vir a provocar lesões no usuário. Os microcontroladores estão revolucionando o projeto de equipamentos eletrônicos. Não somente os sistemas convencionais estão se tornando mais sofisticados e baratos, como novas funcionalidades estão sendo possíveis de serem implementadas a um custo compatível com o mercado. A propósito, o seu celular só se tornou possível graças ao uso de microcontroladores cada vez mais poderosos. No início dos tempos os sistemas de controle eram construídos utilizando-se (ugh!), relês e Considerações básicas sobre o PIC16F877A 4

5 válvulas. Nestes tempos heróicos a construção era cara e os programas difíceis de se desenvolver. O programa era implementado pelo hardware do próprio circuito, com enormes dificuldades na hora em que se necessitava alterá-lo. Os custos (e dimensões) eram elevados e poucos experimentadores poderiam construir um destes para controlar o ambiente de seu aquário (temperatura, iluminação, filtros, alimentação, etc...).ou gerenciar sua residência. Os controladores eram basicamente utilizados em indústrias, onde o seu custo elevado era amortecido pelo grande aumento da produtividade obtida devido à sua utilização. Com o advento da micro-eletrônica as coisas melhoraram um pouco, porém ainda não o suficiente para popularizar os controladores. O tamanho agora era mais reduzido, devido ao uso de transistores onde antes eram empregados válvulas, porém o problema da dificuldade de reprogramação continuava. O grande passo ocorreu em 1970, com o advento dos microprocessadores. Embora os primeiros microprocessadores fossem destinados ao uso genérico, a possibilidade de reprogramação sem alteração do hardware básico não passou despercebido dos projetistas de controladores, que passaram a utilizar de forma intensa este componente. Os microprocessadores destinados ao mercado de computadores pessoais podiam ser empregados em controladores, porém o seu custo continuava elevado para o tipo de tarefa que se desejava executar no controle dedicado. Imagine quão pouco competitivo (custo/benefício) ficaria utilizar um Pentium no controle do número de lâmpadas acesas simultaneamente numa casa, por exemplo. Em virtude deste mercado, os fabricantes de circuitos lançaram então os microcontroladores. Estes dispositivos tipicamente possuem integrados em uma única pastilha de circuito integrado, a CPU (unidade central de processamento), RAM (memória de acesso aleatório), EPROM(ou suas variantes EEPROM,ROM,PROM), memória somente de leitura, E/S (entrada e saída digitais e analógicas), TEMPORIZADORES (contadores e temporizadores) e CONTROLADORES DE INTERRUPÇÃO (possibilitando rápida reação às mudanças do ambiente). Se você não compreendeu o significado de algumas destas siglas, não se preocupe. Nós explicaremos o significado de cada uma nas próximas páginas. O surgimento destes dispositivos a um baixo custo provocou uma revolução nos métodos de projeto de sistemas de controle para uso doméstico ou industrial. Sistemas mecânicos já consagrados pelo uso (por exemplo, controladores de máquinas de lavar roupa) estão sendo rapidamente substituídos por circuitos eletrônicos mais confiáveis e baratos. Conhecer estes dispositivos tão onipresentes em nossas vidas se tornou uma necessidade de todos os profissionais envolvidos com a produção, desenvolvimento e manutenção de circuitos eletrônicos de qualquer tipo. Do ponto de vista do projetista dos circuitos de controle, esta substituição forçou o deslocamento dos projetos baseados em hardware, onde cada projeto correspondia a um circuito eletrônico, para projetos baseados em software, onde o hardware básico se mantém o mesmo, sendo que a alteração funcional se dá através da alteração do software do sistema. Desta forma, correções e aumentos na funcionalidade do sistema podem ser feitos muito mais rapidamente e com custos reduzidos, se comparados a solução de alteração no hardware. Microcontroladores estão em torno de nós em quantidades cada vez maiores. A indústria automobilística, por exemplo, é uma grande consumidora destes dispositivos. A indústria de eletrodomésticos também. Conhecê-los e saber deles extrair o máximo de funcionalidade, é uma capacidade que se exige do engenheiro ou técnico, projetistas e pessoal de manutenção de sistemas dedicados ou usuários avançados. E além disto, para o experimentador, fica muito mais barato utilizar estes pequenos módulos para os seus experimentos que criar um novo hardware para cada Considerações básicas sobre o PIC16F877A 5

6 projeto. O projetista de circuitos que utilizar microcontroladores deve ser eficiente em pelo menos três diferentes áreas. Em primeiro lugar ele deve ter uma compreensão exata da capacidade do microcontrolador que pretende utilizar, em termos de memória, dispositivos de entrada e saída, velocidade de processamento, etc. Em segundo lugar, o projetista deve ser capaz de especificar formalmente os requisitos do seu projeto. Isto significa compreender o ambiente no qual o sistema será utilizado e qual a interação do sistema sendo desenvolvido com o este ambiente. Por último, é papel fundamental de um bom projetista ser capaz de dividir o problema com que se depara em partes menores e mais gerenciáveis, que devem trabalhar harmoniosamente de forma a se obter o resultado desejado. A Arquitetura do microcontrolador PIC16F877A Podemos pensar num microcontrolador como um dispositivo composto de sete partes, como mostrado na figura 2-1. Os dados dentro de um microcontrolador são manipulados em unidades chamadas palavras. O PIC16F877A possui palavras de dados de oito bits de tamanho, e palavras de instrução de 14 bits. Este comprimento da palavra de instrução do PIC16F877A permite que a maioria das instruções possa ser executada dentro de um único ciclo de máquina, um dos motivos da grande velocidade que se consegue nestes microcontroladores. PORTA SAÍDA PORTA ENTRADA CPU MEMÓRIA DE PROGRAMAS MEMÓRIA DE DADOS Figura 2-1. Microcontrolador básico O clock é o responsável pelo sincronismo entre todas as operações de um microcontrolador. Todos os eventos que ocorrem dentro de um microcontrolador obedecem a uma lógica preestabelecida pelo fabricante, e são processados em tempos determinados pela freqüência do clock. Normalmente, quanto maior a freqüência de clock de um microcontrolador, mais rápida é a execução das instruções. No caso dos microcontroladores, o clock é também utilizado como referência de tempo para execução de tarefas que devem ser repetidas a determinado intervalo de tempo, como por exemplo a leitura de sinais em interfaces RS232C. A CPU, ou unidade central de processamento, coordena todas as atividades dentro do microcontrolador. Ela organiza a execução das instruções. É a CPU que realiza as operações lógicas ou matemáticas sobre os dados, e envia os resultados para os diversos registros ou portas de entrada e saída. As portas de entrada e de saída são os pontos através dos quais o microcontrolador interage com o meio ambiente. As portas digitais assumem valores discretos, normalmente referenciados como 0 ou 1, correspondentes a 0 volts ou 5 volts de saída respectivamente. O valor Considerações básicas sobre o PIC16F877A 6

7 de tensão correspondente ao nível lógico 1 normalmente corresponde a tensão de alimentação do microcontrolador. Além das portas convencionais, nas quais a CPU deve ler sempre que deseja saber sobre o seu estado (0 ou 1), alguns microcontroladores possuem uma ou mais portas de entrada especiais chamadas de Interrupts. Estas portas não exigem que a CPU fique vigiando a ocorrência de um evento, porque interrompem o programa sendo executado toda vez que ocorre um dado evento. Desta forma a CPU pode atender o evento externo assim que o mesmo ocorre, e não gasta tempo vigiando inutilmente pela ocorrência do evento na porta. Interrupts são uma das características mais utilizadas nos projetos em se necessite de uma rapidez de resposta a eventos assíncronos, que podem ocorrer a qualquer instante. O PIC16F877A possui portas de entradas analógicas, ou seja, portas que podem receber sinais continuadamente variáveis entre 0 e 5 volts. Internamente estes sinais analógicos são convertidos em valores digitais entre 0 e 0x3FF (se utilizamos conversores de 10 bits), ou 0xFF, se utilizamos conversores de oito bits. A memória de dados é normalmente implementada na forma de RAM (memória de acesso aleatório) em que podemos ler e gravar com facilidade. A leitura é não destrutiva, ou seja, podemos ler repetidas vezes o valor de uma posição de memória que o valor não se altera. A gravação de um dado na RAM é feita pela CPU, em resposta a instruções colocadas pelo programador. Microcontroladores normalmente se utilizam de pequenas quantidades de memória de dados, principalmente se compararmos com as quantidades de memória RAM utilizadas por computadores pessoais de hoje, algo como 100 bytes para os microcontroladores, versus 512 milhões de bytes de um típico computador pessoal. A memória de programa é onde residem as instruções que devem ser executadas pela CPU. Num computador pessoal os programas tipicamente residem em disquetes ou discos rígidos. Já nos microcontroladores o programa deve residir numa memória somente de leitura. O programa é normalmente gravado uma só vez e a partir daí o microcontrolador executa apenas este programa. A maioria dos microcontroladores se utiliza de memória EPROM, que para ser apagada necessita de ser exposta a luz ultravioleta, ou PROM. No caso da PROM o programa só pode ser gravado uma vez. Portanto só é interessante para os fabricantes de produtos baseados em microcontroladores, porque a PROM é uma memória de baixo custo. Já a gravação de uma EPROM deve ser realizada através de equipamento adequado. O ciclo de desenvolvimento normalmente exige inúmeras operações de gravação e apagamento, para correções do programa. Alguns microcontroladores, tais como o PIC16F877A, substituíram a EPROM pela EEPROM, memória que pode ser apagada por meios elétricos, sem necessidade de apagamento por luz ultravioleta. Esta forma de trabalho encurta significativamente o ciclo de desenvolvimento do programa, e também não exige equipamento sofisticado para gravação e apagamento da memória de programas. A memória de programas e a memória de dados podem ou não compartilhar de um único espaço de endereçamento. A arquitetura Von Neuman possui um único barramento de memória para endereçar as instruções e os dados. Dados e instruções, portanto, compartilham do mesmo espaço de memória. Quando este tipo de microcontrolador executa uma instrução, ele primeiro pega a instrução e depois pega os dados referentes a esta instrução. Esta necessidade de dois acessos à memória torna a operação mais lenta. Os microcontroladores baseados na arquitetura Harward possuem um espaço de memória separado para os dados e para as instruções. Isto permite que a leitura das instruções e dos dados ocorra em paralelo. Também, enquanto uma instrução está sendo executada a outra já pode estar sendo transferida para a CPU. A execução utilizando esta arquitetura pode ser muito mais rápida Considerações básicas sobre o PIC16F877A 7

8 que a possível com a arquitetura Von Neuman, porém isto aumenta a complexidade dos circuitos. O microcontrolador PIC16F877A, objeto de análise neste tutorial, se utiliza da arquitetura Harward, o que permite uma alta velocidade de operação. Qualquer que seja a arquitetura empregada, um microcontrolador necessita manter um controle rigoroso sobre a seqüência de instruções a serem executadas. Este controle da seqüência é conseguido pelo uso de um contador de programa. O contador de programa é um registro que mantém a informação de qual é o endereço da instrução de programa que deve ser executada. Embora as instruções sejam realizadas na sua maior parte de forma seqüencial, alguns fatores podem provocar a alteração deste comportamento. Por exemplo, um determinado ponto do programa chama por uma subrotina. Uma subrotina é um trecho de programa, que após ser executado, deve retornar para a posição onde foi inicialmente chamado. Outro exemplo de desvio é o durante o processamento de interrupts. Além das portas de entrada e saída, o PIC16F877A possui inúmeros outros periféricos, tais como gerador de PWM, UART (interface serial), contadores, e outros que veremos em detalhes ao decorrer do tutorial. A vantagem de dispormos destes blocos de hardware é que a velocidade possível de se obter utilizando módulos em hardware é muito maior do que a velocidade possível de ser obtida com o uso de software. Além disto, com o hardware podemos facilmente implementar uma concorrência, ou sejam, execução de várias tarefas simultaneamente. Como se programa um microcontrolador Programar um microcontrolador significa transferir para sua memória de programas um conjunto de instruções que será executado pela CPU. As instruções devem ser carregadas já no formato binário, capaz de ser compreendido pela CPU. No entanto, este formato é de difícil interpretação por seres humanos. Daí surge a necessidade de um sistema de desenvolvimento. Um sistema de desenvolvimento para projetos que empreguem microcontroladores, tipicamente se utiliza de computadores pessoais para executar os softwares de desenvolvimento, tais como montadores (assemblers), compiladores, simuladores e gravadores. Através do uso de montadores e dos compiladores, o programador pode implementar o seu programa com instruções em formato facilmente compreensível, em oposição à linguagem de máquina. Os comandos da linguagem assembler normalmente são mnemônicos que lembram a operação a ser realizada pela instrução. Com o simulador o programa pode ser executado de uma estação de trabalho (um micro do tipo IBM-PC), sem necessidade de gravação do programa na EEPROM do microcontrolador. Os simuladores têm como principal vantagem, o fato de permitirem ao programador analisar cuidadosamente o que está ocorrendo dentro do microcontrolador, situação praticamente impossível de se obter quando estamos executando o programa no circuito final, a não que nos utilizemos de emuladores, geralmente muito caros para uso não comercial. Finalmente o gravador permite que seja transferido o programa executável para a memória de programas do microcontrolador. A solução adotada no Powerboard2, utilizado neste tutorial, é dotar a CPU de um pequeno programa residente, que fica na parte superior de memória, e que é capaz de receber um programa em formato hexa através da interface serial e armazená-lo na memória de programa da CPU. Assim que o programa é transferido, o comando passa para o codigo carregado. Esta solução elimina a necessidade de um programador externo. Conhecer bem o conjunto de instruções do microcontrolador com o qual se deseja implementar um dado projeto é condição essencial para obter a maior eficiência do programa. Embora existam compiladores para linguagens de alto e médio nível para uso em Considerações básicas sobre o PIC16F877A 8

9 microcontroladores, o conhecimento da linguagem assembler é geralmente o único recurso quando se necessita otimizar o uso de memória ou aumentar a velocidade de processamento. É importante também observar que o conhecimento da linguagem assembler deve ser complementado com um perfeito domínio da estrutura de hardware do microcontrolador, de forma a se obter a maior harmonia possível entre os recursos de hardware e o software. A maioria dos microprocessadores hoje se utiliza de um conjunto de instruções relativamente grande (mais de 80 instruções). Conjunto de instruções deste tipo são denominadas CISC ( Complex Instruction Set Computer). Muitas dessas instruções são bastante poderosas e especializadas. A grande vantagem do modelo CISC é que muitas das instruções são como macros, permitindo que o programador use uma única instrução em lugar de muitas instruções mais simples. Já na indústria dos microcontroladores, a tendência é o uso do conceito RISC ( Reduced Instruction Set Computer). Devido ao fato de implementar poucas instruções, o circuito pode ser implementado em uma área menor, com um conseqüente menor consumo de energia e normalmente mais rápido. O PIC16F877A é um microcontrolador RISC que se utiliza da arquitetura Harward, permite o pipeline das instruções (as instruções são enfileiradas de forma que num dado instante várias instruções podem estar em estágios diferentes de execução), e o conjunto de instruções é simétrico, ou seja, uma instrução pode operar em todos os registradores ou usar qualquer modo de endereçamento. Não existem combinações especiais de instruções, exceções, restrições ou efeitos colaterais. A programação é ainda facilitada porque o programador tem que se lembrar de um conjunto reduzido de instruções. Ao contrário de um microcomputador de uso genérico, em que você mantém o programa em disquete ou no disco rígido, no microcontrolador o programa deve ser armazenado em alguma forma de memória não volátil, tal como ROM, EPROM ou EEPROM, normalmente disponível dentro do próprio chip do microcontrolador. Algumas versões permitem o uso de memória externa. Quando se deseja programar grandes quantidades de chips, pode-se solicitar ao fabricante para que o mesmo envie os chips já programados. Isto é feito através do uso de uma memória ROM. Devido a necessidade de altos volumes de produção esta solução só interessa aos fabricantes de produtos em série. Uma solução alternativa também indicada para fabricantes, porém sem a necessidade de alto volume é a forma OTP (One Time Programable), onde o chip pode ser programado uma única vez. Se o seu programa não necessitar de alterações, esta é uma solução de baixo custo, pois se utiliza dos mesmos gravadores de EPROM convencionais. (na realidade, a OTP é uma EPROM sem a janela de quartzo para apagamento). A EPROM é uma solução para o desenvolvimento, mas exige um ciclo do tipo grava eprom, testa, apaga eprom,...grava eprom,.. etc..., e também exige equipamentos adequados para o apagamento e gravação da memória EPROM. Para projetos específicos ou mesmo pequenas séries, a solução EEPROM (electrical erasable PROM) é a de mais baixo custo operacional. Com esta memória pode-se gravar e apagar os dados eletricamente, muito mais rápido do que o possível de ser feito com a EPROM convencional. A EEPROM suporta ciclos de leitura/escrita por um número limitado de vezes, mas normalmente este número é bem superior às necessidades típicas durante o desenvolvimento de um projeto. O PIC16F877 possui uma memória EEPROM para programas e também uma memória EEPROM para dados. As origens do PIC16F877A PIC16F877 é um microcontrolador que teve suas origens no ano de 1965, quando a companhia GI (General Instruments), formou a Divisão de Microeletrônica. Esta divisão Ofoi uma das primeiras a produzir arquiteturas de EPROM e EEPROM viáveis, além das Considerações básicas sobre o PIC16F877A 9

10 famílias de circuitos análogos/digitais AY3-xxxx e AY5-xxxx. Na década de 70, a GI criou um dos primeiros processadores de 16 bits, chamado CP Como este microprocessador tinha uma certa deficiência no processamento de entradas/saídas, a GI projetou e construiu um Controlador de Interface Periférica (em inglês, Peripheral Interface Controller, ou PIC). Este controlador foi projetado tendo em vista a rapidez, pois devia processar a E/S de uma máquina de 16 bits, e tinha um conjunto de instruções muito pequeno. O CP16000 não teve muito sucesso, porém o PIC evoluiu para a arquitetura PIC16C5x. Como era disponível somente nas versões em ROM, permaneceu como uma boa solução para grandes usuários, que podiam encomendar diretamente da fábrica um grande volume de circuitos já pré-programados. Na década de 80, a divisão de microeletrônica da GI foi reestruturada e se transformou na GI Microeletrônica, uma empresa subsidiária. Esta empresa foi vendida para investidores e transformada na Arizona Microchip Technology, dedicada especificamente ao desenvolvimento de produtos utilizados em sistemas dedicados. Como parte desta estratégia, grande esforço da companhia foi direcionado ao desenvolvimento de várias versões do PIC, sendo que a versão com EEPROM (eprom apagável eletricamente) é a mais indicada para o desenvolvimento rápido de aplicações, devido ao baixo custo do sistema de desenvolvimento necessário e do hardware de processamento. O dispositivo mais flexivel disponível hoje da série PIC de 14 bits e que ao mesmo tempo reúne um conjunto de características adequadas ao uso em pequenas séries de produtos e estudo de microcontroladores, é o PIC16F877A. Como o microcontrolador PIC16F877A se utiliza da arquitetura Harvard, isto possibilita que as palavras de instruções tenham um número de bits (14 bits de comprimento) diferente do tamanho da palavra de dados (8 bits para este microcontrolador). Com este tamanho de palavra de instrução é possível codificar todas instruções, com exceção dos desvios para outras posições de programas, como instruções de uma única palavra, resultando em grande velocidade de execução, 400 ns para a versão de 10Mhz. Estes dispositivos podem endereçar direta e indiretamente seus arquivos de registros ou memória de dados. O conjunto de instruções foi projetado de tal forma que se pode realizar qualquer operação em qualquer registro utilizando qualquer modo de endereçamento. A unidade lógica aritmética do PIC16F877 pode realizar operações de adição, subtração, deslocamento e operações lógicas. Tipicamente, para o caso em que são utilizados dois operandos, um deles é o registrador W (para aqueles que já programaram os microprocessadores 80XX e Z80, este registrador corresponde ao acumulador destes processadores) e o outro corresponde a um literal (constante) ou a um registro de arquivo. Em operações com um único operando, este é o registrador W ou um arquivo de registro. Compreendendo a arquitetura do PIC16F877A Os microcontroladores da série PIC16F877 são dispositivos computacionais extremamente adequados para experimentação e pequenos projetos. Devido ao seu baixo custo e facilidade de programação, podem ser empregados em aplicações onde até recentemente se utilizavam componentes discretos, como por exemplo, os temporizadores e controladores de temperatura, adicionando novas funções até então não implementadas devido a complexidade do circuito necessário. O projeto com microcontroladores traz uma diferença fundamental de paradigma para o projetista de circuitos. Ao invés de um bem sortido estoque de componentes discretos que realizam várias funções diferentes cada um, e de um conceito de projeto que consiste em interligar estas Considerações básicas sobre o PIC16F877A 10

11 diferentes funções de forma que o sistema como um todo tenha o comportamento adequado, utilizamos agora praticamente um mesmo tipo de hardware para todas as aplicações. A diferença de funcionalidade fica por conta do software. Alterações de funcionalidade podem ser feitas, em grande parte das vezes, através da modificação apenas do software, sem ser necessária alteração do hardware. Neste curso utilizaremos um circuito que estende este conceito até os seus limites. Você poderá modificar o programa do microcontrolador sem a necessidade sequer de retirá-lo do circuito onde está sendo aplicado. Com um micro do tipo IBM-PC e o com as versões dos software de desenvolvimento disponíveis gratuitamente na Internet, você poderá compreender todo o ciclo de desenvolvimento de um programa. Os microcontroladores da série PIC16F87X são máquinas RISC. Isto significa que são máquinas com um reduzido conjunto de instruções. Para ser exato, são apenas 35 instruções para serem compreendidas, cada uma ocupando uma palavra (14 bits ). Compare este número com a quantidade de instruções da linguagem BASIC, e veja como é bem mais fácil programar em linguagem de máquina do PIC16F87X do que em BASIC. O PIC16F87X possui as seguintes características básicas: Instruções de 14 bits Dados em 8 bits Pilha (stack) com oito níveis Endereçamento nos modos direto, indireto e relativo Catorze tipos de interrupts 1.Sinal externo no terminal 6 (RB0/INT) 2.Estouro do temporizador externo TMR0 3.Mudança no nível dos terminais 13 a 10 (RB7:RB4) 4.Fim de gravação na EEPROM 5.Interrupt ligado a porta paralela 6.Interrupt do conversor AD 7.Interrupt do PWM 8.Interrupt leitura interface serial 9.Interrupt escrita interface serial 10.Interrupt timer 1 11.Interrupt timer 2 Programa gravado em EEPROM, com até de ciclos de apagamento e escrita, com retenção garantida por mais de 40 anos. Trinta e três terminais de Entrada e Saída, com controle individual por terminal. Capacidade de manipulação de corrente de 25 ma atuando como dreno e 20mA atuando como fonte. Dois temporizadores de oito bits programável, com pré-divisor também programável de oito bits. Um temporizador de 16 bits Considerações básicas sobre o PIC16F877A 11

12 Sistema de proteção de código na EEPROM. Impossibilita que outras pessoas leiam o seu código. Operação em tensões desde 2 a 6 Volts, com consumo de corrente típico em torno de 2 ma. Memória RAM interna de 368 bytes, juntamente com uma área de EEPROM para dados de 256 bytes Não deixe que a pequena capacidade de memória (quando comparada com os megabytes a que estamos acostumados nos computadores pessoais) faça-o acreditar que estes pequenos computadores são apenas brinquedos. A alta velocidade de processamento e o tipo das tarefas tipicamente encontradas nos sistemas dedicados fazem destes circuitos integradas uma solução extremamente adequada para uma grande quantidade de sistemas.. A melhor forma de compreender o funcionamento do PIC16F877A e suas variantes é começar pela sua estrutura de dados interna. Todo o funcionamento do microcontrolador é controlado ou monitorado através dos registradores internos da CPU. Um registrador é uma área de memória onde são escritos e lidos parâmetros que atuam sobre o comportamento do microcontrolador. Uma perfeita compreensão da organização da memória e da estrutura interna é indispensável para o desenvolvimento de aplicações em código assembler. A estrutura interna do PIC16F877A PIC16F877 é encapsulado de diferentes formas, mas o formato PDIP, de 40 pinos é o mais Oindicado para o experimentador Cada terminal do integrado tem uma ou mais funções bem definidas, e a cada um é associado um nome que nos lembra a função correspondente. Manteremos neste tutorial o os nomes dos terminais correspondentes à nomenclatura inglesa, visto ser esta a forma com que mais freqüentemente nos deparamos na literatura técnica. Para manter o número de terminais pequeno e ao mesmo permitir ao PIC16F877 comportar um número maior o possível de periféricos, vários pinos tiveram que ser multiplexados, ou seja, estes pinos possuem mais de uma função. A seleção da função depende o modo de operação do PIC. A definição dos terminais do PIC16F877A é apresentada na figura 3.1: Figura 3.1: Pinagem do PIC16F877 Os terminais são a interface do circuito interno do PIC com o mundo exterior. O circuito Considerações básicas sobre o PIC16F877A 12

13 interno, em forma de diagrama de blocos, pode ser visto na figura 3.2. Figura 3.2. Diagrama em blocos do circuito interno do PIC16F877 A descrição dos terminais do PIC16F877A Vamos inicialmente olhar para o PIC como uma caixa preta, aprendendo qual a função de cada terminal do circuito integrado. Na tabela 3.1 temos o nome e a função de cada um dos terminais: Funcionalmente, podemos agrupar os terminais nos seguintes grupos: Alimentação Entrada/Saída Clock Considerações básicas sobre o PIC16F877A 13

14 Controle A alimentação deve estar entre 2 e 6 volts, preferencialmente 5 volts para facilitar o interfaceamento com integrados da família lógica TTL. Os terminais 32 e 11 devem receber a tensão de alimentação e o terminais 31 e 12 devem ser ligado à terra do circuito. É sempre interessante, com qualquer tipo de circuito que gere ou receba pulso, desacoplar a alimentação com um pequeno capacitor de 0.01 microfarads, ligado o mais próximo possível do pino de alimentação. OSC1/CLKIN 13 I Entrada para cristal externo (fonte de clock) OSC2/CLKOU 14 O Saída para cristal externo MCLR/VPP 1 I/P Master Clear (reset) externo. Lógica baixa para reset RA0/AN0 2 I/O I/O digital bidirecional ou entrada analógica 0 RA1/AN1 3 I/O I/O digital bidirecional ou entrada analógica 1 RA2/AN2/VREF 4 I/O digital bidirecional ou entrada analógica 2 ou tensão de referência analógica negativa RA3/AN3/VREF+ 5 I/O I/O digital bidirecional ou entrada analógica 3 ou tensão de referência analógica positiva RA4/T0CKI 6 I/O I/O digital bidirecional ou entrada de clock para contador TMR0 RA5/SS/AN4 7 I/O I/O digital bidirecional ou entrada analógica 4 ou slave select para a porta de comunicação serial síncrona RB0/INT 33 I/O I/O digital bidirecional ou entrada para interrupção externa RB1 34 I/O I/O digital bidirecional RB2 35 I/O I/O digital bidirecional RB3/PGM 36 I/O I/O digital bidirecional ou entrada para programação em baixa tensão RB4 37 I/O I/O digital bidirecional RB5 38 I/O I/O digital bidirecional Considerações básicas sobre o PIC16F877A 14

15 RB6/PGC 39 I/O I/O digital bidirecional ou clock da programação serial (ICSP) RB7/PGD 40 I/O I/O digital bidirecional ou dados da programação serial (ICSP) C0/T1OSO/ 15 I/O I/O digital bidirecional ou saída para cristal esxterno para TMR1 ou entrada de T1CK1 clock para contador TMR1 RC1/T1OSI/ 16 I/O I/O digital bidirecional ou entrada para cristal esxterno para TMR1 ou I/O para CCP2 Capture,Compare,PWM 2 RC2/CCP1 17 I/O I/O digital bidirecional ou I/O para Capture,Compare,PWM 1 RC3/SCK/SCL 18 I/O I/O digital bidirecional ou entrada de clock serial síncrono ou saida para os modos SPI e I2C RC4/SDI/SDA 23 I/O I/O digital bidirecional ou entrada de dados SPI ou I/O de dados I2C RC5/SDO 24 I/O I/O digital bidirecional ou saída de dados SPI RC6/TX//CK 25 I/O I/O digital bidirecional ou Transmissão para comunicação USART assíncrona ou via de clock para para comunicação USART síncrona RC7/RX/DT 26 I/O I/O digital bidirecional ou Recepção para comunicação USART assíncrona ou via de dados para para comunicação USART síncrona RD0/PSP0 19 I/O I/O digital bidirecional ou Porta paralela escrava RD1/PSP1 20 I/O I/O digital bidirecional ou Porta paralela escrava RD2/PSP2 21 I/O I/O digital bidirecional ou Porta paralela escrava RD3/PSP3 22 I/O I/O digital bidirecional ou Porta paralela escrava Considerações básicas sobre o PIC16F877A 15

16 RD4/PSP4 27 I/O I/O digital bidirecional ou Porta paralela escrava RD5/PSP5 28 I/O I/O digital bidirecional ou Porta paralela escrava RD6/PSP6 29 I/O I/O digital bidirecional ou Porta paralela escrava RD7/PSP7 30 I/O I/O digital bidirecional ou Porta paralela escrava RE0/RD/AN5 8 I/O I/O digital bidirecional ou Controle de Leitura para a Porta paralela escrava ou entrada analógica 5 RE1/WR/AN6 9 I/O I/O digital bidirecional ou Controle de Escrita para a Porta paralela escrava ou entrada analógica 6 RE2/CS/AN7 10 I/O I/O digital bidirecional ou Select Control para a Porta paralela escrava ou entrada analógica 7 VSS P Referência TERRA VDD P Alimentação Positiva (+5V) Tabela 3.1 Descrição sucinta dos terminais do CI PIC16F877 O clock se utiliza dos terminais 13 e 14. São possíveis várias configurações de clock, todas elas descritas em detalhes mais adiante. O terminal MCLR é uma entrada de controle com duas funções. Em primeiro lugar ele atua como reset do microcontrolador. Esta função é ativada quando o nível lógico deste terminal for feito igual a zero. A outra função é atuar como indicador de gravação da memória de programas. Para isto a tensão neste terminal deve ser feita igual a 13.5 volts. Para a operação normal este terminal deve ser mantido em cinco volts, ou na tensão de alimentação utilizada. A descrição da estrutura interna do PIC16F877A As diferentes áreas de memória O PIC possui três áreas de memória, a área de programas, a área de registros de arquivos e a EEPROM de dados. O bloco com o nome memória de programa, é onde ficam residentes as instruções de programa do PIC16F877. Esta memória pode ser programada e alterada com pulsos elétricos, facilitando a experimentação com diversos programas. Se você já tem experiência com outros microcontroladores deve estar lembrado do ciclo grava_eprom-->coloca na placa do micro-->testa-- >apaga com ultravioleta, e assim sucessivamente. No caso das memórias EEPROM utilizadas no Considerações básicas sobre o PIC16F877A 16

17 PIC16F877 este ciclo foi cortado substancialmente, pois tanto a gravação como modificação de programas podem ser feitos eletricamente, inclusive podendo-se efetuar estas operações sem necessidade de se retirar o microcontrolador do circuito. O espaço de memória de programas do PIC16F877 é de 1024 posições (1Kbyte), sendo que cada instrução possui 14 bits de comprimento. Os endereços de programa válidos no PIC16F877 variam de 0H a 3FFH. É importante salientar que o único modo de se escrever na memória de programas é através de um dispositivo especialmente projetado para este fim. Não há possibilidade do próprio PIC escrever na sua área de memória de programas. O segundo bloco de memória é o bloco correspondente aos registros de arquivos, Register File Nesta área de memória ficam as informações que definem a forma de funcionamento do microcontrolador e também os dados do programa do usuário. O microcontrolador tem total acesso para escrever e ler nesta área. Existem quatro bancos de memória para armazenar os registros. A tabela 3.1 apresenta uma descrição básica do espaço de memória de registros do PIC16F877. Observe que alguns registradores são duplicados em mais de banco de memória. Isto facilita a programação, visto que o acesso aos mesmos independe de conhecermos o banco atual em que estamos operando. Você não precisa memorizar o endereço dos registradores. Para facilitar a vida do programador, normalmente todos os programas incluem um arquivo de definições, geralmente chamado de PIC16F877.INC, onde estão associados os nomes dos registros e os endereços correspondentes. Você só precisa se lembrar do nome do registro que deseja ler ou alterar. A seleção de um determinado banco é feita através do registrador de status. Por exemplo: Digamos que você precise alterar o valor de um bit do registrador TRISA. O endereço deste registrador é 05H no banco dois. Para alterá-lo você precisa primeiro selecionar o banco dois (veremos como se faz isto mais tarde), e então escrever no bit desejado do endereço cinco. O controle dos bancos é feito totalmente pelo seu programa, e você deve sempre tomar cuidado em qual banco está, principalmente no atendimento das rotinas de interrupt. Se você estiver programando em C esta preocupação normalmente é deixada para o compilador. A memória de dados EEPROM é uma memória de dados implementada em EEPROM. Os dados gravados neste trecho de memória não são perdidos quando o microcontrolador é desligado. Este é um espaço muito conveniente para se armazenar informações de configuração ou calibração de um sistema. Uma maneira de informar ao assembler da Microchip que estamos querendo acessar um registro no banco dois é utilizar o endereço = endereço base + 0x80. Mas lembre-se de que de qualquer maneira você deve chavear o banco primeiro, não adianta apenas acessar o endereço com o bit 7 igual a um (0x80 + endereço). Observe que alguns registros mais importantes são duplicados, isto é, você pode ter acesso a eles independente do banco onde está. Isto facilita o programador e aumenta a rapidez de execução de um programa. Considerações básicas sobre o PIC16F877A 17

18 A memória de programas é organizada da seguinte maneira: Observe que a memória de programa é organizada em quatro bancos. As instruções de call e goto operam apenas dentro de um banco. É preciso complementar o conteúdo do contador de programa caso desejemos fazer um goto ou um call para uma página diferente da que estamos. Cada página possui um tamanho de 2Kbytes. Considerações básicas sobre o PIC16F877A 18

19 . Tabela 3.2:Endereço dos registradores O controle do fluxo de programa s próximos blocos a serem descritos são o stack, o PC, o registrador W, a ALU e os vários temporizadores e circuitos de reset. Estes blocos são os responsáveis pelo gerenciamento do fluxo do programa e pela interpretação das instruções. OO PC, contador de programa, é onde está armazenado o endereço da instrução que será executada. O contador de programas possui 13 bits de comprimento, o que nos permite operar com programas de até 8192 posições. Após cada instrução o valor do contador do programa é alterado para passar a indicar o endereço da próxima instrução. As instruções de GOTO (ir para), CALL (chamada de subrotina) e os interrupts provocam o desvio do fluxo normal do programa, que geralmente incrementa o contador de um a cada instrução. No caso da instrução CALL e no atendimento de interrupts, o microcontrolador deve manter a informação do endereço de retorno, Considerações básicas sobre o PIC16F877A 19

20 isto é, o endereço da instrução a ser executada depois de completada a subrotina ou atendido o interrupt. Este endereço de retorno é armazenado no STACK. No caso do PIC16F877 é permitido o aninhamento de até oito subrotinas ou interrupts. Você não tem acesso direto ao STACK. E além disso o microcontrolador não lhe avisa de estouro (overflow ou underflow) do stack. É responsabilidade do programador se assegurar que o stack está válido. Isto pode ser especialmente complicado na caso de rotinas recursivas (que chamam a si mesmas) ou no tratamento de interrupção. Não existem as funções PUSH e POP comuns a outros microcontroladores. A ALU (unidade lógica e aritmética) é quem interpreta e executa as instruções armazenadas na área de programas. Embora as instruções sejam de 14 bits, os dados são de oito bits. Todas as instruções operam sempre sobre oito bits. A ALU trabalha em estreito relacionamento com o registro W, onde grande parte das operações são realizadas ou tem neste registro o local de armazenamento do resultado da operação. Para aqueles com conhecimento dos microprocessadores 8080 e Z80, o registro W é funcionalmente equivalente ao acumulador destes processadores. Os demais blocos selecionados são os responsáveis pela sincronização das operações da CPU, assim como garantem que, logo após a energização ou reset, a máquina assuma um estado bem conhecido. Isto é muito importante para que o programador possa se assegurar das condições que estarão presentes quando o seu programa começar a operar. Um dos registros de grande importância para o aumento da confiabilidade de um programa que deve operar em ambientes robustos a falhas é o temporizador de watchdog. O funcionamento deste temporizador é o seguinte. Se o programa estiver executando corretamente, ele reinicializa o watchdog dentro de períodos bem determinados. Se por algum motivo qualquer o programa entra em loop ou se desvia do fluxo programado (por exemplo, devido a um transiente na alimentação), o watchdog não será reinicializado, e quando o mesmo atingir o tempo limite, será gerado um interrupt que reinicializará todo o sistema para uma condição segura. O sistema de interrupts Para um programa tomar contato com algum evento externo, como por exemplo, um interruptor que se fecha ou abre, existem duas maneiras. A primeira é ficar vigiando na porta em que está ligado o interruptor, verificando se ocorreu alguma mudança, e a segunda é utilizando os interrupts. A primeira opção é muito simples de ser programada, mas tem uma grande desvantagem. A CPU gasta muito tempo apenas vigiando a porta de entrada. Além do mais, se uma dada tarefa toma muito tempo para ser executada, a chave pode mudar de estado mais de uma vez, fechando e abrindo outra vez, sem que a CPU perceba. Para evitar que a CPU perca a informação de alteração do sinal de entrada, pode-se utilizar os interrupts. Programado desta maneira, quando ocorre o sinal na entrada, o programa é desviado para uma posição fixa, no caso do PIC16F877 o desvio ocorre na posição 0x04H. Passa a ser executado então o trecho do programa responsável pelo atendimento da interrupção. Após processado a interrupção o sistema volta a executar o programa que estava sendo executado anteriormente. Desta forma não gastamos tempo vigiando inutilmente a porta e não perdemos o evento que desejamos processar. Considerações básicas sobre o PIC16F877A 20

21 O PIC16F877 pode processar até quinze tipos diferentes de interrupções. Todas as interrupções provocam o desvio do fluxo do programa para a posição 0x0004h. Para você identificar qual foi a fonte de interrupção consulte o registro INTCON. Um ponto importante sobre os interrupts é que o contexto não é salvo automaticamente. Você precisa realizar esta operação via software. Normalmente os registros que você precisará salvar são os registradores W e de STATUS. Salvar o contexto é importante para que o programa que estava sendo executado quando ocorreu a interrupção possa continuar sua execução como se nada tivesse acontecido. Se você não salvar o contexto, o comportamento do programa certamente será aleatório. O seguinte trecho de código pode ser utilizado para salvar o contexto em interrupções. WTEMP EQU 0x0c ;variavel para salvar o registro W STEMP EQU 0x0d ;variavel para salvar o registro status INT_ MOVWF WTEMP ;copia o registrador W para o registro TEMP SWAPF STATUS,W MOVWF STEMP ;salva status em TEMP1 ;registrador status Θ colocado em W ; processa aqui o interrupt FIM SWAPF STEMP,W ;recupera STATUS anterior MOVWF STATUS SWAPF WTEMP,F SWAPF WTEMP,W RETFIE ;inverte nibles de temp ; recupera W anterior ;retorna do interrupt Os interrupts podem ser desabilitados individualmente ou de uma forma geral. Para desabilitar todos interrupts simultaneamente faça igual a zero o bit GIE (global interrupt enable, no registrador INTCON <7>. Após o reset todos os interrupts estão desabilitados pelo bit GIE, INTCON<7>. Após receber um interrupt o sistema zera o bit GIE, desabilitando todos os interrupts. Você deve aproveitar esta situação de interrupts desabilitados para efetuar o reconhecimento do interrupt que está sendo atendido. Se não o fizer, o bit correspondente a geração do interrupt continuará ativo, e logo após a instrução RETFIE, (retorno de interrupção), a interrupção será ativada novamente, independente se o fato gerador existe ainda ou não. Isto provocará um loop infinito no seu programa. Um ponto que torna o PIC16F877 mais flexível no que diz respeito aos interrupts é a possibilidade de programação, via registradores, da situação que o interrupt INT/RB0 será reconhecido. Podemos programar se o interrupt ocorrerá no bordo de subida ou descida do sinal, através do bit INTEDG do registrador OPTION <6>. As configurações do oscilador J á vimos anteriormente que o PIC16F877 pode operar com quatro tipos de osciladores. Estas configurações são necessárias para que o circuito funcione numa grande faixa de freqüências (32Khz a 10MHz), e com diferentes dispositivos osciladores. Osciladores a cristal de baixa potência (LP) Osciladores a cristal/ressonadores cerâmicos convencionais (XT) Considerações básicas sobre o PIC16F877A 21

Aula 10 Microcontrolador Intel 8051 Parte 1

Aula 10 Microcontrolador Intel 8051 Parte 1 Aula 10 Microcontrolador Intel 8051 Parte 1 SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Marcelo A. C. Vieira SEL 0415 Microcontroladores Grupo de Sistemas Digitais n Microcontrolador é o nome

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais

INTRODUÇÃO: MICROCONTROLADORES

INTRODUÇÃO: MICROCONTROLADORES INTRODUÇÃO: MICROCONTROLADORES MICROCONTROLADOR X MICROPROCESSADOR Baixa capacidade de processamento Freq. Operação em MHz Custo de R$ 7,00 a 30,00 Aplicações mais restrita Alta capacidade de processamento

Leia mais

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado Aplicações Avançadas de Microprocessadores Professor: Marco Shawn Meireles Machado Iniciação aos sistemas microcontrolados Objetivos da Aula: Descrever os itens que compõem uma CPU; Detalhar a estrutura

Leia mais

Estrutura Básica de um Computador

Estrutura Básica de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura Básica de um Computador Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira INTRODUÇÃO n Organização Æ implementação do hardware, componentes, construção

Leia mais

Introdução à Organização de Computadores. Aula 8

Introdução à Organização de Computadores. Aula 8 SEL-0415 Introdução à Organização de Computadores Set de Instruções Modelos de Arquiteturas Aula 8 Prof. Dr. Marcelo Andrade da Costa Vieira INSTRUÇÕES n Padrão de código binário armazenado em um dispositivo

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

FACULDADE LEÃO SAMPAIO

FACULDADE LEÃO SAMPAIO FACULDADE LEÃO SAMPAIO Microcontroladores Curso de Análise e Desenvolvimento de Sistemas 1 Componentes CPU Memórias Dispositivos de Entrada/Saída (E/S) Input/Output (I/O) 2 CPU A CPU busca informações

Leia mais

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Apresentação do curso Critério de avaliação Média final = 0.8 * MP + 0.2 * ME onde MP = (P1 + P2) / 2 e ME = Notas

Leia mais

Sistemas Embarcados:

Sistemas Embarcados: Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Sistemas Embarcados: Microcontroladores DCA0119 Sistemas Digitais Heitor Medeiros Florencio Sistemas Embarcados

Leia mais

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

ENGENHARIA DE SISTEMAS MICROPROCESSADOS ENGENHARIA DE SISTEMAS MICROPROCESSADOS Prof. Pierre Vilar Dantas Turma: 0040-A Horário: 4N Aula 01-26/07/2017 Plano de ensino Professor www.linkedin.com/in/pierredantas/ TÓPICOS Conceitos gerais. Evolução

Leia mais

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: nivaldo@ifsc.edu.br

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: nivaldo@ifsc.edu.br Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: nivaldo@ifsc.edu.br Conceito final será constituído de duas avaliações: 1ª Conceito avaliação teórica 2ª Conceito

Leia mais

Microprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão;

Microprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão; Microprocessadores São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão; CPU (Central Processing Unit Unidade Central de Processamento) CPU (Central Processing

Leia mais

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro Arquitetura e Organização de Computadores Processador Registrador Memória Professor Airton Ribeiro Processador A função de um computador é executar tarefas com a finalidade de resolver problemas. Uma tarefa

Leia mais

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa 4. Memórias de Dados e de Programa Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP 4.1 Memórias Semicondutoras Algumas definições Célula: Dispositivo de armazenamento de 1 bit. Palavra:

Leia mais

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Redução de Potência de Operação As versões CHMOS (89C51, 89S52, etc ) da família MCS-51 possuem dois modos de controle de redução de potência de operação do chip.

Leia mais

Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial

Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial 1 Definição de microcontroladores É um circuito integrado que pode ser programado para realização

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Objetivos MICROCONTROLADORES HARDWARE. Microcontroladores I. Prof. Mauricio. Micro-I Prof. Mauricio 1. Microcontroladores PIC. Requisitos de Hardware

Objetivos MICROCONTROLADORES HARDWARE. Microcontroladores I. Prof. Mauricio. Micro-I Prof. Mauricio 1. Microcontroladores PIC. Requisitos de Hardware MICROCONTROLADORES HARDWARE 1 Prof. Mauricio Microcontroladores I Objetivos 2 Microcontroladores PIC Famílias PIC PIC 16F877A Tipos de Encapsulamentos Requisitos de Hardware Prof. Mauricio 1 Microcontroladores

Leia mais

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro

Arquitetura e Organização de Computadores. Processador Registrador Memória. Professor Airton Ribeiro Arquitetura e Organização de Computadores Processador Registrador Memória Professor Airton Ribeiro airton.ribeiros@gmail.com Processador A função de um computador é executar tarefas com a finalidade de

Leia mais

Conjunto de Instruções e Modelos de Arquiteturas

Conjunto de Instruções e Modelos de Arquiteturas Departamento de Engenharia Elétrica e de Computação EESC-USP SEL-0415 Introdução à Organização de Computadores Conjunto de Instruções e Modelos de Arquiteturas Aula 7 Prof. Marcelo Andrade da Costa Vieira

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação 1 Universidade Federal Fluminense Campus de Rio das Ostras Curso de Ciência da Computação Introdução à Ciência da Computação Professor: Leandro Soares de Sousa e-mail: lsousa@id.uff.br site: http://www.ic.uff.br/~lsousa

Leia mais

Projeto de Sistemas Embarcados

Projeto de Sistemas Embarcados Projeto de Sistemas Embarcados Pós-Graduação em Engenharia Elétrica Prof. Dr. Joselito A. Heerdt Joselito.heerdt@.udesc.br PLANEJAMENTO 1. Introdução 2. O projeto de sistemas 3. Projeto de hardware 4.

Leia mais

Microcontroladores. Rafael Silva de Lima https://sites.google.com/site/pensante91/

Microcontroladores. Rafael Silva de Lima https://sites.google.com/site/pensante91/ Microcontroladores Rafael Silva de Lima rafael_silvadelima@yahoo.com.br https://sites.google.com/site/pensante91/ CETTPS Centro de Ensino Técnico e Profissionalizante Curso Técnico em Automação/ Eletrotécnica

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Outras características importantes em Microprocessadores/Microcontroladores Redução de Potência de Operação As versões CHMOS (89C51, 89S52, etc ) da família MCS-51 possuem dois modos

Leia mais

DEFINIÇÃO É TODO AQUELE DISPOSITIVO CAPAZ DE ARMAZENAR INFORMAÇÃO. A

DEFINIÇÃO É TODO AQUELE DISPOSITIVO CAPAZ DE ARMAZENAR INFORMAÇÃO. A U E S C Memória DEFINIÇÃO É TODO AQUELE DISPOSITIVO CAPAZ DE ARMAZENAR INFORMAÇÃO. A Hierarquia de Memória Em um Sistema de computação existem vários tipos de memória que interligam-se de forma bem estrutura

Leia mais

MSP430 - Arquitertura

MSP430 - Arquitertura Curso Técnico de Nível Médio Integrado Eletrônica - 8o Período Disciplina de Microcontroladores 2 (EL08D) Professor Gabriel Kovalhuk Email: kovalhuk@utfpr.edu.br Página pessoal: http://paginapessoal.utfpr.edu.br/kovalhuk

Leia mais

Programa Trainee 2012 Módulo 4 Microcontroladores AVR

Programa Trainee 2012 Módulo 4 Microcontroladores AVR Programa Trainee 2012 Módulo 4 Microcontroladores AVR Conteúdo 01 Arquitetura de microcontroladores AVR Mayara de Sousa Prof. Leandro Schwarz Tempo Estimado 2 h.a. Projeto de Placas de Circuito Impresso

Leia mais

Microcontrolador 8051

Microcontrolador 8051 Microcontrolador 8051 Inicialmente fabricado pela INTEL, atualmente fabricado por várias empresas; Possui uma grande variedade de dispositivos, com diversas características, porém compatíveis em software;

Leia mais

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

Microcontroladores PIC

Microcontroladores PIC Microcontroladores PIC Prof. Adilson Gonzaga 1 Arquitetura de Microcomputadores Arquitetura von Neumann: Há apenas um barramento (duto) de dados e um de endereço. As Instruções e os dados ocupam o mesmo

Leia mais

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento Conhecimento para o Desenvolvimento Cerne Tecnologia e Treinamento Apostila de Assembly para o PIC16F628A (21) 4063-9798 (11) 4063-1877 E-mail: cerne@cerne-tec.com.br MSN: cerne-tec@hotmail.com Skipe:

Leia mais

Circuito Eletrônico. Entendendo o circuito eletrônico na robótica. domingo, 28 de agosto de 11

Circuito Eletrônico. Entendendo o circuito eletrônico na robótica. domingo, 28 de agosto de 11 Circuito Eletrônico Entendendo o circuito eletrônico na robótica Circuito Integrado Um circuito integrado híbrido é um circuito eletrônico miniaturizado constituído de dispositivos semicondutores individuais,

Leia mais

Família de Microcontroladores AVR

Família de Microcontroladores AVR www.iesa.com.br 1 AVR é o nome dado a uma linha ou família de microcontroladores fabricada pela empresa Atmel nos Estados Unidos. A sigla AVR é em homenagem a dois estudantes de doutorado de uma universidade

Leia mais

ARDUINO. Profº. Engº. Robson Dias Ramalho

ARDUINO. Profº. Engº. Robson Dias Ramalho ARDUINO Profº. Engº. Robson Dias Ramalho 3. Microprocessador (E/S) 4. Memória RAM (E/S) 5. Placa de vídeo (E/S) 8. Disco Rígido (E/S) 9. Mouse (Saída) 10. Teclado (E/S) 2. Placa mãe (barramento de dados)

Leia mais

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga SEL-614 MICROPROCESSADORES E APLICAÇÕES Prof: Adilson Gonzaga HISTÓRICO Microprocessador Circuito integrado ( chip ) capaz de executar instruções. 1971 Intel Corporation lançou no mercado o microprocessador

Leia mais

INTRODUÇÃO AOS CONTROLADORES LÓGICOS PROGRAMÁVEIS

INTRODUÇÃO AOS CONTROLADORES LÓGICOS PROGRAMÁVEIS Automação (AUT) Universidade do Estado de Santa Catarina (UDESC) Centro de Ciências Tecnológicas (CCT) Departamento de Engenharia Elétrica (DEE) INTRODUÇÃO AOS CONTROLADORES LÓGICOS PROGRAMÁVEIS 2018-2

Leia mais

Prof. Gerson 02/10/2009

Prof. Gerson 02/10/2009 Prof. Gerson Definições Definição segundo a ABNT (Associação Brasileira de Normas Técnicas) É um equipamento eletrônico digital com hardware e software compatíveis com aplicações industriais. Definição

Leia mais

Arquiteturas RISC e CISC. Adão de Melo Neto

Arquiteturas RISC e CISC. Adão de Melo Neto Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I Sistemas Operacionais I Revisão de conceitos Sistemas Operacionais I Dionisio Gava Junior Componentes básicos Componentes Básicos da Tecnologia da Informação Hardware CPU, Memória e Periféricos de E/S.

Leia mais

Curso de Microcontroladores PIC 16F84A

Curso de Microcontroladores PIC 16F84A Curso de Microcontroladores PIC 16F84A João Neto Caetano Jnetcaetano@hotmail.com Marciel Gonçalves Azevedo Marcielgazevedo@hotmail.com Célio Rodrigues Pinto Treinamentos em geral, suporte a alunos universitários

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES PROF. DEJAIR PRIEBE PROCESSADOR A função de um computador é executar tarefas com a finalidade de resolver problemas. Uma tarefa pode ser executada por meio de

Leia mais

SEL-433 Aplicação de Microprocessadores I. Prof: Adilson Gonzaga

SEL-433 Aplicação de Microprocessadores I. Prof: Adilson Gonzaga SEL-433 Aplicação de Microprocessadores I Prof: Adilson Gonzaga HISTÓRICO Microprocessador Circuito integrado ( chip ) capaz de executar instruções. 1971 Intel Corporation lançou no mercado o microprocessador

Leia mais

Universidade Federal do ABC

Universidade Federal do ABC Universidade Federal do ABC Eletrônica Digital Aula 13: Dispositivos de Memória TOCCI, Sistemas Digitais, Sec. 12.1 12.9 http://sites.google.com/site/eletdigi/ Dispositivos de Memória Memórias conhecidas

Leia mais

Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais. Adão de Melo Neto Sistemas Operacionais Adão de Melo Neto 1 Computador Digital (Hardware) 2 Computador Digital Constituído por um conjunto de componentes interligados (hardware): processadores, memórias, registradores,

Leia mais

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento. Apostila de BASIC para PIC16F628A

Cerne. Conhecimento para o Desenvolvimento. Cerne Tecnologia e Treinamento. Apostila de BASIC para PIC16F628A Cerne Conhecimento para o Desenvolvimento Cerne Tecnologia e Treinamento Apostila de BASIC para PIC16F628A (21) 43-9798 (11) 43-1877 E-mail: cerne@cerne-tec.com.br MSN: cerne-tec@hotmail.com Skipe: cerne-tec

Leia mais

SISTEMAS MICROCONTROLADOS

SISTEMAS MICROCONTROLADOS SISTEMAS MICROCONTROLADOS UTFPR Código: EL54E Turma: N11/E11 Prof. Sérgio Moribe Colaboração: Prof. Heitor S. Lopes Prof. Rubens Alexandre de Faria Email: smoribe@utfpr.edu.br Site: pessoal.utfpr.edu.br/smoribe

Leia mais

MEMÓRIAS SEMICONDUTORAS

MEMÓRIAS SEMICONDUTORAS MEMÓRIAS SEMICONDUTORAS Em um sistema computacional subentende-se memória como qualquer dispositivo capaz de armazenar dados, mesmo temporariamente. Atualmente, os métodos de armazenamento de informação

Leia mais

Jadsonlee da Silva Sá

Jadsonlee da Silva Sá Introdução aos Sistemas Microcontrolados Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br www.univasf.edu.br/~jadsonlee.sa Introdução aos Sistemas Microcontrolados Assembly, C, java,... Circuito Reset

Leia mais

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador MICROCONTROLADORES HARDWARE 1 Prof. Mauricio Aula 03: Objetivos 2 Arquitetura de um Microcontrolador Unidade Central de Processamento Portas de Entrada e Saída Porta Serial Temporizador / Contador Conversor

Leia mais

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo Prof. Benito Piropo Da-Rin UCP ou microprocessador: Circuito Integrado inteligente (capaz de cumprir diferentes funções determinadas por instruções ) CI capaz de efetuar todas as operações necessárias

Leia mais

Painel Luminoso com LEDs

Painel Luminoso com LEDs Painel Luminoso com LEDs Edson T. Midorikawa/2006 RESUMO Esta experiência consiste no projeto e na implementação do circuito de controle de um painel luminoso composto por LEDs (diodos emissores de luz).

Leia mais

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x Placa Upgrade PIC16F84A p/ PIC16F62x Sumário 1. UTILIZANDO OS PICS 16F62X...3 1.1. INTRODUÇÃO...3 2. ATUALIZAÇÃO DO HARDWARE...4 2.1. UPGRADE DA PLACA MCLAB1 PARA TRABALHAR COM PIC16F627 / PIC16F628...4

Leia mais

Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017

Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017 Professora: Janaide Nogueira E-mail: nogueirajanaide@gmail.com Materiais: https://janaide.wordpress.com Componentes Básicos de um Computador Principais Componentes do Gabinete 3 4 CPU ou UCP (Processador)

Leia mais

Geradores de Clock e Memórias

Geradores de Clock e Memórias Geradores de Clock e Memórias Prof. Ohara Kerusauskas Rayel Disciplina de Eletrônica Digital - ET75C Curitiba, PR 18 de junho de 2015 1 / 23 Geradores de Clock Multivibradores biestáveis: possuem 2 estados

Leia mais

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR ELETRÔNICA DIGITAL II AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR acjunior@facthus.edu.br 1º SEMESTRE 2009 CONTEÚDO PROGRAMADO: 1 O que é um computador digital? 2 Como funcionam os computadores 3 O agente

Leia mais

Painel Luminoso com LEDs

Painel Luminoso com LEDs Painel Luminoso com LEDs Versão 2007 RESUMO Esta experiência consiste no projeto e na implementação do circuito de controle de um painel luminoso composto por LEDs (diodos emissores de luz). Através da

Leia mais

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná Guilherme Luiz Moritz 1 1 DAELT - Universidade Tecnológica Federal do Paraná 6 de novembro de 2013 Características do PIC Arquitetura Harvard RISC, 35 instruções 8 a 84 pinos Mais de 180 modelos Vários

Leia mais

COMPUTADOR. Adão de Melo Neto

COMPUTADOR. Adão de Melo Neto COMPUTADOR Adão de Melo Neto 1 PROGRAMA É um conjunto de instruções LINGUAGEM BINÁRIA INTRODUÇÃO Os caracteres inteligíveis não são A, B, +, 0, etc., mas apenas zero(0) e um (1). É uma linguagem de comunicação

Leia mais

Algoritmos Computacionais

Algoritmos Computacionais UNIDADE 1 Processador e instruções Memórias Dispositivos de Entrada e Saída Software ARQUITETURA BÁSICA UCP Unidade central de processamento MEM Memória E/S Dispositivos de entrada e saída UCP UNIDADE

Leia mais

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

SEL0338 Tópicos Especiais em Sistemas Digitais

SEL0338 Tópicos Especiais em Sistemas Digitais 1 Formato das Instruções Instruções Orientadas a Byte: instrução f,d Designador do Registrador do arquivo (endereço Hexa ou Label) a ser usado pela instrução Exemplo: MOVF f,d ; move o conteúdo do registrador

Leia mais

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

INSTITUTO FEDERAL CATARINENSE Campus Ibirama INSTITUTO FEDERAL CATARINENSE Campus Ibirama Arquitetura de Hardware Professor Eduardo Stahnke Arquiteturas Grande diversidade das arquiteturas de computadores Componentes básicos do computador Os Principais

Leia mais

Introdução à Informática Engenharia Agrícola

Introdução à Informática Engenharia Agrícola Conceitos Básicos Introdução à Informática Engenharia Agrícola Sumário Computador Processamento de dados Hardware Software Sistemas Arquivos Modalidades de Computadores Arquitetura Básica. Uma referência

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 5 Memória interna

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 5 Memória interna William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 5 Memória interna Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Tipos de memória de semicondutor slide

Leia mais

Arquitetura do Disciplina de Microcontroladores. Prof. Ronnier Prof. Rubão

Arquitetura do Disciplina de Microcontroladores. Prof. Ronnier Prof. Rubão Arquitetura do 8051 Disciplina de Microcontroladores Prof. Ronnier Prof. Rubão Objetivo fim Entender as noções básicas de microprocessadores, microcontroladores e sistemas embarcados Estudar a arquitetura

Leia mais

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento

Microprocessadores e Microcontroladores. Professor Lucas Araujo do Nascimento Microprocessadores e Microcontroladores Professor Lucas Araujo do Nascimento REVISÃO Microprocessadores e Microcontroladores Microprocessadores e Microcontroladores COMPUTADOR Microprocessadores e Microcontroladores

Leia mais

Computadores e Programação (DCC/UFRJ)

Computadores e Programação (DCC/UFRJ) Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo

Leia mais

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais

Leia mais

Parte I Multiprocessamento

Parte I Multiprocessamento Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez gregorio@uninove.br 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento

Leia mais

1.1 Noções básicas sobre interrupções em Microcontroladores

1.1 Noções básicas sobre interrupções em Microcontroladores Capítulo 1 Interrupções 1.1 Noções básicas sobre interrupções em Microcontroladores PIC Interrupções é obrigação em uma programação profissional. Quando um evento ocorrer, uma bandeira de interrupção será

Leia mais

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação 1998-2010 - Volnys Bernal 1 1998-2010 - Volnys Bernal 2 Agenda Revisão: Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Arquitetura Geral Espaço de Endereçamento Processador e s Laboratório

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Temporização da CPU Todos os Microcontroladores da família MCS-51 têm um oscilador interno. Para uso deste oscilador deve-se conectar um cristal entre os pinos Xtal1 e Xtal2 da CPU.

Leia mais

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira SEL-0415 Introdução à Organização de Computadores Conceitos Básicos Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira INTRODUÇÃO n Organização Æ implementação do hardware, componentes, construção dos dispositivos

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa

Leia mais

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Microprocessadores CPU. Unidade de Controle. Prof. Henrique Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um

Leia mais

Circuitos Lógicos. Profa. Grace S. Deaecto. Faculdade de Engenharia Mecânica / UNICAMP , Campinas, SP, Brasil.

Circuitos Lógicos. Profa. Grace S. Deaecto. Faculdade de Engenharia Mecânica / UNICAMP , Campinas, SP, Brasil. Circuitos Lógicos Profa. Grace S. Deaecto Faculdade de Engenharia Mecânica / UNICAMP 13083-860, Campinas, SP, Brasil. grace@fem.unicamp.br Segundo Semestre de 2013 Profa. Grace S. Deaecto ES572 DMC / FEM

Leia mais

1.2 Registradores relacionados as Interrupções. 3. TOSE Sentido da transição da borda do sinal aplicado am TMR0

1.2 Registradores relacionados as Interrupções. 3. TOSE Sentido da transição da borda do sinal aplicado am TMR0 Capítulo 1 Interrupções 1.1 O que são interrupções? Como o nome sugere interrompe a execução normal e exige atenção urgente da CPU. São eventos não previsíveis e assim não pode ser oferecido tempo de CPU

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 3 Visão de alto nível da função e interconexão do computador slide 1 Conceito de programa Sistemas hardwired são inflexíveis.

Leia mais

COMPUTADOR. Adão de Melo Neto

COMPUTADOR. Adão de Melo Neto COMPUTADOR Adão de Melo Neto 1 PROGRAMA É um conjunto de instruções LINGUAGEM BINÁRIA INTRODUÇÃO Os caracteres inteligíveis são apenas zero(0) e um (1). É uma linguagem de comunicação dos computadores.

Leia mais

Sistemas Microcontrolados

Sistemas Microcontrolados Ciência da Computação Sistemas Microcontrolados Função dos Registradores no PIC Prof. Sergio F. Ribeiro Os Registradores Especiais que Controlam Tudo Vimos que configurações podem ser feitas para definir

Leia mais

Os computadores ditigais podem ser classificados em 5 grupos distintos:

Os computadores ditigais podem ser classificados em 5 grupos distintos: Informática A informática engloba toda atividade relacionada ao uso dos computadores, permitindo aprimorar e automatizar tarefas em qualquer área de atuação da sociedade. Informática é a "Ciência do tratamento

Leia mais

Aula 16: UCP: Conceitos Básicos e Componentes

Aula 16: UCP: Conceitos Básicos e Componentes Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34

Leia mais

ELETRÔNICA DIGITAL II

ELETRÔNICA DIGITAL II ELETRÔNICA DIGITAL II Parte 7 Armazenamento e Memória Digital Professor Dr. Michael Klug 1 Definição Dispositivo capaz de armazenar informação Capacitor (transistor+capacitor), flip-flop, registradores

Leia mais

Interrupção. Prof. Adilson Gonzaga

Interrupção. Prof. Adilson Gonzaga Interrupção Prof. Adilson Gonzaga Estrutura de Programação Assembly Programa Principal Chamada de Sub-rotina1 Programa Principal Chamada de Sub-rotina2 Sub-rotina1 Subrotina2 Programa Principal Chamada

Leia mais

Sistemas Operacionais. Visão Geral

Sistemas Operacionais. Visão Geral Sistemas Operacionais P R O F. B R U N O A L B U Q U E R Q U E S C R I G N O L I Visão Geral Organização da Apresentação Introdução Componentes de um Sistema de Computação Conceito de SO Objetivos de um

Leia mais

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. PROCESSADOR ULA Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. ULA Uma ULA típica pode realizar as operações artiméticas: - adição; - subtração; E lógicas: - comparação

Leia mais

COMPUTADOR. Adão de Melo Neto

COMPUTADOR. Adão de Melo Neto COMPUTADOR Adão de Melo Neto 1 COMPUTADOR COMPUTADOR Barramento de Endereços: Determina qual a posição de memória que irá ser lida ou escrita (unidirecional). Barramento de Endereços: Transporta o dados

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA E BARRAMENTOS DE SISTEMA. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA E BARRAMENTOS DE SISTEMA. Prof. Dr. Daniel Caetano ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA E BARRAMENTOS DE SISTEMA Prof. Dr. Daniel Caetano 202 - Objetivos Compreender o que é a memória e sua hierarquia Compreender os diferentes tipos de memória

Leia mais

Sistemas Operacionais. Conceitos de Hardware

Sistemas Operacionais. Conceitos de Hardware Sistemas Operacionais Conceitos de Hardware Sumário 1. Introdução 7. RISC e CISC 2. Processador 1. Operações de Processamento 2. Unidade de Controle 3. Ciclos de uma Instrução 3. Memória 1. Memória Principal

Leia mais

AULA2 Introdução a Microcontrolador. Disciplina: Aplicações Avançadas de Microprocessadores (AAM)

AULA2 Introdução a Microcontrolador. Disciplina: Aplicações Avançadas de Microprocessadores (AAM) AULA2 Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Tópicos: Microcontroladores - Evolução Principais características dos Microcontroladores Fabricantes de

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES 1 CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA Quando um programador usa uma linguagem de alto-nível, como C, muito pouco da arquitetura da máquina é visível. O usuário que deseja programar

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra PROCESSAMENTO 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante

Leia mais

Profª Danielle Casillo

Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Automação e Controle Aula 05 Introdução ao CLP Profª Danielle Casillo CONTROLADOR LÓGICO PROGRAMÁVEL -CLP 2 CONTROLADOR LÓGICO PROGRAMÁVEL

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais