PIC32 Uma Nova Tecnologia

Documentos relacionados
Vitor Amadeu Souza Desenvolvimento de Layouts no Eagle

Desenvolvendo Projetos em BASIC para o Microcontrolador AT89S8252. Com base no BASCOM - Teoria e Prática. Autor: Vitor Amadeu Souza

Microcontroladores PIC16 - XM 116 -

Cerne Tecnologia e Treinamento

Cerne Tecnologia e Treinamento

Cerne Tecnologia e Treinamento. MSN: Skipe: cerne-tec.

Cerne Tecnologia e Treinamento

Introdução à robótica

Programação em linguagem C para microcontroladores ARM Cortex-M3

Cerne Tecnologia e Treinamento

Cerne. Conhecimento para o Desenvolvimento

Microcontroladores PIC18 - XM 118 -

Circuito Eletrônico. Entendendo o circuito eletrônico na robótica. domingo, 28 de agosto de 11

Periféricos do PIC - Comparadores e UART

Sistemas Embarcados:

Comunicação RC5 com o dspic Vitor Amadeu Souza

Anatomia do Arduino Bootloader

Arquitetura do Microcontrolador Atmega 328

KIT DIDÁTICO PIC-2377

Cerne Tecnologia e Treinamento

Disciplina : Microcontroladores AVR

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo.

Cerne Tecnologia e Treinamento. MSN: Skipe: cerne-tec.

Cerne Tecnologia e Treinamento (21) (11) MSN: Skipe: cerne-tec

Arquitetura PIC - PWM

Microcontrolador 8051:

Programa Trainee 2012 Módulo 4 Microcontroladores AVR

Prof. Adilson Gonzaga

Família 8051 (introdução) 2011/1

Comunicando com um teclado PS2 Vitor Amadeu Souza

INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY

Comunicação USB com o PIC Vitor Amadeu Souza

Programação em BASIC para o PIC Mostrando Mensagens no Display LCD Vitor Amadeu Souza

Data Sheet FBEE Kit V05

Laboratório de Hardware

FACULDADE LEÃO SAMPAIO

C:\Users\House\Desktop\fluxo.c 1: /****************************************************************************** 2: * Objetivo: Este projeto visa

Seqüencial de Leds utilizando o microcontrolador PIC16F628A Vitor Amadeu

Application Note FBEE Controle de Placas com entradas Analógicas REV01. 1 Rev01

Introdução ao Microcontrolador PIC

Família de Microcontroladores AVR

PLANO DE ENSINO. Período Letivo:2016-1

Placa de desenvolvimento USB AFSmartBoard utiliza PIC18F4550 da Microchip, microcontrolador com o Flash 32kb, 2048 bytes de memória RAM

Microcontroladores: Programação em C

Sistemas Digitais e Microcontrolados

Sistemas Embarcados:

MICROCONTROLADORES XM118 BANCO DE ENSAIOS PARA MICROCONTROLADORES PIC18F4550. Soluções EXSTO em Educação Tecnológica


Kit de desenvolvimento ACEPIC PRO V3.0

Programação C para Arduino

Sistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores

Conhecendo o PIC16F877 Microcontrolador de 8 bits da Microchip Co.

MICROCONTROLADORES NO RADIOAMADORISMO

Plataforma de desenvolvimento dspic - SIGMA128 -

Prática 8: Comunicação SPI. 8.1 Introdução e objetivos. 8.2 Princípios básicos do protocolo SPI

1.1 Noções básicas sobre interrupções em Microcontroladores

Comunicação Serial com o AVR ATMEGA8

Interrupções e Timers

KIT DIDÁTICO PARA MICROCONTROLADORES ARM7 - FAMÍLIA LPC 214X

LINGUAGEM C PARA O 8051

SOFTWARES PARA CONTROLE DE ROBÔ CÂMERA

Controladores do IBM-PC. Gustavo G. Parma

Lógica de Programação Completo

Sistemas Embarcados. Introdução aos sistemas embarcados

Usando display LCD tipo 16x2

Proposta de uma plataforma de monitoramento e acionamento remoto voltada para sistemas de hardware industriais utilizando LabVIEW

PLATAFORMA PARA ESTUDO EM PROGRAMAÇÃO DE MICROCONTROLADORES FAMÍLIA 8051

Desenvolvendo Websites com PHP

16F628A - The Configuration Word Jon Wilder 25 de agosto de 2011.

Curso introdutório de microcontroladores - Plataforma Arduino

Microprocessadores vs Microcontroladores

Princípio de Funcionamento

RTC Real Time Counter e Pinos do JM60

EMERSON ELETRÔNICOS 15/03/2015

SISTEMA CNC APLICADO À CARACTERIZAÇÃO DE ACOPLAMENTO INDUTIVO

Instrumentação Eletrônica

TRABALHO DE CONCLUSÃO DE CURSO TÉCNICO EM ELETRÔNICA. Reutilização de água

Descubra as SOLUÇÕES EXSTO em Educação Tecnológica

Algoritmos Fundamento e Prática

Nota de Aplicação. Suporte Técnico Brasil. Versão: 1.0

Tutorial de PIC18F aplicado a Monitoria de Sistemas Embarcados do IFCE

Terminal de Operação Cimrex 90

Sistemas Embutidos Prática. Prof. Marcos Augusto Menezes DCC/ /UFMG

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

EXPLORANDO OS RECURSOS DO MICROCONTROLADOR PIC18F4550 E SEU USO EM PRÁTICAS DE LINGUAGEM C

Binário para Decimal. Binário: = 19. Decimal:

Curso microcontroladores PIC

Criando Relatórios com PHP Pablo Dall Oglio

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Microcontroladores ARM Cortex-M3 - XM 700 -

Cerne Tecnologia e Treinamento

Controle e monitoramento da fonte de alta-tensão: proposta, desenvolvimento e estágio atual.

Interfaces Seriais. Disciplina de Microcontroladores. Prof. Rubão

Aplicações: Conversão de Códigos e Motor de Passo. Prof. Adilson Gonzaga

ezap 900 Controlador Lógico Programável ezap900/901 Diagrama esquemático Apresentação Módulo ZMB900 - Características Gerais Dados Técnicos

Projeto de Sistemas Eletrônicos

Transcrição:

VITOR AMADEU SOUZA PIC32 Uma Nova Tecnologia Com base no modelo PIC32MX320F032H Programado em C pelo Compilador C32 Microchip

Vitor Amadeu Souza 2010 by Cerne Tecnologia e Treinamento Ltda. 2010 by Vitor Amadeu Souza Nenhuma parte desta publicação poderá ser reproduzida sem autorização prévia e escrita de Cerne Tecnologia e Treinamento Ltda. Esta apostila publica nomes comerciais e marcas registradas de produtos pertencentes a diversas companhias. O editor utiliza as marcas somente para fins editoriais e em benefício dos proprietários das marcas, sem nenhuma intenção de atingir seus direitos. Direitos reservados por: Julho de 2010 Cerne Tecnologia e Treinamento Ltda Produção: Cerne Tecnologia e Treinamento E-mail da Empresa: cerne@cerne-tec.com.br Home Page: www.cerne-tec.com.br.com.br Atendimento ao Consumidor: sac@cerne-tec.com.br Contato com o Autor: vitor@cerne-tec.com.br 2

PIC32 Uma Nova Tecnologia Dedicatória Como nos meus outros livros, dedico este livro a minha querida esposa Renata Leal. 3

Vitor Amadeu Souza Agradecimentos Agradeço primeiramente a Deus por ter me possiblitado conhecer pessoas tão maravilhosas em toda a minha vida, que de fato me ajudaram a ser o que sou hoje. Agradeço em especial a minha esposa, Renata Leal, por acreditar em mim desde o primeiro dia em que nos conhecemos. 4

PIC32 Uma Nova Tecnologia Prefácio A Microchip vem lançando novidades a cada dia e a linha PIC32 faz parte deste enorme leque. Estes novos Cis, que vem equipados com recursos de microcontroladores de 32 bits estão cada dia mais fazendo parte dos novos projetos eletrônicos. Este livro, chamado de Uma Nova Tecnologia vem para apresentar ao leitor a família PIC32 de microcontroladores e a linguagem C, com base no compilador C32 desenvolvido pela própria Microchip. O PIC32 estudado é o PIC32MX320F032H em encapsulamento TQFP de 64 pinos. O livro está organizado de forma que o leitor encontrará informações importantes sobre esta família, pois os exemplos e explicações estão desenvolvidos de forma a permitir que o leitor vá galgando, da primeira a última página no desenvolvimento de projetos eletrônicos com os recursos de hardware e software propostos no PIC32 e no C32. 5

Vitor Amadeu Souza Sobre o autor Vitor Amadeu Souza nasceu em Nova Iguaçu RJ e é formado em Eletrônica e Telecomunicações residindo na mesma cidade. Atua na área de projetos eletrônicos e já desenvolveu inúmeros projetos no microcontrolador PIC, dspic, 8051, AVR, HC908 e HOLTEK como taxímetros, interfaces USB, IrDA, Ethernet, protocolo CAN, MODBUS, RS-485, RS-232, controladores de cancela, conversores de protocolo, CLPs etc. Na parte de software, desenvolveu o compilador autoeasy (utilizado em robótica educacional). Também desenvolve projetos de hardware e software voltados para a área de robótica educacional. O autor também é sócio-diretor da Cerne Tecnologia e Treinamento, empresa voltada para educação tecnológica na área de microcontroladores, linguagens de programação e desenvolvimento de layout (www.cerne-tec.com.br). 6

PIC32 Uma Nova Tecnologia Sumário Capítulo 1 Material Utilizado no Livro...12 1.1 Conhecendo as Ferramentas usadas no livro... 12 Capítulo 2 - Conhecendo o MPLAB...14 2.1 Introdução... 14 2.2 Código Básico para Programação... 23 2.3 Gravando o Microcontrolador... 27 Capítulo 3 O Microcontrolador PIC32MX320F032H...30 3.1 Entendendo o PIC32... 30 3.2 Características do PIC32MX320F032H... 36 Capítulo 4 Entendendo e Configurando os Configurations Bits...38 4.1 Os Configurations Bits do PIC32MX320F032H... 38 4.2 PLL Input Divider... 39 4.3 PLL Multiplier... 45 4.4 System PLL Output Clock Divider... 49 4.5 Oscillator Selection Bits... 54 4.5.1 XT, HS, EC... 54 4.5.2XTPLL, HSPLL, ECPLL... 57 4.5.3 FRC... 58 4.5.4 FRC/16... 60 4.5.5 FRCDIV... 61 4.5.6 FRCPLL... 63 4.5.7 LPRC... 65 4.5.8 SOSC... 66 4.6 Secondary Oscillator Enable... 67 4.7 Internal / External Switch Over... 68 4.8 Primary Oscillator Configuration... 68 7

Vitor Amadeu Souza 4.9 CLKO Output Signal... 69 4.10 Peripheral Clock Divisor... 70 4.11 Clock Switching and Monitor Selection... 73 4.12 Watchdog Timer Enable e Postscaler... 76 4.13 ICE/ICD Comm Channel Select... 77 4.14 Boot Flash Write Protect... 79 4.15 Code Protect... 80 4.16 Configurando o Configuration Bits no Programa C... 81 4.17 Configuration Bits Usados no Livro... 96 4.18 Exercícios... 98 Capítulo 5 Linguagem C... 102 5.1 Introdução... 102 5.2 Variáveis... 102 5.3 Constantes... 118 5.4 Vetores... 121 5.5 Matrizes... 124 5.6 Declaração If... 126 5.7 Declaração Switch... 128 5.8 Comando For... 139 5.9 Comando While... 144 5.10 Comando Do While... 147 5.11 Outros Operadores da Linguagem... 148 5.11.1 Operador Aritmético... 148 5.11.2 Operador de Bit... 152 5.11.3 Operador Lógico... 155 5.12 Conhecendo Outros Recursos do MPLAB... 156 5.13 Exercícios... 158 Capítulo 6 Funções do C32... 159 8

PIC32 Uma Nova Tecnologia 6.1 Funções Matemáticas... 159 6.2 Manipulação de Caracteres... 171 Capítulo 7 Funções do Usuário... 180 7.1 Introdução... 180 7.2 Exercícios... 186 Capítulo 8 Explorando os I/Os do PIC32... 187 8.1 Introdução... 187 8.2 Registradores de Configurações de I/O... 188 8.2.1 PORTE... 189 8.2.2 PORTG, PORTB, PORTF, PORTC e PORTD... 203 8.3 Simulação... 215 8.4 Desafios... 219 Capítulo 9 Timers de 16 Bits... 220 9.1 Introdução... 220 9.2 Timer1... 222 9.3 Timer2, Timer3, Timer4 e Timer5... 241 Capítulo 10 Timers de 32 Bits... 250 10.1 Introdução... 250 Capítulo 11 Compare... 258 11.1 Introdução... 258 11.2 Modo 000, Compare Desabilitado... 261 11.3 Modo 001, Pino 0C1 Inicia em 0 e Salta para 1 em Evento de Comparação... 261 11.4 Modo 010, Pino 0C1 Inicia em 1 e Salta para 0 em Evento de Comparação... 264 11.5 Modo 011, Pino 0C1 é Invertido em Evento de Comparação... 267 11.6 Modo 100, Modo de Geração de Pulso Simples... 269 11.7 Modo 101, Modo de Geração de Pulso Continua... 271 9

Vitor Amadeu Souza 11.8 Modo 110, Modo PWM sem Pino de Fault... 273 11.9 Modo 111, Modo PWM com Pino de Fault... 276 Capítulo 12 UART... 280 12.1 Introdução... 280 12.2 Registradores Utilizados... 283 Capítulo 12 UART... 305 13.1 Introdução... 305 13.2 Interrupção Externa 0... 308 13.3 Interrupção Externa 1... 316 13.4 Interrupção Externa 2... 320 13.5 Interrupção Externa 3... 324 13.6 Interrupção Externa 4... 328 13.7 Interrupção de Timer1... 335 13.8 Interrupção de Timer2, Timer3, Timer4 e Timer5... 339 13.9 Interrupção de Mudança de Estado... 347 13.10 Interrupção Input Capture 1,2,3,4 e 5... 353 13.11 Interrupção de Output Compare 1, 2, 3, 4 e 5... 361 13.12 Interrupção de Transmissão e Recepção Serial... 368 13.13 Interrupção de Conversão AD... 372 Capítulo 14 Capture... 375 14.1 Introdução... 375 14.2 000 Modo de Captura Desabilitado... 379 14.3 001 Modo de Detecção de Borda de Subida ou Descida... 379 14.4 010 Modo de Captura na Borda de Descida... 382 14.5 011 Modo de Captura na Borda de Subida... 384 14.6 100 Modo de Captura na Quarta Borda de Subida... 386 14.7 101 Modo de Captura na Décima-Sexta Borda de Subida... 389 14.8 110 Modo de Captura Simples... 391 10

PIC32 Uma Nova Tecnologia 14.9 111 Modo de Interrupção... 393 14.10 Capture2, Capture3, Capture4 e Capture5... 393 Capítulo 15 Modo de Tensão de Referência... 399 15.1 Introdução... 399 Capítulo 16 Comparador... 404 16.1 Introdução... 404 Capítulo 17 Conversor AD... 418 17.1 Introdução... 418 Apêndice 1 Resposta dos Exercícios... 452 Apêndice 2 Esquema Elétrico do Kit Cerne PIC32... 456 11