Prévia do material em texto
1 MICROCONTROLADORES PIC UMA VISÃO GERAL Professor Wagner Zanco Minicurso minstrado na Universidade Estácio de sá Download: http://www.wagnerzanco.com.br/Downloads/Minicurso2012.pdf 2 Microcontroladores PIC – Uma visão geral Wagner da Silva Zanco SUMÁRIO • A história da Eletrônica • Arquitetura básica de um microcomputador • Microcontroladores • Família PIC • PIC18F4520 • Oscilador • Hardware • Desenvolvendo aplicações • Simulando uma aplicação • Ferramentas de desenvolvimento • Desenvolvimento Brasil • Livros em português • Conclusão Disciplina: Microcontroladores Um Resumo da Evolução da Eletrônica 3 Microcontroladores PIC – Uma visão geral Wagner da Silva Zanco FUNÇÃO BÁSICA DE UM COMPUTADOR • O computador basicamente é um processador de informações. • O usuário introduz as informações no computador por meio de um dispositivo de entrada como o teclado, mouse etc. • O computador processa as informações e retorna o resultado para o usuário por meio de um dispositivo de saída como o vídeo ou impressora. 4Microcontroladores PIC – Uma visão geral Wagner da Silva Zanco MÓDULOS BÁSICOS DE UM MICROCOMPUTADOR 5Microcontroladores PIC – Uma visão geral Wagner da Silva Zanco 6 DIAGRAMA EM BLOCOS BÁSICO DE UM MICROCONTROLADOR COM ARQUITETURA HARVARD Microcontroladores PIC – Uma visão geral Wagner da Silva Zanco 7 MICROCONTROLADOR “É um computador em um único chip. O microcontrolador integra em um único invólucro CPU, memória e dispositivos de I/O. O primeiro microcontrolador, o 8048, foi desenvolvido pela empresa Intel no final da década de setenta.” Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco - Família 8051 (8 bits) - Família PIC (8, 16 e 32 bits) - Família ARM (32 bits) 8 ESTADO DA ARTE DOS MICROCONTROLADORES Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco 9 FAMÍLIA PIC Desenvolvida pela empresa Microchip Technology - PIC10 (8 bits) (menor microcontrolador do mundo) - PIC12 (8 bits) - PIC14 (8 bits) - PIC16 (8 bits) - PIC18 (8 bits) - PIC24 (16 bits) - PIC32 (32 bits) - DSPIC (16 bits) (processador digital de sinais + microcontrolador) Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco 10 TIPOS DE MEMÓRIA DE PROGRAMA ROM TIPO MÁSCARA – Vem gravada de fábrica OTP (PROM) – Pode ser regravada uma única vez EPROM – Pode ser apagada com raios ultravioleta e regravada FLASH –ROM – Pode ser apagada e regravada por software Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco 11 ARQUITETURA INTERNA DO PIC18F4520 Arquitetura Harvard 12 PRINCIPAIS CARACTERÍSTICAS DO PIC18F4520 A partir da série PIC18, a arquitetura RISC foi otimizada para obter alta performance com a utilização de um compilador C. • Capacidade para executar até 10 milhões de instruções por segundo 10MIPS); • Até 40MHz de sinal de clock; • De 4MHz a 10MHz de sinal de clock com o PLL ativo; • Instruções com 16 bits de tamanho; • Níveis de prioridade no tratamento da interrupção; • Multiplicação por hardware entre operandos de 8 bits em um único ciclo de instrução; • Set de instruções estendido; • Modos de gerenciamento de energia. Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco 13 PERIFÉRICOS DO PIC18F4520 • Capacidade de corrente de 20 mA pino; • Três pinos de interrupção externa; • Módulo temporizador/contadorTimer0 de 16 bits; • Módulo temporizador/contadorTimer1 de 16 bits; • Módulo temporizadorTimer2 de 8 bits; • Módulo temporizador/contadorTimer3 de 16 bits; • Treze canais de conversor A/D de 10 bits; • Dois módulos Capture/Compare/PWM(CCP); • Módulo de detecção de alta e baixa tensão; • Módulo MSSP podendo operar nos modos I2CTM e SPITM; • Módulo EUSART com endereçamento avançado com suporte para RS232, RS485 e LIN 1.2; • Dois comparadores analógicos com entradas multiplexadas; • Módulo PSP (Parallel Slave Port). Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco 14 PINAGEM DO PIC18F4520 Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco 15 PINO DIGITAIS (pinos de I/O) • O PIC18F4520 possui 40 pinos. • Port A, Port B, Port C, Port D e Port E. • Todos os pinos são multiplexados. • Port A (RA7:RA0) • Port B (RB7:RB0) • Port C (RC7:RC0) • Port D (RD7:RD0) • Port E (RE3:RE0). • 36 pinos de I/O. • O pino RE3 só pode ser configurado como entrada digital. Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco 16 NÍVEL LÓGICO versus TENSÃO Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco 4,5V < VDD < 5,5V Entrada Mín Máx Nível Lógico VIL (tensão de entrada baixa) 0V 0,8V 0 VIH (tensão de entrada alta) 2V VDD 1 Saída Mín Máx Nível Lógico VOL (tensão de saída baixa) - 0,6V 0 VOH (tensão de saída alta) VDD - 0,7V - 1 17Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco OSCILADOR • Qualquer instrução executada pela CPU utiliza como referência um sinal de clock que é gerado por um oscilador. O Oscilador pode ser externo ou interno. 18 OSCILADOR A CRISTAL Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco Tipo de oscilador Frequência do cristal Valores típicos de capacitores testados C1 C2 LP 32kHz 30pF 30pF XT 1MHz 15pF 15pF4MHz 15pF 15pF HS 4MHz 15pF 15pF 10MHz 15pF 15pF 20MHz 15pF 15pF 25MHz 0pF 5pF 25MHz 15pF 15pF 19Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco BOTÕES ACIONAM LEDS 20Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco PROGRAMA-FONTE MAIN_30.C • A aplicação consiste em pressionar uma tecla e acionar o respectivo LED. • Por exemplo, se a tecla S1 for pressionada, o led1 emitirá. Se a tecla S2 for pressionada, o led2 emitirá e assim sucessivamente. 21Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco INTERFACEANDO O PIC18F4520 COM DISPLAYS MULTIPLEXADOS 22Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco APLICAÇÃO MAIN_32.C 23Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco APLICAÇÃO MAIN_39.C 24 DESENVOLVENDO UMA APLICAÇÃO SOFTWARE Microcontroladores PIC18F4520 com Linguagem C Wagner da SilvaZanco 25 DESENVOLVENDO UMA APLICAÇÃO • As ferramentas para o desenvolvimento de uma aplicação são: Editor (MPLAB IDE e MPLAB X) Compilador (MPLAB C, HI-TECH C) Simulador (MPLAB IDE, MPLAB X, PROTEUS) Debugger (MPLAB ICD 3, MPLAB REAL ICE, PICkit 3, MPLAB ICD 2, PICkit 2) Gravador (MPLAB ICD 3, MPLAB REAL ICE, PICkit 3, MPLAB ICD 2, PICkit 2) Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DESENVOLVENDO UMA APLICAÇÃO 26Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco Arquivo texto (programa-fonte) Arquivo binário (programa-objeto) (software + circuito de gravação)(software) 27 DESENVOLVENDO UMA APLICAÇÃO EM C USANDO O MPLAB • Os passos para o desenvolvimento de uma aplicação são: 1º - Inicializar o MPLAB 2º - Criar programa-fonte (nome.c) 3º - Criar projeto (nome.mcp) 4º - Associar o programa-fonte ao projeto 5º - Compilar projeto (converter o programa-fonte em programa-objeto) 6º - Debugar projeto (simular o projeto dentro do MPLAB) 7º - Gravar o programa no MCU Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco COMPILADORES MICROCHIP 28Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco FLUXO DE EXECUÇÃO DO MPLAB® C 29Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco SIMULAÇÃO NO PROTEUS ESTUDO DE CASO 30Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVELOPMENT BOARDS 31Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVELOPMENT BOARDS 32Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVELOPMENT BOARDS 33Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVELOPMENT BOARDS 34Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVELOPMENT BOARDS 35Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVELOPMENT BOARDS 36Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVELOPMENT BOARDS 37Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVELOPMENT BOARDS 38Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVELOPMENT BOARDS 39Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVELOPMENT BOARDS 40Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVELOPMENT BOARDS 41Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco DEVENVOLVIMENTO BRASIL 42Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco LIVROS EM PORTUGUÊS 43Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco LIVROS EM PORTUGUÊS 44Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco LIVROS EM PORTUGUÊS 45Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco LIVROS EM PORTUGUÊS 46Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco CONLUSÃO 47Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco “A tecnologia de microcontroladores e sistemas embarcados está levando o desenvolvimento tecnológico mundial a um novo patamar, assim como está alterando o modo de vida e as relações sociais em todo o mundo. A cada dia vemos a sua utilização ser aplicada a novos setores como os industrial, comercial, automobilístico, predial, medicina entretenimento etc. O Brasil vem desenvolvendo um importante papel neste contexto com a preparação de profissionais qualificados sendo formados nas instituições de ensino de todo o país. Temos orgulho de fazer parte desta grande família e de estar contribuindo de forma significativa para o desenvolvimento do Brasil” Muito Obrigado! Download: http://www.wagnerzanco.com.br/Downloads/Minicurso2012.pdf CONTATOS 48Microcontroladores PIC18F4520 com Linguagem C Wagner da Silva Zanco http://www.wagnerzanco.com.br wagnerzanco@uol.com.br 21 3658-1415