Professional Documents
Culture Documents
Pgina 1/8
Pense nos equipamentos eletrnicos existentes ao seu redor neste momento. Na calculadora, no celular, aparelho de TV, rdio, diskman, mp3 player, no mdulo de controle da injeo eletrnica do automvel, alarme residencial, vdeo-game, aparellho de DVD, etc, etc, etc... Como so feitos ? Como funcionam ?
Resumindo : Circuitos Integrados so componentes eletrnicos capazes de realizar funes complexas, geralmente obtida pela integrao de componentes elementares da eletrnica. MICROPROCESSADORES J no final dos anos 70 e princpio dos anos 80, alguns Circuitos Integrados surgiram com uma proposta de flexibilidade interessante, permitindo que, atravs de um programa gravado binariamente em uma memria, pudessem ser realizadas operaes de processamento, entrada e sada. Isso viabilizou a construo de pequenos circuitos microprocessados para soluo de problemas mais complexos, tornando obsoleta a utilizao de componentes no programveis em certas aplicaes.
A maioria das crianas passam por uma fase onde querem "desmontar para ver como funciona". Se voc j passou por esta fase, (ou ainda no saiu dela *rs) voc provavelmente j observou que em alguns equipamentos existem componentes eletrnicos cheios de terminais e com inscries (nmeros e letras) que no dizem muita coisa para um leigo. Tudo bem... muitos j sabem que se tratam de circuitos integrados. Mas afinal o que e para que serve um "Circuito Integrado?" Quando queremos aumentar a resistncia em um ponto de um circuito eltrico, usamos resistores. Para filtrar um sinal, podemos usar um capacitor. Para permitir a passagem de corrente eltrica somente em um sentido, usamos diodos. Para realizar acionamentos ou amplificar sinais usamos rels e transistores. Bom.. isso tudo voc deve aprender estudando eletricidade e eletrnica. O fato que quando queremos implementar algo mais complexo, precisamos estudar, ler, calcular e construir um circuito com vrios destes componentes bsicos da eletrnica. No entanto, alguns destes circuitos complexos so to comuns que alguns fabricantes resolveram constru-los de forma miniaturizada, e embut-los em um encapsulamento plstico, metlico ou cermico. Estes so os Circuitos Ingegrados, ou CIs. Hoje so muitos os CIs disponveis no mercado. Nos anos 70 os CIs revolucionaram a manufatura de produtos eletrnicos, viabilizando a construo de sistemas menores, mais rpidos e flexveis.
Sugesto de atividade : Pesquise na Internet sobre a evoluo dos microprocessadores, desde o 4004 at os mais recentes. Por exemplo, nos primeiros elevadores automatizados, era utilizada lgica de rel, onde o sistema de controle era pouco flexvel e relativamente complexo, consumindo muita energia e aumentando o custo de implementao. Com a utilizao de microprocessadores e microcontroladores, os elevadores passaram a ser mais "inteligentes", pois com estes sistemas puderam ser implementados recursos mais complexos j que o esforo de projeto passou para o programa (software), deixando a eletrnica (hardware) muito mais simples e barata.
Pgina 2/8
Pgina 3/8
como converso A/D (analgica/digital), temporizadores, contadores, memrias EEPROM, geradores de PWM, etc... OS MAIS CONHECIDOS Podemos apontar como os microcontroladores de baixo custo mais conhecidos no mundo da automao : 1. O Intel 8051 e suas variaes como o 8031 (ROM-LESS). Possui um assembly relativamente simples, e baixo custo. Bastante conhecido e muito utilizado com fins didticos, sendo ainda bastante utilizado comercialmente. Inspirou a construo de diversos outros modelos similares, com mesmas instrues e capacidades, no entanto fabricado por outros fabricantes, como Atmel, Zilog, etc. 2. O 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. Os microcotroladores HC05, HC08 e HC11 da FREESCALE (MOTOROLA) tambm so bastante utilizados, apresentando como vantagem o seu baixo custo. Por ser muito utilizado, boa literatura e fcil de ser programado, utilizaremos no curso o PIC16f877, que equipa a estao PLCPic e pode ser utilizado na estao CUSCOPIC. Este microcontrolador apresenta diversos recursos j embutidos, dos quais podemos citar 8 entradas analgicas, sadas PWM, 8KBytes de memria ROM e 33 I-Os. CARACTERSTICAS DE UM MICROCONTROLADOR Quando optamos por um microcontrolador, devemos observar algumas caractersticas importantes : Quantidade de I-Os (entradas e sadas) : Refere-se a quantidade de pinos de entrada e sada existentes no microcontrolador. Estes pinos geralmente so conhecidos por agrupamentos (portos). No mircocontrolador que utilizaremos (PIC 16F877), existem 33 I-Os (l-se 33 ais). As IOs esto agrupadas em "Ports", sendo que cada PORT em microcontroladores de 8 bits possui 8 I-Os. Desta forma, no PIC 16F877 temos o Port A (com 6 I-Os), o Port B, Port C e Pord D (cada um com 8 I-Os), e o Port E (com
Como podemos observar, mesmo um sistema microprocessado possui uma srie de componentes necessrios, dispostos em vrios CIs e interligados por condutores paralelos que constituem o barramento. MICROCONTROLADORES
Com o agrupamento dos componentes de um sistema microprocessado em um nico componente, a implementao ficou ainda mais fcil e rpida. O microcontrolador , na verdade, um microprocessador com RAM, ROM e circuito de clock embutidos. Alguns microcontroladores possuem tambm outros recursos embutidos,
Pgina 4/8
Memria ROM tipo FLASH : Permite a gravao rpida, utilizando-se um circuito especial geralmente ligado ao microcomputador. Cabe salientar que este sistema tem um custo um pouco maior, mas permite vrias gravaes em um nico microcontrolador. Bom para ser utilizado em prottipos ou para fins didticos. CLOCK : Quem dita a velocidade como as instrues sero executadas um circuito pulsante conhecido por "circuito oscilador". No entanto, grande parte deste circuito j est embutido no MC, restando somente para o desenvolvedor a adio de um cristal externo, de freqncia varivel, dependendo do MC utilizado. Por exemplo, um PIC 16f877 pode usar um cristal de at 20 MHz sem problemas, mas tradicionalmente empregado um de 4 Mhz. REGISTRADORES ESPECIAIS : Algumas reas da memria RAM do microcontrolador so utilizadas para configurao de perifricos e informaes de controle dos circuitos embutidos. Estas reas de memria esto reservadas para estas funes. Para uso com variveis e armazenamento temporrio de valores, so utilizados os REGISTRADORES DE USO GERAL. INTERRUPO : um recurso que permite que uma determinada tarefa seja disparada por um determinado evento (interno ou externo). Por exemplo, uma rotina de emergncia pode ser configurada como um evento externo, associada a um pino especifico do sistema. INSTRUO : Um programa composto de vrias instrues, executadas seqencialmente. Uma instruo uma unidade de programa que realiza uma determinada tarefa, como por exemplo adicionar um valor, ativar uma sada, desativar um recurso, etc. RISC / CISC : Microcontroladores do tipo CISC (Complex Instruction Set Computing) possuem muitas instrues, j os do tipo RISC (Reduced Instruction Set Computing) possuem um nmero reduzido de instrues. Possundo mais instrues, os microcontroladores padro CISC so mais fceis de programar, uma vez que o programador sempre pode utilizar instrues mais elaboradas para realizar uma determinada tarefa, reduzindo o nmero de linhas do programa. J os microcontroladores RISC so mais difceis de serem programados, pois uma tarefa mais complexa deve ser
Pgina 5/8
Pgina 6/8
Curso prtico de programao de Microcontroladores Microchip PIC Daniel Corteletti O MICROCONTROLADOR PIC16F877 (encapsulamento PDIP)
Desenvolvido pela MICROCHIP (www.microchip.com) CPU RISC de alta performance, baseado em uma arquitetura Haward modificada. Suas caractersticas mais significativas so: Opera com somente 35 instrues (ASSEMBLY)
Operaes com durao de um nico ciclo, exceto pelas instrues de desvio que consomem dois ciclos de mquina. Cada ciclo equivale a 4 pulsos do circuito oscilador (clock) Operao em at 20 MHz (20 milhes de pulsos de clock por segundo = 5 milhes de ciclos de mquina por segundo = 200 ns por ciclo) 8 KWords de FlashROM (Word com 14 bits), suportando mais de 8 mil instrues em um programa. 368 Bytes de memria RAM 256 Bytes de memria EEPROM (regravvel via software e no voltil) Capacitado para interrupes com 14 fontes diferentes (timer, contagem, pulso externo, serial, etc...) Pilha fsica com 8 nveis de profundidade Endereamento direto, indireto e relativo Power-on Reset, power-on tiimer, oscillator start-up timer Watch-dog Timer baseado em oscilador RC interno para tratar um possvel travamento de software
Opo para proteo de cdigo executvel (Ativando-a, no mais possvel se ler a memria, evitando a duplicao do cdigo em outro microcontrolador) Modo SLEEP para poupar energia Opes diferentes para circuito oscilador
Programao Daniel Corteletti Aula 1 Parte I Pgina 7/8 Tecnologia CMOS FLASH/EEPROM de baixo consumo e alta velocidade, permitindo armazenamento no voltil
na memria EEPROM interna em tempo de execuo.
Programao ICSP (recurso embutido de gravao) atravs de dois pinos, facilitando a gravao do microcontrolador. Capacidade opcional de gravao com tenso de 5V (LVP) Opo de depurao in-circuit atravs de dois pinos Tenso de trabalho de 2 a 5.5V Baixo consumo de energia (abaixo de 1mA) 3 timers (2 de 8 bits e 1 de 16 bits) 2 pinos para captura, comparao e mdulos PWM 8 canais analgicos para um AD de 10 bits Porta serial sincrona com SPI (master) e I2C(mater/slave) Porta serial universal (RS232 ou RS485) com buffer via hardware (2 bytes) Porta paralela escrava de 8 bits Detector Brown-out 33 pinos de entrada/sada configurveis
Descrio dos pinos (muitos pinos possuem vrias funes, no significando que as funes possam ser exercidas ao mesmo tempo):
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
2. 3. 4. 5. 6. 7. 8. 9.
RA0 Entrada / sada digital. AN0 Entrada analgica canal 0 para o ADC interno. RA1 Entrada / sada digital. AN1 Entrada analgica canal 1 para o ADC interno. 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. 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. RA4 Entrada / sada digital. TOCKI Contador rpido RA5 Entrada / sada digital. AN4 Entrada analgica canal 4. SS Slave Select para porta serial sncrona RE0 Entrada / sada digital. RD Entrada de controle de leitura para porta paralela escrava. AN5 Entrada analgica canal 5. RE1 Entrada / sada digital. WR Entrada de controle de gravao para porta paralela escrava. AN6 - Entrada analgica canal 6.
Entrada / sada digital. SDI Entrada de dados em SPI. DAS Entrada/sada de dados em modo I2C. Entrada / sada digital. SD0 Sada de dados SPI. Entrada / sada digital. TX Pino para transmisso serial assncrona. CK Clock para transmisso sncrona. Entrada / sada digital. RX Pino para recepo serial assncrona. DT Dados da serial sncrona.
10. RE2
Entrada / sada digital. CS Chip Select para porta paralela escrava. AN7 Entrada analgica canal 7.
11. VDD Alimentao (preferncia 3V a 5V) 12. VSS Referncia (0V / GND) 13. 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
31. VSS - Referncia (0V / GND) 32. VDD Tenso de alimentao (mesma que pino
11)
33. RB0
34. RB1 Entrada / sada digital. 35. RB2 - Entrada / sada digital. 36. RB3 Entrada / sada digital. PGM Entrada de
sinal para gravao em baixa tenso (5V)
37. RB4 Entrada / sada digital. 38. RB5 Entrada / sada digital.
Programao Daniel Corteletti Aula 1 Parte I Pgina 8/8 39. RB6 Entrada / sada digital. PGC Clock 40. RB7 Entrada / sada digital. PGD Dados para
para programao ICSP ou pino para depurao. programao ICSP ou pino para depurao.
Diagrama de programao:
Passo 1 : Extrao de requisitos Levantar as necessidades da automao junto ao cliente, aos usurios do equipamento e as demais pessoas envolvidas no processo de automao. Passo 2 : Modelo de software a planta baixa do programa. Define quais sero as estratgias de programao que sero utilizadas. Para programas mais simples, recomenda-se a construo de um fluxograma ou de um modelo grfico do programa. Para situaes mais complexas, o modelo deve prever a quebra do problema em situaes ou camadas mais simples, que podem ser implementadas separadamente. Passo 3 : Implementao a escrita do programa na linguagem de programao desejada (no caso, linguagem C). Deve ser observado o compilador a ser utilizado, bem como as variaes na sintaxe da linguagem de programao para a ferramenta escolhida. Passo 4 : Compilao Ocorre a traduo da linguagem de programao para a linguagem nativa do microcontrolador. Nesta etapa, parte dos erros (principalmente os erros de sintaxe) so detectados. Os erros de sintaxe so os erros causados por erros de digitao ou uso incorreto de comandos. Passo 5 : Transferncia Atravs de um programa especfico, os dados contidos no arquivo HEX gerado pelo compilador so transferidos para a memria ROM do microcontrolador. Passo 6 : Testes Aqui so descobertos os erros de lgica que podem ser gerados por um erro de digitao (pontuao incorreta, comando inadequado, esquecimento de linhas, etc...). Esta etapa realimenta o processo, at que os testes efetuados garantam a qualidade do programa criado.
Programas recomendados : AMBIENTE ASSEMBLY : MPLAB / COMPILADOR C: CCS (PCW.EXE) / PROGRAMADOR : EPIC (EPICWIN.EXE)