Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Fernando A. Malta Sâmia MICROCONTROLADORES SUMÁRIO INTRODUÇÃO COMPONENTES DE UM SISTEMA MICROCONTROLADO MICROCONTROLADOR PIC CARACTERÍSTICAS DE MICROCONTROLADORES PIC18F APLICAÇÕES Prof. Fernando A. Malta Sâmia INTRODUÇÃO Periféricos O microprocessador só pode se usado com outros componentes adicionados, tais como memória e dispositivos para receber e enviar dados. O microcontrolador já possui todos os periféricos necessários e normalmente são embarcados em outro dispositivo - por exemplo, um produto comercializado, para que possam controlar as funções ou ações do produto (controlador embutido). Um microcontrolador (MCU) pode ser considerado um “computador-num-chip”, pois contém um processador, memória e periféricos de entrada/saída - é um microprocessador que pode ser programado para funções específicas, em contraste com outros microprocessadores de propósito geral (como os utilizados nos PCs). O microcontrolador integra elementos adicionais em sua estrutura interna, além dos componentes lógicos e aritméticos usuais de um microprocessador, como: Memória de leitura e escrita para armazenamento de dados; Memória somente de leitura para armazenamento de programas: EEPROM para armazenamento permanente de dados; Dispositivos periféricos como: conversores analógico/digitais (ADC), conversores digitais/analógicos (DAC), interfaces de entrada e saída de dados. A programação para microprocessadores, em geral, contam com um sistema operacional e um BIOS. O desenvolvimento de sistemas com microcontroladores tem que lidar, muitas vezes, com todo o processo construtivo do aparelho: BIOS, firmware e circuitos. Prof. Fernando A. Malta Sâmia3/23 Frequência de Clock Com frequências de clock de poucos MHz (Megahertz), os microcontroladores operam a uma frequência muito baixa se comparados com os microprocessadores atuais, mas são adequados para a maioria das aplicações usuais, como controlar uma máquina de lavar roupas, uma esteira, etc.. Consumo O consumo dos microcontroladores, em geral, é relativamente pequeno, normalmente na casa dos mili-watts e possuem geralmente habilidade para entrar em modo de espera (Sleep ou Wait) aguardando por uma interrupção ou evento externo, como por exemplo, o acionamento de uma tecla, ou um sinal que chega por uma interface de dados. O consumo em modo de espera pode chegar na casa dos nanowatts, tornando-os ideais para aplicações onde a exigência de baixo consumo de energia é necessário. Custo Os projetos com microprocessadores são superdimensionados ao máximo, tendo como limite o preço que o usuário deseja investir. No caso dos microcontroladores, a escolha é feita pelo projetista do equipamento sem superdimensionar, pois cada desperdício será multiplicado pelo número de equipamentos fabricados (às vezes milhões). Existem duas linhas de pesquisa paralelas, mas opostas: Mais capazes para atender produtos de mais tecnologia como os novos celulares ou receptores de TV digital, e Mais simples e baratos para aplicações elementares (como um chaveiro que emite sons). Prof. Fernando A. Malta Sâmia4/23 COMPONENTES DE UM SISTEMA MICROCONTROLADO Um Microcontrolador é um sistema computacional completo inserido em único circuito integrado: CPU (Unidade de Processamento Central) cuja finalidade é interpretar as instruções de programa; Memória PROM (Memória Programável Somente para Leitura) utilizada para memorizar de maneira permanente as instruções do programa; Memória RAM (Memória de Acesso Aleatório) utilizada para memorizar as variáveis utilizadas pelo programa - manipulação de dados e armazenamento de instruções; Linhas de I/O para controlar dispositivos externos ou receber pulsos de sensores; Dispositivos Auxiliares ou seja, “gerador de clock” para dar sequência às atividades da CPU, portas de I/O, além de outros possíveis periféricos como: módulos de temporização, conversores analógico-digitais, conversores USB (Universal Serial Bus) ou ETHERNET. Para utilizar um Microcontrolador é necessário: Software, ou seja, desenvolvimento de um programa aplicativo para controlar um determinado processo; Hardware, ou seja, o dispositivo responsável pela interface entre o mundo externo e o microcontrolador, adaptando os níveis de tensão e corrente. Para aplicações mais simples e de valores de tensão e corrente próximos aos valores nominais do microcontrolador, é possível utilizar seus pinos de I/O (entrada e saída) diretamente interligados ao sistema. Prof. Fernando A. Malta Sâmia5/23 MICROCONTROLADOR PIC O que significa PIC? O PIC é um circuito integrado produzido pela Microchip Technology Inc., que pertence da categoria dos microcontroladores, sendo que sua sigla em inglês significa “Controlador Integrado de Periféricos”. O PIC esta disponível em uma ampla gama de modelos diferenciando-se pelo numero de linha de I/O e pelo conteúdo do dispositivo. Inicia-se com modelo pequeno dotado de 8 pinos, até modelos maiores dotados de 40 pinos. Uma descrição detalhada dos microcontroladores PIC esta disponível no site da Microchip onde encontramos grandes e variadas quantidades de informações técnicas, programas de apoio, exemplos de aplicações e atualizações disponíveis. Programação do PIC O PIC é um dispositivo programável e seu o programa tem como objetivo deixar instruções para executar as atividades definidas pelo programador. Um programa é constituído por um conjunto de instruções, em sequência, onde cada uma identificará precisamente a função básica que o PIC ira executar. Um programa escrito em linguagem assembler ou em linguagem C pode ser escrito em qualquer PC utilizando-se qualquer processador de texto que possa gerar arquivos ASCII (Word, Notpad, etc.). Prof. Fernando A. Malta Sâmia6/23 Assembly ou Assembler? Assembly é uma linguagem de programação! Não é uma linguagem de maquina. Assembler é o compilador de programas desenvolvidos em assembly. Um arquivo de texto que contenha um programa em assembler é denominado de programa fonte ou código assembly. Ambiente Integrado de Desenvolvimento No Ambiente Integrado de Desenvolvimento (I.D.E. - Integrated Development Environment), o usuário pode executar todos os procedimentos relativos ao desenvolvimento de um software para o microcontrolador, ou seja: edição, compilação, simulação e gravação. Edição: editor de texto para os programas que possui diversas ferramentas de auxílio como localizar, substituir, recortar, copiar e colar; Compilação: o conteúdo do arquivo hexadecimal gerado em assembly ou na linguagem C, instruções mnemônicas e todas as outras formas convencionais com que o código foi escrito, são compilados (traduzidos) para linguagem de máquina – ou seja, em uma serie de números (opcode) reconhecível diretamente pelo PIC. A compilação gera um arquivo com extensão .hex (hexadecimal) a partir dos arquivos de código fonte (.asm) e de projeto (.pjt). Simulação: simula o programa no próprio computador, possibilitando a execução passo a passo, visualização e edição do conteúdo dos registradores, edição de estímulos (entradas), contagem de tempo de execução, etc.. Prof. Fernando A. Malta Sâmia7/23 Emulação: a emulação é um recurso de desenvolvimento que possibilita testes em tempo real. Oferece suporte ao hardware necessário para estar emulando um determinado programa. Esta emulação é feita conectando-se, através do hardware, o computador ao sistema projetado, no lugar do PIC. Gravação: para que o programa compilado seja executado no microcontrolador, o arquivo hexadecimal deve ser gravado no PIC. Abaixo a representação do Fluxograma de Operações que deverá ser realizado para passar um código assembly à um PIC a ser programado. Prof. Fernando A. Malta Sâmia8/23 CARACTERÍSTICAS DE MICROCONTROLADORES PIC18F Larga faixa de operação (2,0V to 5,5V); Compilador C, com conjunto opcional de instruções estendidas; 100.000 ciclos de Apaga/Escreve de programa típicoem memória Flash; 1.000.000 ciclos de Apaga/Escreve de dados típicos em memória EEPROM; Mais de 13 canais do módulo conversor analógico/digital 10-Bit (A/D); 02 Módulos CCP – Capture, Compare e PWM; Memória de Programa Flash – 32K; Memória RAM – 1536 bytes; Memória EEPROM – 256 bytes; Velocidade de processamento – até 10 MIPS (Milhões de Instruções Por Segundo); Módulo MSSP (Master Synchronous Serial Port); Módulo USART. Prof. Fernando A. Malta Sâmia9/23 Características do Microcontrolador PIC 18F4550 Prof. Fernando A. Malta Sâmia Frequência de Operação Memória de Programa (Bytes) Memória de Programa (Instruções Memória de Dados (Bytes) Memória de Dados EEPROM (Bytes) Fonte de Interrupções Portas de Entrada/Saída Temporizadores Captura/Compara/Módulos PWM Captura Avançada/ Compara/Modulos PWM Comunicação Serial Módulo Serial BUS Universal (USB) Porta Paralela (SPP) Módulo Análogico/Digital 10-Bit Comparadores Resets (and Delays) Detecção de Baixa Tensão de Programação Programmable Brown-out Reset Conjunto de Instruções 83 com Conjunto de Instruções Habilitadas Encapsulamentos CARACTERÍSTICAS PIC18F4550 2 13 Canais de Entrada Yes 1 USART Avançada MSSP, 1 Stack Full, 1 4 Portas A, B, C, D, E 20 16384 32768 DC – 48 MHz POR, BOR, Instrução RESET, 256 2048 75 Instruções; 40-Pin PDIP 44-Pin QFN 44-Pin TQFP Stack Underflow (PWRT, OST), MCLR (opcional), WDT Sim Sim 10/23 Gráf1 Plan1 CARACTERÍSTICAS PIC18F4550 Frequência de Operação DC – 48 MHz Memória de Programa (Bytes) 32768 Features PIC18F4550 Memória de Programa (Instruções 16384 Operating Frequency DC – 48 MHz Memória de Dados (Bytes) 2048 Program Memory (Bytes) 32768 Memória de Dados EEPROM (Bytes) 256 Program Memory (Instructions) 16384 Fonte de Interrupções 20 Data Memory (Bytes) 2048 Portas de Entrada/Saída Portas A, B, C, D, E Data EEPROM Memory (Bytes) 256 Temporizadores 4 Interrupt Sources 20 Captura/Compara/Módulos PWM 1 I/O Ports Ports A, B, C, D, E Captura Avançada/ 1 Timers 4 Compara/Modulos PWM Capture/Compare/PWM Modules 1 Comunicação Serial MSSP, Enhanced Capture/ 1 USART Avançada Compare/PWM Modules MSSP, Módulo Serial BUS Universal (USB) 1 Universal Serial Bus (USB) 1 Porta Paralela (SPP) Yes Module Yes Módulo Análogico/Digital 10-Bit 13 Canais de Entrada Streaming Parallel Port (SPP) 13 Input Channels Comparadores 2 10-Bit Analog-to-Digital Module 2 Resets (and Delays) POR, BOR, Comparators POR, BOR, Instrução RESET, Resets (and Delays) RESET Instruction, Stack Full, Programmable Low-Voltage Stack Full, Stack Underflow Detect Stack Underflow (PWRT, OST), Programmable Brown-out Reset Yes MCLR (opcional), Instruction Set Yes WDT Packages 75 Instructions; Detecção de Baixa Tensão Sim 83 with Extended de Programação Instruction Set Programmable Brown-out Reset Sim enabled Conjunto de Instruções 75 Instruções; 40-Pin PDIP 83 com Conjunto de 44-Pin QFN Instruções Habilitadas Encapsulamentos 40-Pin PDIP 44-Pin QFN 44-Pin TQFP Plan2 Plan3 Pinagem do Microcontrolador PIC 18F4550 Prof. Fernando A. Malta Sâmia11/23 Diagrama de Bloco do Microcontrolador PIC 18F4550 Prof. Fernando A. Malta Sâmia O PIC 18F4550 possui cinco PORTs: • PORTA • PORTB • PORTC • PORTD • PORTE Cada PORT possui pinos com acesso aos periféricos como: • Conversor Analógico/Digital; • Interrupções; • I2C; • UART; • Módulo CCP; • SPI; • I/O de uso geral. 12/23 Detalhes da Pinagem do Microcontrolador PIC 18F4550 (Porta A é uma porta de entrada/saída bidirecional Prof. Fernando A. Malta Sâmia NOME NÚMERO TIPO TIPO PINO PINO PINO BUFFER MCLR/VPP/RE3 1 MCLR Entrada Schmitt Trigger Master Clear - entrada de "reset" externo, reiniciando o uC quando em nível baixo VPP Potência Entrada para tensão de programação 13V RE3 Entrada Schmitt Trigger Entrada digital OSC1/CLKI 13 OSC1 Entrada Analógica Entrada para cristal oscilador ou fonte de clock externo (resonadores). CLKI Entrada Analógica Entrada para fonte de clock externo. Sempre associado com pino função OSC1 OSC2/CLKO/RA6 14 OSC2 Saída Saída para cristal oscilador. Conecta-se ao cristal em Modo de Cristal Oscilador CLKO Saída Saida com onda quadrada em 1/4 da freqüência de OSC1, quando em modo RC, equivalente aos ciclos de instrução (máquina) internos. RA6 Entrada/Saída Lógica TTL Uso geral pino de E/S RA0/AN0 2 RA0 Entrada/Saída Lógica TTL Entrada e saída digitais AN0 Entrada Analógica Entrada analógica 0 RA1/AN1 3 RA1 Entrada/Saída Entrada TTL Entrada e saída digitais AN1 Entrada Analógica Entrada analógica 1 RA2/AN2/VREF-/CVREF 4 RA2 Entrada/Saída Entrada TTL Entrada e saída digitais AN2 Entrada Analógica Entrada analógica 2 VREF- Entrada Analógica Tensão negativa de referência analógica (A/D) VCVREF Analógica Saída de referência do comparador analógico RA3/AN3/VREF+ 5 RA3 Entrada/Saída Entrada TTL Entrada e saída digitais AN3 Entrada Analógica Entrada analógica 3 VREF+ Entrada Analógica Tensão positiva de referência analógica (A/D) RA4/T0CKI/C1OUT/RCV 6 RA4 Entrada/Saída Schmitt Trigger Entrada e saída digitais T0CKI Entrada Schmitt Trigger Entrada externa do contador TMR0 C1OUT Saída ---- Saída do comparador 1 RCV Entrada Entrada TTL USB externa RA5/AN4/SS/ HLVDIN/C2OUT RA5 Entrada/Saída Entrada TTL Entrada e saída digitais AN4 Entrada Analógica Entrada analógica 4 SS Entrada Entrada TTL Habilitação externa (Slave Select ) para comunicação SPI HLVDIN Entrada Analógica Entrada de detecção de tensão alta/baixa C2OUT Saída ---- Saída do comparador 2 RA6 ---- ---- ---- Ver o pino OSC2/CLKO/RA6 DESCRIÇÃO 7 13/23 Gráf1 Plan1 CARACTERÍSTICAS PIC18F4550 Frequência de Operação DC – 48 MHz Memória de Programa (Bytes) 32768 Features PIC18F4550 Memória de Programa (Instruções 16384 Operating Frequency DC – 48 MHz Memória de Dados (Bytes) 2048 Program Memory (Bytes) 32768 Memória de Dados EEPROM (Bytes) 256 Program Memory (Instructions) 16384 Fonte de Interrupções 20 Data Memory (Bytes) 2048 Portas de Entrada/Saída Portas A, B, C, D, E Data EEPROM Memory (Bytes) 256 Temporizadores 4 Interrupt Sources 20 Captura/Compara/Módulos PWM 1 I/O Ports Ports A, B, C, D, E Captura Avançada/ 1 Timers 4 Compara/Modulos PWM Capture/Compare/PWM Modules 1 Comunicação Serial MSSP, Enhanced Capture/ 1 USART Avançada Compare/PWM Modules MSSP, Módulo Serial BUS Universal (USB) 1Universal Serial Bus (USB) 1 Porta Paralela (SPP) Yes Module Yes Módulo Análogico/Digital 10-Bit 13 Canais de Entrada Streaming Parallel Port (SPP) 13 Input Channels Comparadores 2 10-Bit Analog-to-Digital Module 2 Resets (and Delays) POR, BOR, Comparators POR, BOR, Instrução RESET, Resets (and Delays) RESET Instruction, Stack Full, Programmable Low-Voltage Stack Full, Stack Underflow Detect Stack Underflow (PWRT, OST), Programmable Brown-out Reset Yes MCLR (opcional), Instruction Set Yes WDT Packages 75 Instructions; Detecção de Baixa Tensão Sim 83 with Extended de Programação Instruction Set Programmable Brown-out Reset Sim enabled Conjunto de Instruções 75 Instruções; 40-Pin PDIP 83 com Conjunto de 44-Pin QFN Instruções Habilitadas Encapsulamentos 40-Pin PDIP 44-Pin QFN 44-Pin TQFP Plan2 NOME NÚMERO TIPO TIPO DESCRIÇÃO PINO PINO PINO BUFFER MCLR/VPP/RE3 1 MCLR Entrada Schmitt Trigger Master Clear - entrada de "reset" externo, reiniciando o uC quando em nível baixo VPP Potência Entrada para tensão de programação 13V RE3 Entrada Schmitt Trigger Entrada digital OSC1/CLKI 13 OSC1 Entrada Analógica Entrada para cristal oscilador ou fonte de clock externo (resonadores). CLKI Entrada Analógica Entrada para fonte de clock externo. Sempre associado com pino função OSC1 OSC2/CLKO/RA6 14 OSC2 Saída Saída para cristal oscilador. Conecta-se ao cristal em Modo de Cristal Oscilador CLKO Saída Saida com onda quadrada em 1/4 da freqüência de OSC1, quando em modo RC, equivalente aos ciclos de instrução (máquina) internos. RA6 Entrada/Saída Lógica TTL Uso geral pino de E/S RA0/AN0 2 RA0 Entrada/Saída Lógica TTL Entrada e saída digitais AN0 Entrada Analógica Entrada analógica 0 RA1/AN1 3 RA1 Entrada/Saída Entrada TTL Entrada e saída digitais AN1 Entrada Analógica Entrada analógica 1 RA2/AN2/VREF-/CVREF 4 RA2 Entrada/Saída Entrada TTL Entrada e saída digitais AN2 Entrada Analógica Entrada analógica 2 VREF- Entrada Analógica Tensão negativa de referência analógica (A/D) VCVREF Analógica Saída de referência do comparador analógico RA3/AN3/VREF+ 5 RA3 Entrada/Saída Entrada TTL Entrada e saída digitais AN3 Entrada Analógica Entrada analógica 3 VREF+ Entrada Analógica Tensão positiva de referência analógica (A/D) RA4/T0CKI/C1OUT/RCV 6 RA4 Entrada/Saída Schmitt Trigger Entrada e saída digitais T0CKI Entrada Schmitt Trigger Entrada externa do contador TMR0 C1OUT Saída ---- Saída do comparador 1 RCV Entrada Entrada TTL USB externa RA5/AN4/SS/ 7 HLVDIN/C2OUT RA5 Entrada/Saída Entrada TTL Entrada e saída digitais AN4 Entrada Analógica Entrada analógica 4 SS Entrada Entrada TTL Habilitação externa (Slave Select) para comunicação SPI HLVDIN Entrada Analógica Entrada de detecção de tensão alta/baixa C2OUT Saída ---- Saída do comparador 2 RA6 ---- ---- ---- Ver o pino OSC2/CLKO/RA6 Plan3 (Porta B é bidirecional e com “pull-ups” em todos os pinos, que podem ser ligados ou desligados por software) Prof. Fernando A. Malta Sâmia NOME NÚMERO TIPO TIPO PINO PINO PINO BUFFER RB0/AN12/INT0/FLT0/ SDI/SDA RB0 Entrada/Saída Lógica TTL Entrada e saída digitais AN12 Entrada Analógica Entrada analógica 12 INT0 Entrada Schmitt Trigger Interrupção externa 0 FLT0 Entrada Schmitt Trigger Entrada falha PWM (modulo CCP1) SDI Entrada Schmitt Trigger Entrada de dados SPI SDA Entrada/Saída Schmitt Trigger Dados de entrada e saída I2C™ RB1/AN10/INT1/SCK/ SCL RB1 Entrada/Saída Lógica TTL Entrada e saída digitais AN10 Entrada Analógica Entrada analógica 10 INT1 Entrada Schmitt Trigger Interrupção externa 1 SCK Entrada/Saída Schmitt Trigger Entrada e saída clock serial assincrono para modo SPI SCL Entrada/Saída Schmitt Trigger Entrada e saída clock serial assincrono para modo I2C RB2/AN8/INT2/VMO 35 RB2 Entrada/Saída Lógica TTL Entrada e saída digitais AN8 Entrada Analógica Entrada analógica 8 INT2 Entrada Schmitt Trigger Interrupção externa 2 VMO Saída ---- USB externa (saída VMO) RB3/AN9/CCP2/VPO 36 RB3 Entrada/Saída Lógica TTL Entrada e saída digitais AN9 Entrada Analógica Entrada analógica 9 CCP2(1) Entrada/Saída Schmitt Trigger Entrada de Captura 2/Saída de Compara 2/Saída PWM2 VPO Saída ---- USB externa (saída VPO) RB4/AN11/KBI0/CSSPP 37 RB4 Entrada/Saída Lógica TTL Entrada e saída digitais AN11 Entrada Lógica TTL Entrada analógica 11 KBI0 Entrada/Saída Schmitt Trigger IInterrupção por mudança de estado RB5/KBI1/PGM 38 RB5 Entrada/Saída Entrada TTL Entrada e saída digitais KBI1 Entrada Analógica Interrupção em mudança de pino PGM Entrada Analógica Entrada para programação em baixa tensão 5V - ICSP™ RB6/KBI2/PGC 39 RB6 Entrada/Saída Entrada TTL Entrada e saída digitais KBI2 Entrada Entrada TTL Interrupção por mudança de estado PGC Entrada/Saída Schmitt Trigger Clock da programação serial ou pino "In-Circuit" ebugger RB7/KBI3/PGD 40 RB7 Entrada/Saída Entrada TTL Entrada e saída digitais KBI3 Entrada Entrada TTL Interrupção por mudança de estado PGD Entrada/Saída Schmitt Trigger Dados da programação serial ou pino de "In-Circuit" debuggr DESCRIÇÃO 33 34 14/23 Gráf1 Plan1 CARACTERÍSTICAS PIC18F4550 Frequência de Operação DC – 48 MHz Memória de Programa (Bytes) 32768 Features PIC18F4550 Memória de Programa (Instruções 16384 Operating Frequency DC – 48 MHz Memória de Dados (Bytes) 2048 Program Memory (Bytes) 32768 Memória de Dados EEPROM (Bytes) 256 Program Memory (Instructions) 16384 Fonte de Interrupções 20 Data Memory (Bytes) 2048 Portas de Entrada/Saída Portas A, B, C, D, E Data EEPROM Memory (Bytes) 256 Temporizadores 4 Interrupt Sources 20 Captura/Compara/Módulos PWM 1 I/O Ports Ports A, B, C, D, E Captura Avançada/ 1 Timers 4 Compara/Modulos PWM Capture/Compare/PWM Modules 1 Comunicação Serial MSSP, Enhanced Capture/ 1 USART Avançada Compare/PWM Modules MSSP, Módulo Serial BUS Universal (USB) 1 Universal Serial Bus (USB) 1 Porta Paralela (SPP) Yes Module Yes Módulo Análogico/Digital 10-Bit 13 Canais de Entrada Streaming Parallel Port (SPP) 13 Input Channels Comparadores 2 10-Bit Analog-to-Digital Module 2 Resets (and Delays) POR, BOR, Comparators POR, BOR, Instrução RESET, Resets (and Delays) RESET Instruction, Stack Full, ProgrammableLow-Voltage Stack Full, Stack Underflow Detect Stack Underflow (PWRT, OST), Programmable Brown-out Reset Yes MCLR (opcional), Instruction Set Yes WDT Packages 75 Instructions; Detecção de Baixa Tensão Sim 83 with Extended de Programação Instruction Set Programmable Brown-out Reset Sim enabled Conjunto de Instruções 75 Instruções; 40-Pin PDIP 83 com Conjunto de 44-Pin QFN Instruções Habilitadas Encapsulamentos 40-Pin PDIP 44-Pin QFN 44-Pin TQFP Plan2 NOME NÚMERO TIPO TIPO DESCRIÇÃO PINO PINO PINO BUFFER MCLR/VPP/RE3 8 Master Clear (entrada) ou tensão de programação (entrada) MCLR Entrada Schmitt Trigger Master Clear (Reset) de entrada. Reiniciar o dispositivo em nível baixo ativo VPP Potência Entrada de tensão de programação RE3 Entrada Schmitt Trigger Entrada digital OSC1/CLKI 9 Cristal oscilador ou entrada de clock externo. OSC1 Entrada Analógica Entrada de cristal oscilador ou entrada de fonte de relógio externo. CLKI Entrada Analógica Entrada fonte de clock externo. Sempre associado com pino função OSC1 OSC2/CLKO/RA6 10 Cristal oscilador ou saída de clock. OSC2 Saída Saída de cristal oscilador. Conecta-se ao cristal ou ressonador em Modo de Cristal Oscilador CLKO Saída Em selecionar modos, pinos de saída OSC2 e CLKO tem 1/4 da freqüência de OSC1 e denota a taxa de ciclo de instrução. RA6 Entrada/Saída Lógica TTL Uso geral pino de E/S RA0/AN0 2 (Porta A é uma porta de entrada/saída bidirecional) RA0 Entrada/Saída Lógica TTL Entrada e saída digitais AN0 Entrada Analógica Entrada analógica 0 RA1/AN1 3 RA1 Entrada/Saída Entrada TTL Entrada e saída digitais AN1 Entrada Analógica Entrada analógica 1 RA2/AN2/VREF-/CVREF 4 RA2 Entrada/Saída Entrada TTL Entrada e saída digitais AN2 Entrada Analógica Entrada analógica 2 VREF- Entrada Analógica Entrada de tensão (baixa) referência A/D VCVREF Analógica Saída de referência do comparador analógico RA3/AN3/VREF+ 5 RA3 Entrada/Saída Entrada TTL Entrada e saída digitais AN3 Entrada Analógica Entrada analógica 3 VREF+ Entrada Analógica Entrada de tensão (alta) referência A/D RA4/T0CKI/C1OUT/RCV 6 RA4 Entrada/Saída Schmitt Trigger Entrada e saída digitais T0CKI Entrada Schmitt Trigger Entrada de clock externo Timer0 C1OUT Saída ---- Saída do comparador 1 RCV Entrada Entrada TTL USB externa RA5/AN4/SS/ 7 HLVDIN/C2OUT RA5 Entrada/Saída Entrada TTL Entrada e saída digitais AN4 Entrada Analógica Entrada analógica 4 SS Entrada Entrada TTL Entrada de seleção SPI SLAVE HLVDIN Entrada Analógica Entrada de detecção de tensão alta/baixa C2OUT Saída ---- Saída do comparador 2 RA6 ---- ---- ---- Ver o pino OSC2/CLKO/RA6 Plan3 NOME NÚMERO TIPO TIPO DESCRIÇÃO PINO PINO PINO BUFFER RB0/AN12/INT0/FLT0/ 33 SDI/SDA RB0 Entrada/Saída Lógica TTL Entrada e saída digitais AN12 Entrada Analógica Entrada analógica 12 INT0 Entrada Schmitt Trigger Interrupção externa 0 FLT0 Entrada Schmitt Trigger Entrada falha PWM (modulo CCP1) SDI Entrada Schmitt Trigger Entrada de dados SPI SDA Entrada/Saída Schmitt Trigger Dados de entrada e saída I2C™ RB1/AN10/INT1/SCK/ 34 SCL RB1 Entrada/Saída Lógica TTL Entrada e saída digitais AN10 Entrada Analógica Entrada analógica 10 INT1 Entrada Schmitt Trigger Interrupção externa 1 SCK Entrada/Saída Schmitt Trigger Entrada e saída clock serial assincrono para modo SPI SCL Entrada/Saída Schmitt Trigger Entrada e saída clock serial assincrono para modo I2C RB2/AN8/INT2/VMO 35 RB2 Entrada/Saída Lógica TTL Entrada e saída digitais AN8 Entrada Analógica Entrada analógica 8 INT2 Entrada Schmitt Trigger Interrupção externa 2 VMO Saída ---- USB externa (saída VMO) RB3/AN9/CCP2/VPO 36 RB3 Entrada/Saída Lógica TTL Entrada e saída digitais AN9 Entrada Analógica Entrada analógica 9 CCP2(1) Entrada/Saída Schmitt Trigger Entrada de Captura 2/Saída de Compara 2/Saída PWM2 VPO Saída ---- USB externa (saída VPO) RB4/AN11/KBI0/CSSPP 37 RB4 Entrada/Saída Lógica TTL Entrada e saída digitais AN11 Entrada Lógica TTL Entrada analógica 11 KBI0 Entrada/Saída Schmitt Trigger IInterrupção por mudança de estado RB5/KBI1/PGM 38 RB5 Entrada/Saída Entrada TTL Entrada e saída digitais KBI1 Entrada Analógica Interrupção em mudança de pino PGM Entrada Analógica Entrada para programação em baixa tensão 5V - ICSP™ RB6/KBI2/PGC 39 RB6 Entrada/Saída Entrada TTL Entrada e saída digitais KBI2 Entrada Entrada TTL Interrupção por mudança de estado PGC Entrada/Saída Schmitt Trigger Clock da programação serial ou pino "In-Circuit" ebugger RB7/KBI3/PGD 40 RB7 Entrada/Saída Entrada TTL Entrada e saída digitais KBI3 Entrada Entrada TTL Interrupção por mudança de estado PGD Entrada/Saída Schmitt Trigger Dados da programação serial ou pino de "In-Circuit" debuggr (Porta C é bidirecional) (Porta C é bidirecional) Prof. Fernando A. Malta Sâmia NOME NÚMERO TIPO TIPO PINO PINO PINO BUFFER RC0/T1OSO/T13CKI 15 RC0 Entrada/Saída Schmitt Trigger Entrada e saída digitais T1OSO Saída ---- Saída oscilador Timer1 T13CKI Entrada Schmitt Trigger Entrada clock externo Timer1/Timer3 RC1/T1OSI/CCP2/UOE RC1 Entrada/Saída Schmitt Trigger Entrada e saída digitais T1OSI Entrada CMOS Entrada oscilador Timer1 CCP2(2) Entrada/Saída Schmitt Trigger Entrada Captura2/Saída Compara2/Saída PWM2 UOE Saída ---- Saída OE USB externo RC2/CCP1/P1A 17 RC2 Entrada/Saída Schmitt Trigger Entrada e saída digitais CCP1 Entrada/Saída Schmitt Trigger Entrada Captura1/Saída Compara1/Saída PWM1 RC4/D-/VM 23 RC4 Entrada Lógica TTL Entrada e saída digitais D- Entrada/Saída ---- Linha menos diferencial USB (entrada/saída) VM Entrada Lógica TTL USB externa (entrada VM) RC5/D+/VP 24 RC5 Entrada Lógica TTL Entrada e saída digitais D+ Entrada/Saída ---- Linha mais diferencial USB (entrada/saída) VP Saída Lógica TTL USB externa (entrada VP) RC6/TX/CK 25 RC6 Entrada/Saída Schmitt Trigger Entrada e saída digitais TX Saída ---- Transmissor assincrono EUSART CK Entrada/Saída Schmitt Trigger Clock síncrono EUSART (Ver RX/DT) RC7/RX/DT/SDO 26 RC7 Entrada/Saída Schmitt Trigger Entrada e saída digitais RX Entrada Schmitt Trigger Receptor assincrono EUSART DT Entrada/Saída Schmitt Trigger Dados síncronos EUSART (Ver TX/CK) SDO Saída ---- Saída de dados SPI VUSB 18 Potência Saída regulador de tensão 3.3V USB interno - alimentação positiva para USB VSS 12, 31 Potência USB interno. VDD 11, 32 Potência Alimentação positiva para lógica e pinos de entrada/saída Atribuição alternativa para CCP2 quando o bit de configuração não está ativo Atribuição padrão para CCP2 quando o bit de configuração CCP2MX bit está ativo DESCRIÇÃO16 15/23 Plan1 CARACTERÍSTICAS PIC18F4550 Frequência de Operação DC – 48 MHz Memória de Programa (Bytes) 32768 Memória de Programa (Instruções 16384 Memória de Dados (Bytes) 2048 Memória de Dados EEPROM (Bytes) 256 Fonte de Interrupções 20 Portas de Entrada/Saída Portas A, B, C, D, E Temporizadores 4 Captura/Compara/Módulos PWM 1 Captura Avançada/ 1 Compara/Modulos PWM Comunicação Serial MSSP, USART Avançada Módulo Serial BUS Universal (USB) 1 Porta Paralela (SPP) Yes Módulo Análogico/Digital 10-Bit 13 Canais de Entrada Comparadores 2 Resets (and Delays) POR, BOR, Instrução RESET, Stack Full, Stack Underflow (PWRT, OST), MCLR (opcional), WDT Detecção de Baixa Tensão Sim de Programação Programmable Brown-out Reset Sim Conjunto de Instruções 75 Instruções; 83 com Conjunto de Instruções Habilitadas Encapsulamentos 40-Pin PDIP 44-Pin QFN 44-Pin TQFP Plan2 NOME NÚMERO TIPO TIPO DESCRIÇÃO PINO PINO PINO BUFFER MCLR/VPP/RE3 8 Master Clear (entrada) ou tensão de programação (entrada) MCLR Entrada Schmitt Trigger Master Clear (Reset) de entrada. Reiniciar o dispositivo em nível baixo ativo VPP Potência Entrada de tensão de programação RE3 Entrada Schmitt Trigger Entrada digital OSC1/CLKI 9 Cristal oscilador ou entrada de clock externo. OSC1 Entrada Analógica Entrada de cristal oscilador ou entrada de fonte de relógio externo. CLKI Entrada Analógica Entrada fonte de clock externo. Sempre associado com pino função OSC1 OSC2/CLKO/RA6 10 Cristal oscilador ou saída de clock. OSC2 Saída Saída de cristal oscilador. Conecta-se ao cristal ou ressonador em Modo de Cristal Oscilador CLKO Saída Em selecionar modos, pinos de saída OSC2 e CLKO tem 1/4 da freqüência de OSC1 e denota a taxa de ciclo de instrução. RA6 Entrada/Saída Lógica TTL Uso geral pino de E/S RA0/AN0 2 (Porta A é uma porta de entrada/saída bidirecional) RA0 Entrada/Saída Lógica TTL Entrada e saída digitais AN0 Entrada Analógica Entrada analógica 0 RA1/AN1 3 RA1 Entrada/Saída Entrada TTL Entrada e saída digitais AN1 Entrada Analógica Entrada analógica 1 RA2/AN2/VREF-/CVREF 4 RA2 Entrada/Saída Entrada TTL Entrada e saída digitais AN2 Entrada Analógica Entrada analógica 2 VREF- Entrada Analógica Entrada de tensão (baixa) referência A/D VCVREF Analógica Saída de referência do comparador analógico RA3/AN3/VREF+ 5 RA3 Entrada/Saída Entrada TTL Entrada e saída digitais AN3 Entrada Analógica Entrada analógica 3 VREF+ Entrada Analógica Entrada de tensão (alta) referência A/D RA4/T0CKI/C1OUT/RCV 6 RA4 Entrada/Saída Schmitt Trigger Entrada e saída digitais T0CKI Entrada Schmitt Trigger Entrada de clock externo Timer0 C1OUT Saída ---- Saída do comparador 1 RCV Entrada Entrada TTL USB externa RA5/AN4/SS/ 7 HLVDIN/C2OUT RA5 Entrada/Saída Entrada TTL Entrada e saída digitais AN4 Entrada Analógica Entrada analógica 4 SS Entrada Entrada TTL Entrada de seleção SPI SLAVE HLVDIN Entrada Analógica Entrada de detecção de tensão alta/baixa C2OUT Saída ---- Saída do comparador 2 RA6 ---- ---- ---- Ver o pino OSC2/CLKO/RA6 Plan3 NOME NÚMERO TIPO TIPO DESCRIÇÃO PINO PINO PINO BUFFER RB0/AN12/INT0/FLT0/ 21 (Porta B é uma porta de entrada/saída bidirecional, pode ser programada por software por "pull-ups" internos em todas as entradas) SDI/SDA RB0 Entrada/Saída Lógica TTL Entrada e saída digitais AN12 Entrada Analógica Entrada analógica 12 INT0 Entrada Schmitt Trigger Interrupção externa 0 FLT0 Entrada Schmitt Trigger Entrada falha PWM (modulo CCP1) SDI Entrada Schmitt Trigger Entrada de dadis SPI SDA Entrada/Saída Schmitt Trigger Dados de entrada e saída I2C™ RB1/AN10/INT1/SCK/ 22 SCL RB1 Entrada/Saída Lógica TTL Entrada e saída digitais AN10 Entrada Analógica Entrada analógica 10 INT1 Entrada Schmitt Trigger Interrupção externa 1 SCK Entrada/Saída Schmitt Trigger Entrada e saída clock serial assincrono para modo SPI SCL Entrada/Saída Schmitt Trigger Entrada e saída clock serial assincrono para modo I2C RB2/AN8/INT2/VMO 23 RB2 Entrada/Saída Lógica TTL Entrada e saída digitais AN8 Entrada Analógica Entrada analógica 8 INT2 Entrada Schmitt Trigger Interrupção externa 2 VMO Saída ---- USB externa (saída VMO) RB3/AN9/CCP2/VPO 24 RB3 Entrada/Saída Lógica TTL Entrada e saída digitais AN9 Entrada Analógica Entrada analógica 9 CCP2(1) Entrada/Saída Schmitt Trigger Entrada de Captura 2/Saída de Compara 2/Saída PWM2 VPO Saída ---- USB externa (saída VPO) RB4/AN11/KBI0 25 RB4 Entrada/Saída Lógica TTL Entrada e saída digitais AN11 Entrada Lógica TTL Entrada analógica 11 KBI0 Entrada/Saída Schmitt Trigger Interrupção em mudança de pino RB5/KBI1/PGM 26 RB5 Entrada/Saída Entrada TTL Entrada e saída digitais KBI1 Entrada Analógica Interrupção em mudança de pino PGM Entrada Analógica Pino habilitação de programação baixa tensão ICSP™ RB6/KBI2/PGC 27 RB6 Entrada/Saída Entrada TTL Entrada e saída digitais KBI2 Entrada Entrada TTL Interrupção em mudança de pino PGC Entrada/Saída Schmitt Trigger Debugue "In-Circuit" e pino de clock de programação ICSP RB7/KBI3/PGD 28 RB7 Entrada/Saída Entrada TTL Entrada e saída digitais KBI3 Entrada Entrada TTL Interrupção em mudança de pino PGD Entrada/Saída Schmitt Trigger Debugue "In-Circuit" e pino de clock de programação ICSP Plan4 NOME NÚMERO TIPO TIPO DESCRIÇÃO PINO PINO PINO BUFFER RC0/T1OSO/T13CKI 15 RC0 Entrada/Saída Schmitt Trigger Entrada e saída digitais T1OSO Saída ---- Saída oscilador Timer1 T13CKI Entrada Schmitt Trigger Entrada clock externo Timer1/Timer3 RC1/T1OSI/CCP2/UOE 16 RC1 Entrada/Saída Schmitt Trigger Entrada e saída digitais T1OSI Entrada CMOS Entrada oscilador Timer1 CCP2(2)Entrada/Saída Schmitt Trigger Entrada Captura2/Saída Compara2/Saída PWM2 UOE Saída ---- Saída OE USB externo RC2/CCP1/P1A 17 RC2 Entrada/Saída Schmitt Trigger Entrada e saída digitais CCP1 Entrada/Saída Schmitt Trigger Entrada Captura1/Saída Compara1/Saída PWM1 RC4/D-/VM 23 RC4 Entrada Lógica TTL Entrada e saída digitais D- Entrada/Saída ---- Linha menos diferencial USB (entrada/saída) VM Entrada Lógica TTL USB externa (entrada VM) RC5/D+/VP 24 RC5 Entrada Lógica TTL Entrada e saída digitais D+ Entrada/Saída ---- Linha mais diferencial USB (entrada/saída) VP Saída Lógica TTL USB externa (entrada VP) RC6/TX/CK 25 RC6 Entrada/Saída Schmitt Trigger Entrada e saída digitais TX Saída ---- Transmissor assincrono EUSART CK Entrada/Saída Schmitt Trigger Clock síncrono EUSART (Ver RX/DT) RC7/RX/DT/SDO 26 RC7 Entrada/Saída Schmitt Trigger Entrada e saída digitais RX Entrada Schmitt Trigger Receptor assincrono EUSART DT Entrada/Saída Schmitt Trigger Dados síncronos EUSART (Ver TX/CK) SDO Saída ---- Saída de dados SPI VUSB 18 Potência Saída regulador de tensão 3.3V USB interno - alimentação positiva para USB VSS 12, 31 Potência USB interno. VDD 11, 32 Potência Alimentação positiva para lógica e pinos de entrada/saída Atribuição alternativa para CCP2 quando o bit de configuração não está ativo Atribuição padrão para CCP2 quando o bit de configuração CCP2MX bit está ativo Portas do Microcontrolador PIC18F4550 PORTs A, B, C, D e E são portas bidirecionais, ou seja, podem atuar como entrada e saída, conforme programação. Prof. Fernando A. Malta Sâmia16/23 34 Pinos de Entradas e Saídas do 18F4550 7 Portas Digitais Bidirecionais RAn 8 Portas Digitais Bidirecionais RBn 7 Portas Digitais Bidirecionais RCn 8 Portas Digitais Bidirecionais RDn 4 Portas Digitais Bidirecionais REn Prof. Fernando A. Malta Sâmia17/23 PORTD: pode ser uma porta de entrada e saída bidirecional ou uma porta de transmissão paralela (SPP). Se o módulo SPP está habilitado, esses pinos têm buffers de entrada TTL. PORTB: todos os pinos desta porta possuem pull-ups internos que podem ser programados (ligados ou desligados) por software. PORTE (RE3): é multiplexada com (MCLR) e está disponível apenas quando os “MCLR Resets” estão desabilitados. Vpp: é a entrada de tensão de +13V para programação do PIC. Prof. Fernando A. Malta Sâmia18/23 13 Canais Conversor A/D 10 bits, ANn Prof. Fernando A. Malta Sâmia19/23 Circuito Ressonante do 18F4550 OSC1/CLKO: Entrada para cristal oscilador ou saída de uma fonte de clock externo; OSC2/CLKO: Saída para cristal oscilador ou entrada de uma fonte de clock externo. Prof. Fernando A. Malta Sâmia20/23 O PIC18F4550 pode ser operado em doze modos distintos de oscilador, quatro desses modos envolvem a utilização de dois tipos de oscilador de uma só vez. Os usuários podem programar o FOSC3:FOSC0 por configuração de bits para selecionar um desses modos: XT cristal/ressonador; HS cristal/ressonador de alta velocidade; HSPLL cristal/ressonador de alta velocidade com PLL habilitado; CE clock externo com saída FOSC/4; ECIO clock externo com entrada e saída em RA6; ECPLL clock externo com PLL habilitado e saída FOSC/4 em RA6; ECPIO clock externo com PLL habilitado com entrada e saída em RA6; INTHS oscilador interno usado como Microcontrolador Clock Source, oscilador HS usado como fonte de clock USB; INTIO oscilador interno usado como Microcontrolador Clock Source, oscilador CE usado como fonte de clock USB, entradas e saídas digitais em RA6; INTCKO oscilador interno usado como Microcontrolador Clock Source, oscilador CE usado como fonte de clock USB e saída FOSC/4 em RA6. Prof. Fernando A. Malta Sâmia21/23 Alimentação do 18F4550 VSS: referência terra para a lógica e pinos de entrada e saída; VDD: alimentação positiva para a lógica e pinos de entrada e saída. Prof. Fernando A. Malta Sâmia22/23 APLICAÇÕES Microcontroladores são geralmente utilizados em automação e controle de produtos e periféricos, como sistemas de controle de motores automotivos, controles remotos, máquinas de escritório e residenciais, brinquedos, sistemas de supervisão, etc. Tamanho reduzido, baixo custo, pouco consumo de energia e a facilidade de desenho de aplicações, os microcontroladores são uma alternativa eficiente para controlar muitos processos e aplicações. Cerca de 50% dos microcontroladores vendidos são controladores "simples", outros 20% são processadores de sinais digitais mais especializados. Os microcontroladores podem ser encontrados em praticamente todos os dispositivos eletrônicos digitais: teclado do computador, interno ao monitor, disco rígido, relógio de pulso, rádio relógio, máquinas de lavar, forno de micro-ondas, telefone, etc.. Certamente eles foram tão ou mais importantes para a revolução dos produtos eletrônicos que os computadores. Eles permitiram a evolução de equipamentos que há anos não evoluíam, como os motores a combustão, que agora com o novo controle eletrônico podem funcionar com sistema bicombustível e poluindo menos; as máquinas fotográficas que migraram de processos químico/mecânico para circuitos com Microcontroladores + Sensores Digitais + Memória. Atualmente os microcontroladores estão escondidos dentro de inúmeros produtos. Se um forno de micro-ondas tem um LED ou visor LCD e teclado, ele contém um microcontrolador. Todos os automóveis modernos contêm ao menos 1 microcontrolador ou até 7: p.ex., o motor é controlado por um microcontrolador, bem como os freios antitravamento o controle de velocidade de viagem Prof. Fernando A. Malta Sâmia23/23 Número do slide 1 MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES MICROCONTROLADORES
Compartilhar