Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 2º semestre 2018 – pg. 1 Universidade Paulista – UNIP Engenharia Elétrica 01 – Microcontroladores PIC Sistemas Microcontrolados Prof. Me. José Ricardo G. Pinheiro jrgpinheiro@feb.unesp.br Sistemas Microcontrolados pg. 2 1. Introdução 2. Famílias PIC 3. Evolução dos microcontroladores PIC de 8 bits 4. Microcontroladores de 8 bits – Família PIC10F 5. Microcontroladores de 8 bits – Família PIC12F • Características e Diagrama de blocos • Organização de Memória e Mapa de registradores 6. Microcontroladores de 8 bits – Família PIC16F • Características e Diagrama de blocos • Organização de Memória e Mapa de registradores 7. Microcontroladores de 8 bits – Família PIC18F • Características e Diagrama de blocos • Organização de Memória e Mapa de registradores UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 2 Sistemas Microcontrolados pg. 3 Introdução • PIC → família de µC fabricados pela Microchip Technology • Microcontroladores de 8, 16 e 32 bits • Núcleo de processamento de 12 bits, 14 bits e 16 bits • Arquitetura Harvard e conjunto de instruções RISC • Extensa variedade de modelos e periféricos internos • Frequência de clock de até 48 MHz • Ferramentas de desenvolvimento fornecidas pelo próprio fabricante • MPLAB X IDE → assembler (free) • MPLAB XC8, XC16, XC32 → linguagem C • Mais de 250 tipos de microcontroladores de 8 bits, divididos em quatro famílias UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 4 Famílias PIC UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 3 Sistemas Microcontrolados pg. 5UNIP - Campus Bauru - Engenharia Elétrica LINHA BASE Palavras de Instrução 12 bits INTERMEDIÁRIO Palavras de Instrução 14 bits TOPO DE LINHA Palavras de Instrução 16 bits PIC 18F TMR0/1/2/3, EEPROM USB, SPI, I2C Interface Serial, A/D PIC 16F TMR0/1/2, EEPROM Interface Serial, A/DPIC 12F TMR0, Oscilador Int. PIC 10F Oscilador Int. Preço Desempenho Relativo Evolução dos microcontroladores PIC de 8 bits Sistemas Microcontrolados pg. 6 Microcontroladores de 8 bits – Família PIC10F • Núcleo de processamento de 12 bits • Arquitetura RISC de 33 instruções • Clock interno de 4 Mhz • 3 pinos de I/0 e 1 pino de entrada apenas • Temporizador/Contador de 8 bits • Um comparador (PIC10F204 / 206) • Até 750 bytes de memória de programa • Encapsulamento de 6 pinos UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 4 Sistemas Microcontrolados pg. 7 • Diagrama em Blocos Microcontroladores de 8 bits - Família PIC10F UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 8 Microcontroladores de 8 bits – Família PIC10F • Mapa dos registradores (PIC10F204/206) UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 5 Sistemas Microcontrolados pg. 9 Microcontroladores de 8 bits - Família PIC12F • Núcleo de processamento de 12 bits • Arquitetura RISC de 35 instruções • Quatro seleções de osciladores, incluindo o interno de 4 Mhz • 6 pinos de I/0 com capacidade para acionar LED´s (sink/source) • Um Comparador com referência interna de tensão • Um Temporizador/Contador de 8 bits e um de 16 bits • Conversor Analógico/Digital de 10 bits e até 4 canais • 128 bytes de EEPROM • Até 3,5 Kbytes de memória de programa • Encapsulamento de 8 pinos UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 10 • Diagrama em Blocos Microcontroladores de 8 bits - Família PIC12F UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 6 Sistemas Microcontrolados pg. 11 • Organização da Memória de programa e pilha de endereços (stack) Microcontroladores de 8 bits - Família PIC12F UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 12 Microcontroladores de 8 bits - Família PIC12F • Mapa dos registradores (PIC12F675) UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 7 Sistemas Microcontrolados pg. 13 Microcontroladores de 8 bits - Família PIC16F • Núcleo de processamento de 14 bits • Até 14 Kbytes (8 Kwords) de memória de programa • Pilha de hardware de 8 níveis • Até 368 bytes de memória RAM • Arquitetura RISC de 35 instruções • Interrupção por hardware • Diversos recursos integrados, incluindo EEPROM, LCD, comunicação serial, conversor AD, soluções para toque capacitivo mTouch TM , etc. • Encapsulamento de 14 a 64 pinos UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 14 Microcontrolador 16F628A (16F627A/628A/648A) • Características • Arquitetura RISC de 35 instruções • Endereçamento direto, indireto e relativo • Clock de até 20 MHz (com cristal ou ressonador) • Clock interno de 4 MHz com precisão de 1% (calibrado de fábrica) • Oscilador interno de 48 KHz para aplicações de baixo consumo • Ciclo de máquina de 4 clock (com pipeline) • Memória de programa do tipo flash de 2048 words (1 word = 14 bits) • Memória RAM para dados de 224 bytes • Memória EEPROM para dados de 128 bytes • Instruções de 14 bits com 200 ns de tempo de execução • 15 registradores especiais • 16 pinos de I/O • Programação in-circuit serial, proteção de programa, Watchdog timer, módulo CCP, 2 comparadores internos, USART, 3 timers • Encapsulamento de 18 pinos compatível com 16F84 UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 8 Sistemas Microcontrolados pg. 15 Arquitetura interna UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 16 Encapsulamento (PDIP/SOIC 18 pinos) UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 9 Sistemas Microcontrolados pg. 17 Encapsulamento (SSOP 20 pinos) UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 18 Descrição dos Pinos UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 10 Sistemas Microcontrolados pg. 19 Descrição dos Pinos (cont) UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 20 Descrição dos Pinos (cont) UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 11 Sistemas Microcontrolados pg. 21 Mapa de Memória de Programa Mapa dos Registros de uso geral UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 22 Mapa da Memória de Dados - SFR UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 12 Sistemas Microcontrolados pg. 23 Mapa da Memória de Dados - SFR (cont.) UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 24 Registradores Especial – Banco 0 UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 13 Sistemas Microcontrolados pg. 25 Registradores Especial – Banco 1 UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 26 Registradores Especial – Banco 2 UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 14 Sistemas Microcontrolados pg. 27 Registradores Especial – Banco 3 UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 28 Set de Instruções - Microchip Familia PIC16F UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 15 Sistemas Microcontrolados pg. 29 Set de Instruções - Microchip Familia PIC16F UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 30 Microcontroladores de 8 bits Long-Range Família Long-Range Microchip 8 Bits (PIC18F) • Dispositivo Avançado → muitos recursos • Memória: • 64K Flash (Programas) • 3968 Bytes de RAM • 1024 Bytes de EEPROM • Periféricos: • USART, Timers, Conversor A/D, CCP, PSP, WDT,SPI, I2C, PWM, HLVD, USB, etc... • Pinos de I/O: • 25 (28 Pinos)ou 36 (40 Pinos) • RISC (Reduced Instruction Set Code): • 75 Instruções (assembly) UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 16 Sistemas Microcontrolados pg. 31 Microcontrolador 18F2550 / 18F4550 • Características • Arquitetura RISC de 75 instruções de 16 bits • Otimizada para linguagem C • Endereçamento direto, indireto e relativo • Múltiplas opções de clock, incluindo PLL de alta precisão para USB. • Memória de programa do tipo flash de até 32kbytes (16 kwords) • Memória RAM para dados de 2 kbytes • Memória EEPROM para dados de 256 bytes • Até 32 pinos de I/O • Watchdog timer, 2 módulos CCP incluindo um CCP melhorado, USART melhorada, 2 comparadores internos, 4 timers • Até 13 canais de Conversores AD com 10 bits de resolução • Programação in-circuit serial, proteção de programa, Encapsulamento PDIP de 28 pinos (18F2550) e 40 pinos (18f4550) UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 32 Microcontrolador 18F2620/18F4620 • Pinagem compatível com dispositivos de famílias antecessoras! UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 17 Sistemas Microcontrolados pg. 33 Diagrama de Blocos 18F2550 (PDIP 28 Pinos) • Dados de 8 Bits • Palavras de programa de 16 Bits • Arquitetura Harvard • 24 pinos de I/O UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 34 Diagrama de Blocos - 18F4620 (40 Pinos) • Dados de 8 Bits • Palavras de programa de 16 Bits • Arquitetura Harvard • 32 pinos de I/O UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 18 Sistemas Microcontrolados pg. 35 Mapa de Registadores (SFR) - 18F2620/18F4620 UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 36 Set de Instruções - Microchip Série 18 UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 19 Sistemas Microcontrolados pg. 37 Set de Instruções - Microchip Série 18 (cont.) UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 38 Set de Instruções - Microchip Série 18 (cont.) UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru 20 Sistemas Microcontrolados pg. 39 Exemplo de Programa em PIC Assembly usando PIC16F628A ; Programa: piscaLED.asm ; #include "p16f628a.inc" ; CONFIG ; __config 0xFF09 __CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _BOREN_OFF & _LVP_OFF & _CPD_OFF & _CP_OFF CONT1 equ 0x20 CONT2 equ 0x21 ORG 0 clrf PORTB bsf STATUS,RP0 bcf STATUS,RP1 clrf TRISB bcf STATUS,RP0 UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru Sistemas Microcontrolados pg. 40 Exemplo de Programa em PIC Assembly (cont) LOOP: bsf PORTB,0 call DELAY bcf PORTB,0 call DELAY goto LOOP DELAY: movlw 0XFF movwf CONT2 DE2: movlw 0XFF movwf CONT1 DE1: decfsz CONT1 goto DE1 decfsz CONT2 goto DE2 return end UNIP – Universidade Paulista – Engenharia Elétrica – Campus Bauru
Compartilhar