8
UPF – Engenharia Elétrica EEE133 - Microprocessadores I – Prof. Eduardo Appel 1 CAPÍTULO 1 INTRODUÇÃO 1.1. MICROCONTROLADOR X MICROPROCESSADOR Um microcontrolador difere de um microprocessador em diversas formas. A primeira, e mais importante, é a sua funcionalidade. Para que um microprocessador possa ser usado, outros componentes tais como memória, têm que ser ligados ao chip. Mesmo sendo os microprocessadores considerados excelentes máquinas matemáticas, o seu ponto fraco é a sua pouca possibilidade de se comunicar com periféricos. Então, para que possa se comunicar com periféricos, o microprocessador tem que usar circuitos especiais, como chips externos. Resumindo, os microprocessadores são o coração dos computadores. Era assim no início, e ainda nos dias de hoje se mantêm. Por outro lado, o microcontrolador foi projetado para ser um “tudo em um”. Não são necessários componentes externos para as suas aplicações, porque todos os circuitos que pertencem aos periféricos, já estão dentro do chip. Poupa tempo e espaço no projeto de um sistema. Figura 1 – Microprocessador x Microcontrolador 1.2. ARQUITETURA I NTERNA Todos os microcontroladores modernos usam uma de duas arquiteturas: Harvard (RISC) ou von-Neumann (CISC). Em resumo, são duas formas distintas de trocar a informação entre a CPU e a Memória.

Capitulo i Pic16f887

Embed Size (px)

DESCRIPTION

Pic16f887

Citation preview

  • UPF Engenharia Eltrica

    EEE133 - Microprocessadores I Prof. Eduardo Appel

    1

    CAPTULO 1 INTRODUO

    1.1. MICROCONTROLADOR X MICROPROCESSADOR

    Um microcontrolador difere de um microprocessador em diversas formas. A primeira, e mais importante, a sua funcionalidade. Para que um microprocessador possa ser usado, outros componentes tais como memria, tm que ser ligados ao chip. Mesmo sendo os microprocessadores considerados excelentes mquinas matemticas, o seu ponto fraco a sua pouca possibilidade de se comunicar com perifricos. Ento, para que possa se comunicar com perifricos, o microprocessador tem que usar circuitos especiais, como chips externos. Resumindo, os microprocessadores so o corao dos computadores. Era assim no incio, e ainda nos dias de hoje se mantm.

    Por outro lado, o microcontrolador foi projetado para ser um tudo em um. No so necessrios componentes externos para as

    suas aplicaes, porque todos os circuitos que pertencem aos perifricos, j esto dentro do chip. Poupa tempo e espao no

    projeto de um sistema.

    Figura 1 Microprocessador x Microcontrolador

    1.2. ARQUITETURA INTERNA Todos os microcontroladores modernos usam uma de duas arquiteturas: Harvard (RISC) ou von-Neumann (CISC). Em resumo,

    so duas formas distintas de trocar a informao entre a CPU e a Memria.

  • UPF Engenharia Eltrica

    EEE133 - Microprocessadores I Prof. Eduardo Appel

    2

    ARQUITETURA VON-NEUMANN

    Os microcontroladores que usam esta tecnologia, s tem disponvel uma rea de memria, e um barramento de dados de N bits.

    Como todos os dados so trocados, usando estas N linhas, este barramento sobrecarregado e a comunicao extremamente

    lenta e ineficiente.

    A CPU pode ler uma instruo, ou ler/escrever dados de/para a memria. Ambas as situaes ao mesmo tempo so impossveis,

    pois as instrues partilham o barramento com os dados.

    Figura 2 Arquitetura von-Neumann

    ARQUITETURA HARVARD

    Os microcontroladores que usam esta arquitetura dispem de dois barramentos de dados distintos. Um de N bits e liga a CPU

    RAM (memria de dados). O outro tem vrias linhas (12, 14 ou 16) e liga a CPU ROM (memria de programa).

    Assim, a CPU pode ler uma instruo, ao mesmo tempo em que faz um acesso memria de dados.

    Figura 3 Arquitetura Harvard

    As vantagens deste modelo so as seguintes:

    Todos os dados so de 8 bits. Como o barramento usado para a leitura do programa tem 12, 14 ou 16 linhas, ambos

    (instrues e dados) podem ser lidos simultaneamente. Assim, todas as instrues so executadas em apenas um ciclo.

    A nica exceo so as instrues de salto, que so executadas em dois ciclos.

    Como a ROM e RAM so separadas, a CPU pode executar duas instrues simultaneamente. Enquanto a leitura/escrita

    da RAM est sendo feita, a prxima instruo est sendo lida pelo outro barramento.

  • UPF Engenharia Eltrica

    EEE133 - Microprocessadores I Prof. Eduardo Appel

    3

    1.3. REGISTRO OU REGISTRADOR Um registro um circuito eletrnico que consegue memorizar o estado de um byte. Portanto formado por N bits que definem

    o tamanho do registrador. O elemento bsico de um registro um flip-flop.

    Figura 4 Registrador

    1.4. SFR / SPECIAL FUNCTION REGISTER - REGISTRO DE FUNO ESPECIAL Alm dos registros que no tem qualquer funo predeterminada, todos os microcontroladores tm alguns registros em que a

    sua funo predeterminada pelo fabricante. Os seus bits esto interligados fisicamente aos circuitos internos, tais como

    temporizadores, conversores A/D, osciladores, portas e outros, o que significa que so responsveis pela configurao, e

    funcionamento do respectivo perifrico do microcontrolador. Como um byte tem oito bits, como se fossem oito interruptores

    que comandam outros pequenos circuitos dentro do chip. Os SFRs tm esta funo.

    Figura 5 Registo de Funo Especial (SFR)

    1.5. PORTAS DE ENTRADA/SADA - I/O Para tornar o microcontrolador com alguma utilidade, o mesmo tem que estar ligado ao seu exterior, tais como perifricos. Cada

    microcontrolador tem um ou mais registros chamados de Portas, ligados aos pinos do mesmo.

    O porqu de I/O deve-se ao fato que o programador pode alterar a funo a seu belo prazer, e conforme a aplicao atribuda

    porta. Como exemplo, vamos supor que queremos comandar trs LEDs, e simultaneamente controlar o estado lgico de cinco

    botes: algumas portas tm de ser configuradas para que haja trs sadas e cinco entradas.

    Esta configurao simples e feita por software, o que significa tambm que a funo pode ser alterada durante a operao,

    possibilidade denominada (on the fly).

    Uma das especificaes mais importantes dos pinos de I/O, a corrente mxima que os mesmos podem suportar.

  • UPF Engenharia Eltrica

    EEE133 - Microprocessadores I Prof. Eduardo Appel

    4

    Para a maioria dos microcontroladores, a corrente possvel de drenar de um pino a suficiente para ativar um LED, ou outro

    dispositivo similar de baixa corrente (5-25mA). Se o microcontrolador tiver muitos pinos de I/O, ento a corrente mxima de um

    s pino menor. Resumidamente, no possvel que todos os pinos suportem a mxima corrente, se houver mais de 80 pinos

    em um microcontrolador. A corrente mxima descrita nas especificaes partilhada entre todas as portas de I/O.

    Outra funo importante a de que podem ter resistncias de pull-up (polarizao positiva). Estas resistncias ligam os pinos

    alimentao positiva, e o seu efeito visvel quando o pino est configurado como entrada.

    As novas verses de microcontroladores j tm estas resistncias configurveis por software.

    Normalmente cada porta de I/O controlada por um SFR, o que significa que, cada bit deste registro determina o estado do

    pino correspondente do microcontrolador. Como exemplo, escrevendo 1 lgico no bit deste SFR, o pino da porta

    correspondente automaticamente configurado como entrada. Escrevendo 0 lgico no SFR, o pino da porta correspondente

    configurado como sada.

    Se escrevermos 0 em um bit do registro da Porta, esse pino apresentar 0v. Se escrevermos 1 no mesmo bit, o pino vai

    apresentar 5v.

    Figura 6 - Porta de I/O

    1.6. UNIDADE DE MEMRIA A memria a parte do microcontrolador usada para o armazenamento de dados e programa.

    Cada endereo de memria corresponde a uma posio de memria. O contedo dessa posio conhecido atravs do seu

    endereamento. A memria tanto pode ser lida de como pode ser escrita para.

    Existem vrios tipos de memria dentro do microcontrolador.

    FLASH - Este tipo de memria foi inventada pela Intel nos anos 80. O seu contedo pode ser escrito/apagado quase que infinitamente. Os microcontroladores com memria Flash so muito uteis para aprendizagem, investigao e desenvolvimento.

    Devido sua popularidade, a maioria dos microcontroladores so fabricados com este tipo de memria.

    RAM - Random Access Memory: Este tipo de memria voltil, o que significa que quando se desliga a alimentao do chip, a sua informao desaparece. usada para o armazenamento temporrio de dados criados e usados durante a operao do

    microcontrolador. Como exemplo, se o programa faz uma adio, necessrio haver um registro que tenha o valor da soma.

    Para esse fim, um dos registros da RAM chamado de soma e usado para armazenar o resultado da adio.

  • UPF Engenharia Eltrica

    EEE133 - Microprocessadores I Prof. Eduardo Appel

    5

    EEPROM - Electrically Erasable Programmable ROM: ROM programvel que se pode apagar eletricamente.

    O contedo desta memria pode ser mudado durante a operao, e o seu contedo no perdido quando se desliga a

    alimentao do microcontrolador. Este tipo de memria usado para guardar valores criados durante a operao, que devem

    ser permanente armazenados.

    Figura 7 Memria

    1.7. CPU - UNIDADE CENTRAL DE PROCESSAMENTO Como o seu nome sugere, esta a unidade que monitora e controla todos os processos dentro do microcontrolador.

    Consiste em vrias subunidades, as mais importantes so:

    Decodificador de Instrues: a parte eletrnica que reconhece as instrues de programa, e faz funcionar os outros circuitos. O conjunto de instrues que diferente para cada famlia de microcontroladores mostra as capacidades do circuito.

    ALU: Unidade Lgica e Aritmtica: responsvel por todas as operaes lgicas e aritmticas.

    Acumulador: um registro SFR responsvel pela operao da ALU. como um registro de trabalho, usado para armazenar todos os dados que so usados para executar uma operao, e que tambm armazena os resultados prontos para serem usados

    para a continuao do processamento. Um dos SFRs, chamado de Status, contm informao sobre o estado dos dados

    armazenados no Acumulador sob a forma de flags sinalizadores (o nmero maior ou menor que zero, overflow, carry, etc).

    Figura 8 Unidade Central de Processamento

  • UPF Engenharia Eltrica

    EEE133 - Microprocessadores I Prof. Eduardo Appel

    6

    1.8. BARRAMENTO Fisicamente o barramento constitudo por 8, 16 ou mais condutores. Existem dois tipos de barramento: o de endereamento e

    o de dados. O barramento de endereamento consiste no nmero de linhas necessrias para poder enderear a memria.

    usado para transmitir o endereo da CPU para a Memria. A capacidade de endereamento de um microcontrolador pode ser

    definida pela seguinte relao 2N, onde N o nmero de bits do barramento. O barramento de dados possui a largura dos dados

    que vo ser trabalhados, e no caso do dispositivo que iremos estudar de 8 bits ou largura de fios. usado para ligar todos os

    circuitos dentro do microcontrolador.

    1.9. OSCILADOR Pulsos dados pelo oscilador possibilitam a operao sncrona de todos os circuitos do microcontrolador. O mdulo oscilador

    normalmente configurado para usar um cristal de quartzo, ou um ressoador cermico, para ter a sua oscilao estabilizada. Se

    no houver por parte da aplicao necessidade de estabilidade da oscilao ento pode usar-se um oscilador RC

    (resistncia/capacitor).

    importante salientar que as instrues no so executas ao ritmo imposto pelo oscilador, mas algumas vezes mais lento. Isto

    acontece porque cada instruo executada em vrios passos. Em alguns microcontroladores o mesmo nmero de ciclos

    necessrio para qualquer instruo, enquanto que em outros, o tempo de execuo no o mesmo para todas as instrues. Se

    o sistema usa um cristal de 20 MHz, o tempo de execuo de uma instruo no de 50ns, mas 200ns, 400 ou 800ns,

    dependendo do tipo de microcontrolador usado.

    Figura 9 Oscilador

    1.10. CIRCUITO DE ALIMENTAO H duas situaes que merecem ateno relacionadas alimentao do microcontrolador:

    Brown-Out, um estado potencialmente perigoso, e que acontece no momento em que o microcontrolador vai ser desligado, ou em situaes onde a energia de alimentao cai para certo limite devido ao rudo eltrico.

    Como o microcontrolador formado por vrios circuitos com diferentes necessidades de nvel de tenso, este estado pode

    causar uma perda significativa em seu desempenho. Para proteg-lo este circuito faz um reset imediato a toda a eletrnica

    interna quando a tenso de alimentao desce abaixo de um nvel pr-determinado.

    Pino Reset, normalmente marcado como MCLR (Master Clear Reset), serve para fazer o Reset externo do microcontrolador, aplicando nvel lgico 0 ou 1, dependendo do tipo de microcontrolador usado. No caso do chip no ter circuito de Brown-Out,

    um simples circuito externo de Brown-Out pode ser ligado a este pino.

  • UPF Engenharia Eltrica

    EEE133 - Microprocessadores I Prof. Eduardo Appel

    7

    1.11. TEMPORIZADORES E CONTADORES O microcontrolador usa normalmente um cristal de quartzo para funcionar. Mesmo que no seja a soluo mais simples, h

    muitas razes para isso. A frequncia do oscilador definida de maneira precisa e muito estvel, e os pulsos originados tm

    sempre a mesma largura, o que os torna ideais para medies de tempo. Estes osciladores so usados em relgios de quartzo.

    Figura 10 Temporizadores/Contadores

    Se for necessrio medir o tempo entre dois eventos, suficiente contar os pulsos enviados pelo oscilador. Isto exatamente o

    que o Temporizador faz.

    Muitos programas usam estes cronmetros miniatura, que so SFR de 8 ou 16 bits, e o seu contedo automaticamente

    incrementado a cada pulso recebido. Quando um registro chegar ao fim da contagem (255 ou 65535), uma Interrupo gerada

    ou ento gerada uma sinalizao.

    Se os temporizadores usam um oscilador interno de quartzo, ento possvel medir o tempo entre dois eventos (se o valor do

    registro T1 no momento inicial, e T2 no momento final, ento o tempo decorrido igual ao resultado da subtrao T2-T1). Se

    os temporizadores usam pulsos externos, ento o temporizador transformado em contador.

    COMO FUNCIONA UM TEMPORIZADOR

    Na prtica, os pulsos que chegam do oscilador de quartzo a cada ciclo de mquina, ou atravs do divisor, vo incrementar

    (somar uma unidade) o valor do registro contador do temporizador. Se uma instruo (um ciclo de mquina) durar por quatro

    perodos do oscilador de quartzo, ento o nmero vai mudar um milho de vezes por segundo, ou a cada microsegundo (us).

    Figura 11 Funcionamento do temporizador

  • UPF Engenharia Eltrica

    EEE133 - Microprocessadores I Prof. Eduardo Appel

    8

    USO DO DIVISOR NO FUNCIONAMENTO DO TEMPORIZADOR

    Um divisor um dispositivo eletrnico usado para reduzir a frequncia, por um fator pr-determinado tambm conhecido como

    prescaler. O que significa que, para gerar um pulso na sua sada, necessrio fazer chegar 1, 2, 4, 8 ou mais pulsos sua

    entrada. Este circuito parte integrante do microcontrolador, e o seu fator de diviso pode ser alterado pelo software. usado

    quando necessrio medir perodos de tempo longos.

    Figura 12 Divisor no funcionamento do Temporizador

    CONTADORES

    Se o temporizador for incrementado com pulsos do exterior, ento o mesmo torna-se num contador. O circuito no mudou,

    mantm-se o mesmo. A nica diferena que neste caso os pulsos que sero contados chegam atravs das portas, e a sua

    durao nunca definida. Esta a razo pela qual no podem ser usados para medio de tempo, embora os seus fins sejam

    imensos.

    Desde a contagem de peas numa linha de montagem, quantidade de passos que o motor andou, nmero de passageiros numa

    fila, etc. As possibilidades so vastas, e so dependentes dos sensores usados.

    1.12. COMO ESCOLHER O MICROCONTROLADOR CERTO PARA A APLICAO? Antes de comear a desenvolver um sistema baseado em microcontrolador, deve-se equacionar o seguinte:

    quantas entradas/sadas so necessrias?

    comunicaes srie?

    conversor A/D?

    quantidade de memria (programa e dados)?

    quantidade de temporizadores?

    interfaces de comunicao?

    outro...

    Quando se define muito bem os requisitos do projeto, a grande oferta naturalmente filtrada, e muito mais simples fazer a

    escolha adequada.

    Por ltimo, fazer a escolha relacionada ao nmero de unidades do produto, e o preo por unidade.