Microcontroladores Pic 1

Embed Size (px)

Citation preview

  • 7/25/2019 Microcontroladores Pic 1

    1/18

    Faculdade de Engenharia de Ilha Solteira- Departamento de Engenharia Eltrica

    TEEE I- Projeto de Robs Mveis - Profs. Nobuo Oki e Suely Cunha Amaro Mantovani 1o.sem / 2013

    TEEEIProjetodeRobsMveis

    MICROCONTROLADORES -PIC

    1. INTRODUO

    Ao longo dos anos observa-se que o interesse pelo domnio do uso dos

    microprocessadores/microcontroladores tem sido constante, pois com eles pode-

    se desenvolver uma variedade de aplicaes e circuitos de grande utilidade,

    automatizando os sistemas encontrados no mundo moderno.

    Os microcontroladores so fortemente usados em circuitos de automveis,

    eletrodomsticos, brinquedos, na robtica e aparelhos de um modo geral que

    necessitam de automao e controle.

    O mercado de componentes eletrnicos oferece vrias opes de

    fabricantes e diferentes dispositivos microcontroladores com caractersticas

    prprias, alm disso, existem as placas comerciais prontas para o uso e de custoacessvel, sem a necessidade de desenvolver a sua prpria ou um circuito,

    bastando aprender a us-la e a sua programao.

    Os Microcontroladores surgiram no princpio dos anos 80. Trata-se de um

    circuito integrado programvel que contm toda a estrutura (arquitetura) de um

    microcomputador, isto , dentro de um microcontrolador podemos encontrar uma

    CPU (Unidade Central de Processamento), memria RAM, memria EEPROM

    (Memria de leitura e escrita no voltil; portas de entrada/sada (Pinos de E/S).

    Inclusive muitos modelos de microcontroladores incorporam diferentes mdulos

  • 7/25/2019 Microcontroladores Pic 1

    2/18

    2

    "perifricos", como conversores analgico/digital (A/D) , mdulos PWM (controle

    por largura de pulso), mdulos de comunicao serial ou paralelo e muito mais.

    Todos esses recursos so encontrados dentro do mesmo circuito

    integrado. Mas, a grande diferena com relao aos microprocessadores est na

    pequena capacidade de suas memrias e na velocidade de processamento.

    Figura 1- Ilustrando o Microcontrolador e os seus recursos.

    Fazendo um paralelo, um sistema microprocessado deve possuir:

    Ummicroprocessador(CPU)

    Memria ROM(onde fica gravado o programa principal)

    Memria RAM(utilizada como memria de rascunho pelo programa executado)

    Perifricos - Entrada e Sada (so os dispositivos conectados ao sistema,

    geralmente sensores e atuadores.)

    Barramento - fios ou trilhas condutoras dos pulsos eltricos que permitem a

    interconexo dos componentes.

    Circuito gerador de CLOCK- circuito que gera um sinal cclico em uma determinada

    freqncia de tempo.

  • 7/25/2019 Microcontroladores Pic 1

    3/18

    3

    Figura 2- Ilustrando o Microprocessador e barramentos

    Como podemos observar mesmo um sistema microprocessado possuiuma srie de componentes, no caso dispostos em vrios CIs e interligados por

    condutores paralelos que constituem o barramento.

    Os produtos que incorporam microcontroladores em seu sistema visam

    principalmente, aumentar seus recursos, reduzir seu tamanho e custo, melhorar

    sua confiabilidade e diminuir o consumo de energia. Alguns dos fabricantes de

    microcontroladores atuais so a Intel, Microchip, Atmel, Motorola, etc.

    Alguns dos microcontroladores de baixo custo usados no mundo da

    automao so:

    1. Intel 8051 e suas variaes como o 8031. Possui um assembly relativamente

    simples, e baixo custo. Bastante conhecido e muito utilizado com fins didticos. Inspirou a

    construo de diversos outros modelos similares, com mesmas instrues e

    capacidades, no entanto fabricado por outros fabricantes, como Atmel, Zilog, etc.

    2. PIC16F84 (Microchip)surgiu como um dos mais utilizados microcontroladores

    pelos "hobistas" pela sua versatilidade, facilidade de programao e baixo custo. Hoje, a

    famlia de microcontroladores PIC muito utilizada em projetos de automao.

    3. Microcontroladores ATMEL, de excelente custo.

    4. Microcontroladores COP

    5. Microcotroladores HC05, HC08 e HC11 da FREESCALE (MOTOROLA)

    tambm so bastante utilizados, apresentando como vantagem o seu baixo custo.

    Um dos microcontroladores bastante procurado para desenvolvimento de

    projetos o "PIC" do fabricante "Microchip", onde PIC significa "Peripheral

    Interface Controller"

  • 7/25/2019 Microcontroladores Pic 1

    4/18

    4

    Existe uma grande quantidade de microcontroladores PIC, cujas

    caractersticas e recursos variam de um modelo para outro. Assim sendo, os

    projetistas podem selecionar o modelo que melhor se ajuste as suas

    necessidades. Os diferentes modelos de microcontroladores se agrupam por

    "famlia". Uma famlia pode ser formada por um conjunto de modelos cujas

    caractersticas e recursos so bastante similares.

    Um microcontrolador precisa ser programado, ou seja, o projetista deve

    escrever um programa que contenha todo o processamento que o

    microcontrolador deve executar. Este programa pode ser escrito em uma

    linguagem chamada "Assembly" que por se tratar de uma linguagem de "baixo

    nvel" e se encontrar "mais prximo" linguagem da mquina (binria) apresenta

    uma relativa complexidade. Por isso, a realizao de projetos com esta

    linguagem exige um grande esforo intelectual e muito mais tempo de projeto.

    Utiliza-se neste curso o PIC16f877 por ter literatura acessvel, fcil de ser

    programado e atender aos objetivos do curso. Este microcontrolador apresenta

    diversos recursos j embutidos, dos quais podemos citar: 8 entradas analgicas,

    sadas PWM, 8kBytes de memria ROM e 33 I/Os.

  • 7/25/2019 Microcontroladores Pic 1

    5/18

    5

    2. PIC 16F877A- Caractersticas Gerais

    O dispositivo programvel PIC 16F877A, possui vrias funes na sua

    arquitetura , muito importantes em projetos de automao, como por exemplo:

    Microcontrolador com 40 pinos, incluindo pinos analgicos e 33 I/O's;

    15 tipos de interrupes disponveis: timers, contagem, pulso externo, etc;

    Clockde 4 at 20MHz;

    Pilha com oito nveis de profundidade;

    Memria RAM com 368 bytes;

    Conversores Analgico/Digital (A/D);

    Modo Sleep;

    Diferentes opes para osciladores (crystal, oscilador RC, etc);

    PWM;

    Modo USART (para comunicao serial);

    8kBytes de memria ROM;

    2.1 - Pinagem e funes

    Mostra-se na figura 3 a pinagem e um resumo da descrio e funo decada pino deste microcontrolador. Deve ser notado que a maioria dos pinos

    possui vrias funes, no significando que as funes possam ser exercidas ao

    mesmo tempo.

  • 7/25/2019 Microcontroladores Pic 1

    6/18

    6

    Figura 3- Pinagem DIP-Microcontrolador PIC 16F877A.

    1. MCLR : Master Clear Quando em nvel baixo (0V), define situao de

    RESET. Quando em nvel alto (5V), determina programa em execuo.

    VPP: Tenso de programao Quando este pino estiver em 13.4V, o

    microcontrolador entra em modo gravao, permitindo a transferncia de

    um programa via ICSP;

    1. RA0 Entrada / sada digital. AN0 Entrada analgica canal 0 para o ADCinterno;

    2. RA1 Entrada / sada digital. AN1 Entrada analgica canal 1 para o ADCinterno;

    3. RA2 Entrada / sada digital. AN2 Entrada analgica canal 2 para o ADC

    interno. Vref- Uso do pino para definir a referncia negativa para o

    conversor AD;

  • 7/25/2019 Microcontroladores Pic 1

    7/18

    7

    4. RA3 Entrada / sada digital. AN3 Entrada analgica canal 3 para o ADC

    interno. Vref+ Uso do pino para definir a referncia positiva para o

    conversor AD;

    5. RA4 Entrada / sada digital. TOCKI Contador rpido;

    6. RA5 Entrada / sada digital. AN4 Entrada analgica canal 4. SS Slave

    Selectpara porta serial sncrona;

    7. RE0 Entrada / sada digital. RD Entrada de controle de leitura para

    porta paralela escrava. AN5 Entrada analgica canal 5;

    8. RE1 Entrada / sada digital. WR Entrada de controle de gravao paraporta paralela escrava. AN6 - Entrada analgica canal 6;

    9. RE2 Entrada / sada digital. CS Chip Select para porta paralela

    escrava. AN7 Entrada analgica canal 7;

    10. VDD Alimentao (preferncia 3V a 5V);

    11. VSS Referncia (0V / GND);

    12. OSC1/CLKIN Pino para ligao do circuito oscilador externo (entrada).

    Usado em conjunto com o pino OSC/CLKOUT. Recomendado usar cristal

    de 4 a 20 MHz;

    13. OSC2/CLKOUT Pino para ligao do circuito oscilador externo (sada);

    14. RC0 Entrada / sada digital. T1OSO Sada do oscilador do TIMER1.

    T1CKI Entrada de clock para TIMER1;

    15. RC1 Entrada / sada digital. T1OSI Entrada do oscilador do TIMER1.

    CCP2 Entrada de captura 2, sada de comparador 2 ou PWM 2;

    16. RC2 Entrada / sada digital. CCP1 Entrada de captura 1, sada de

    comparador 1 ou PWM 1;

    17. RC3 Entrada / sada digital. SCK/SCL Entrada ou sada de sinal de

    clock serial sncrono para SPI e I2C;

  • 7/25/2019 Microcontroladores Pic 1

    8/18

    8

    18. RD0 Entrada / sada digital. PSP0 Pino 0 da porta paralela escrava;

    19. RD1 Entrada / sada digital. PSP1 Pino 1 da porta paralela escrava;

    20. RD2 Entrada / sada digital. PSP2 Pino 2 da porta paralela escrava;

    21. RD3 Entrada / sada digital. PSP3 Pino 3 da porta paralela escrava;

    22. RC4 Entrada / sada digital. SDI Entrada de dados em SPI. DAS

    Entrada/sada de dados em modo I2C;

    23. RC5 Entrada / sada digital. SD0 Sada de dados SPI;

    24. RC6 Entrada / sada digital. TX Pino para transmisso serialassncrona. CK Clockpara transmisso sncrona;

    25. RC7 Entrada / sada digital. RX Pino para recepo serial assncrona.

    DT Dados da serial sncrona;

    26. RD4 Entrada / sada digital. PSP4 Pino 4 da porta paralela escrava;

    27. RD5 Entrada / sada digital. PSP5 Pino 5 da porta paralela escrava;

    28. RD6 Entrada / sada digital. PSP6 Pino 6 da porta paralela escrava;

    29. RD7 Entrada / sada digital. PSP7 Pino 7 da porta paralela escrava;

    30. VSS - Referncia (0V / GND);

    31. VDD Tenso de alimentao (mesma que pino 11);

    32. RB0 Entrada / sada digital. INT Entrada de sinal de interrupo via

    hardware;

    33. RB1 Entrada / sada digital;

    34. RB2 - Entrada / sada digital;

    35. RB3 Entrada / sada digital. PGM Entrada de sinal para gravao em

    baixa tenso (5V);

    36. RB4 Entrada / sada digital;

  • 7/25/2019 Microcontroladores Pic 1

    9/18

    9

    37. RB5 Entrada / sada digital;

    38. RB6 Entrada / sada digital. PGC Clock para programao ICSP ou

    pino para depurao;

    39. RB7 Entrada / sada digital. PGD Dados para programao ICSP ou

    pino para depurao;

    2.2 - Arqu itetura interna e func ionamento

    A arquitetura de trabalho do PIC a Havard, Figura 4, que utiliza dois

    barramentos em seu funcionamento, um para dados que normalmente possui 8

    bits e outro de endereamento de memria, com 14 bits, usualmente. Nessa

    arquitetura, tem-se uma velocidade de processo maior, pois uma vez utilizado um

    endereamento, enquanto a CPU trabalha com os dados, o barramento de

    endereos procura e coloca a posio do prximo comando disposio da CPU.

    No modo de operao Von-Neumann necessrio mais tempo e

    comandos de memria para o funcionamento, pois os dados e os endereos

    necessitam "dividir" o mesmo barramento, como mostrado na Figura 4.

    Figura 4- Arquitetura Havard x Von-Neumann.

    Na Figura 5 ilustra-se a Arquitetura Interna, com os vrios componentes de

    hardware. Nesta figura pode-se observar a presena de 5 Ports de I/Os para

    comunicao externa, entre os quais, tem-se 8 pinos para entrada/sada de sinais

    analgicos.

    O barramento de dados se encontra direita do contador de programa

    (PC-Program Counter) que est diretamente ligado memria FLASH de

    programa. O barramento de programa est diretamente associado ao conjunto de

  • 7/25/2019 Microcontroladores Pic 1

    10/18

    10

    instrues do PIC e, por conseguinte, este se encontra multiplexado para dar

    acesso ULA (Unidade Lgica e Aritmtica).

    Para executar uma operao (lgica /aritmtica) utiliza-se a ULA, que

    decodifica o tipo de instruo a ser realizada primeiramente e, logo depois,

    executa a operao nos dados que viro posteriormente com ajuda do MUX

    (Multiplexador). O resultado guardado no WReg que um dos registradores

    mais importantes do PIC (registrador acumulador).

    Do lado esquerdo da ULA, tm-se os registradores que provm das

    configuraes iniciais do PIC. Estas configuraes precisam ser especificadas no

    incio de qualquer programa, tais como,

    -Brown-Out Reset: tem a funo de esperar a alimentao se estabilizar antes

    de fornecer energia ao microcontrolador;

    - Oscillator Start-up Timer: o programador deve especificar que tipo de clock

    est usando: crystal, oscilador RC, etc;

    - Watchdog Timer: em preveno a erros no programa, este um circuito de

    resetautomtico do PIC a um determinado tempo (de 0 a 255), que pode ser ou

    no habilitado na programao;

    - Low-Voltage Programming: circuito que nos auxilia na programao do

    microcontrolador;

    - Instruction Decode & Control: registrador que possui os cdigos demquina

    que sero utilizados pela ULA para cada instruo feita pelo programador. A

    funo desse registrador interpretar a linguagem de programao Assemblye

    decodific-la em linguagem de mquina.

    Na Figura 5, tem-se mais algumas funes do PIC, destacando o modo

    USART que uma comunicao externa que o PIC possui para atravs de uma

    porta RS232 se comunicar com um computador. Tambm se encontram timers,

    modo comparador tenso de referncia, conversor digital analgico (por causa

    das entradas analgicas do PIC), entre outros.

  • 7/25/2019 Microcontroladores Pic 1

    11/18

    11

    Figura 5- Arquitetura interna do PIC.

  • 7/25/2019 Microcontroladores Pic 1

    12/18

    12

    2.3 Memrias de Programa x Memria de Dados

    Memrias de Programa- O PIC possui uma memria de programa de 14 bits do

    tipo FLASH (Figura 6), regravvel eletronicamente e de grande velocidade de

    trabalho. Essa memria designada para a programao do PIC, possuindo as

    seguintes caractersticas:

    Vetor de reset: onde o programa inicia ( PIC 16F877A), endereo 0x00H.

    Vetor de interrupo:aps cada interrupo o contador de programa (PC)

    pula automaticamente para essa posio que, no PIC 16F877A, possui o

    endereo 0x 04H.

    Pilha:a pilha guarda o endereo para os desvios de fluxo na programao.

    O PIC 16F877A possui uma pilha de 8 nveis, ou seja, ela pode guardar at 8

    endereos de retorno.

    Figura 6- Mapa da Memria de Programa-FLASH.

    Memria de Dados - a memria de dados dividida em 4 bancos de memriapara facilitar a programao. Essa memria constituda de vrios registradores

  • 7/25/2019 Microcontroladores Pic 1

    13/18

    13

    para guardar os dados de 8 bits a serem usados na programao e configurao

    de trabalho do microcontrolador. Existem dois tipos de registradores:

    Registradores Especiais (SFR's):so pr-determinados pelo fabricante.

    Normalmente possuem locais para que se possa configurar o modo de operao

    do microcontrolador. Por exemplo: para definir se o PORTB vai ser entrada ou

    sada, tem-se o registrador especial TRISB.

    Registradores de Uso Geral: so registradores definidos pelo usurio.

    Fazendo-se uma comparao, o mesmo que as variveis criadas em linguagens

    de programao, com a diferena que se nomeia o endereo do dado e no o

    dado em si.

    Observa-se na Figura 7, o mapa da Memria de dados para o PIC

    16F877A,

  • 7/25/2019 Microcontroladores Pic 1

    14/18

    14

    Figura 7- Bancos de memrias para os registradores de dados.

  • 7/25/2019 Microcontroladores Pic 1

    15/18

    15

    3. CIRCUITOS EXTERNOS PARA O PIC.

    Para o uso do PIC so necessrios alguns circuitos auxiliares que fazem

    com que o microcontrolador funcione plenamente e exera suas funes. Entre

    esses circuitos esto o circuito de clock, reset e alimentao.

    3.1 Circuito de Clock

    A CPU (Central Processing Unit ) do PIC necessita de um sinal de

    sincronismo , clock,para funcionar . Um quarto do clockgera o que se chama de

    ciclo de mquina, que fornece sua base de tempo. Por exemplo, uma instruo

    pode demorar 2 ciclos de mquina . O nmero de ciclos de mquina necessrios

    para a execuo de cada instruo variado para cada tipo de comando.

    (1)

    O circuito de clockexterno mais usado em projetos com PIC que utiliza

    um crystal oscilador, por apresentar uma melhor estabilidade do sinal. O

    esquema de ligao para esse tipo de clockpode ser visto na Figura 8.

    Figura 8- Esquema de ligao para o crystalde quartzo

    3.2 - Reset

    O circuito de reset do microcontrolador reinicializa a execuo do

    programa. Um sinal de nvel baixo (low) no pino 1 (MCLR

    - Master Clean Reset),

  • 7/25/2019 Microcontroladores Pic 1

    16/18

    16

    reseta o microcontrolador . Esse controle feito por uma chave conforme se

    mostra no circuito da Figura 9,

    Figura 9- Circuito para reset manual do PIC.

    O ponto A da figura 9 ligado no pino 1 do PIC 16F877A. Quando o boto

    apertado, o contador de programa (PC) voltar a indicar o endereo 0x00H do

    programa principal, alm de resetar todos os nveis lgicos do chip.

  • 7/25/2019 Microcontroladores Pic 1

    17/18

    17

    4 - SoftwaresAuxiliares

    Como dito anteriormente, o microcontrolador um chip programvel.

    Portanto, necessita de softwaresauxiliares para o desenvolvimento de um projeto

    no caso do PIC, podem ser utilizados trs softwares:

    PROTEUS 7 PROFESSIONAL, para simulao do projeto;

    MIKRO C PRO FOR PIC, para a programao em linguagem C e;

    MPLAB (proprietrio do gravador-Microchip) para a gravao do programa

    no microcontrolador.

    4.1 - Softwarede Simulao

    Para simular os projetos do PIC, pode-se usar o programa PROTEUS 7

    PROFESSIONAL que fornece uma vasta biblioteca de componentes que so

    muito teis e fortemente recomendados para ser utilizado como ferramenta de

    simulao de circuitos, tanto digitais, quanto analgicos.

    Esse programa consta de dois aplicativos que so: ISISe o ARES. O ISIS

    a ferramenta de simulao de circuitos e oARES uma interface para a criao

    de placas impressas.

    4.2 - Softwares de Desenvolvimento do Programa.

    A programao do PIC pode ser feita em linguagem Assembly usando para

    isso o programa MPLAB. A linguagem C oferece vantagens, como a compactao

    e desta forma utiliza menos espao na memria de programa. Programando em

    C, um dos programas bastante utilizado o softwareMIKRO C FOR PIC .

    4.3 - Softwares de Gravao

    O MPLAB tambm utilizado para a gravao dos programas no

    microcontrolador da famlia PIC, usando o gravador da mosaico produtos.

  • 7/25/2019 Microcontroladores Pic 1

    18/18

    18

    O aplicativo ISIS permite fazer os esquemas de ligaes para o circuito.

    Caso seja necessrio fazer uma placa de circuito impresso, pode-se utilizar o

    aplicativo ARES. Para isso leva-se todas as ligaes feitas no ISIS diretamente

    para o ARES, clicando no cone do ARES que aparece na interface do ISIS.