Anda di halaman 1dari 57

Aula 01 Informaes Gerais

Microcontroladores PIC18 Programao em C

Prof. MSc. talo Jder Loiola Batista

Universidade de Fortaleza - UNIFOR


Centro de Cincias Tecnolgicas - CCT
E-mail: italoloiola@unifor.br

Janeiro/2012

Prof. talo Loiola (CCT/UNIFOR)

Perodo e Horrio do curso


Perodo
Incio: 16/Janeiro Trmino: 27/Janeiro
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Horrio
1 aula
18h s 19h50

Intervalo
19h50 s 20h10

2 aula
20h10 s 22h
2

Prof. talo Loiola (CCT/UNIFOR)

Bibliografia para este curso


Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

R$ 114,50
3

Bibliografia Principal!!! R$ 170,00

R$ 150,00

http://www.erica.com.br

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Bibliografia para este curso

Prof. talo Loiola (CCT/UNIFOR)

Prof. talo Loiola (CCT/UNIFOR)

Objetivos
Entender a arquitetura e operao dos elementos de uma unidade processadora; Compreender o princpio bsico de funcionamento de um microcontrolador; Conhecer as interfaces bsicas entre o sistema microcontrolado e o meio externo; Ler, interpretar e desenvolver programas na linguagem C para PIC18; Compreender perifricos dos microcontroladores, como: comunicao serial, conversor analgico/digital e timer;
5
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Prof. talo Loiola (CCT/UNIFOR)

Contedo Programtico
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Unidade 01: Introduo Unidade 02: Mapeamento de Memria Unidade 03: Arquitetura Interna do PIC 18 Unidade 04: Estudos dos Sinais do PIC18 Unidade 05: Programao em C Unidade 06: Interrupes Unidade 07: Portas de E/S Unidade 08: Mdulos de Suporte a CPU Unidade 09: Timers Unidade 10: Perifricos analgicos Unidade 11: Perifricos de comunicao Unidade 12: EEPROM e Flash Unidade 13: Exemplos e projetos com PIC18

Prof. talo Loiola (CCT/UNIFOR)

Conhecimentos Necessrios
(a) Experincia em algoritmos na forma de fluxogramas e diagramas de blocos.
um tipo de diagrama, e pode ser entendido como uma representao esquemtica de um processo; Ferramentas para fazer fluxograma: Visio, Excel, Power Point, Chartist, etc..
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Prof. talo Loiola (CCT/UNIFOR)

Conhecimentos Necessrios
Tipos de dados bsicos; Testes e condies; Laos; Funes; Vetores; Ponteiros; Passagem de parmetros; Arquivos; Estruturas.
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

(b) Conhecer os recursos fundamentais da linguagem C (padro ANSI-C);

Prof. talo Loiola (CCT/UNIFOR)

Conhecimentos Necessrios
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

(b) Conhecer os recursos fundamentais da linguagem C (padro ANSI-C);

Prof. talo Loiola (CCT/UNIFOR)

Conhecimentos Necessrios
(c) Conhecer os recursos bsicos de eletrnica digital e analgica (transistores, rels, portas lgicas, leds, diodos, tenso, corrente).
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

10

Prof. talo Loiola (CCT/UNIFOR)

Conhecimentos Necessrios
(d) Manipulao de equipamentos de medio (osciloscpio, multmetros, ampermetros, etc.).
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

11

Prof. talo Loiola (CCT/UNIFOR)

Como se tornar um desenvolvedor de software embarcado (Dicas: Sergio Prado)


1. Conhecimento:
Conhecer a teoria envolvida em sistemas embarcados. Isso significa hardware e software. impossvel ser um competente desenvolvedor de software embarcado sem conhecer a fundo a arquitetura de hardware a qual esta trabalhando.
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

2. Habilidade:
Obter experincia na rea. Precisa de prtica. Pode-se decorar todos os mnemnicos do assembler do PIC, mas de nada vai adiantar se voc no souber acionar um led com este conhecimento.
12

Prof. talo Loiola (CCT/UNIFOR)

Como se tornar um desenvolvedor de software embarcado


3. Atitude:
Esta rea muito dinmica, com mudanas e evolues frequentes. Estar sempre motivado(a), ser auto-didata, gostar de aprender, "fuar" e entender como as coisas funcionam. Sem atitudes logo ir desistir logo. Porque nesta rea voc precisa ser muito persistente.
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

13

Prof. talo Loiola (CCT/UNIFOR)

Como se tornar um desenvolvedor de software embarcado (Dicas: Sergio Prado)


1. O que voc precisa aprender de hardware (pelo menos) Conhea bem pelo menos uma arquitetura de 8 bits; Aprenda pelo menos uma, e se possvel duas, arquiteturas de 32 bits; Pois a maioria dos casos estas CPUs rodam algum SO (RTOS, Linux, Windows, etc); Com um pouco de experincia e persistncia, voc vai poder avanar e comear a trabalhar com interfaces mais avanadas, como USB, Ethernet, Bluetooth, etc; 2. O que voc precisa aprender de software (pelo menos) Desenvolvimento de software em geral, e para sistemas embarcados em especfico, uma arte de fazer mais com menos. Voc precisa de habilidades para trabalhar com recursos limitados. O cdigo precisa ser mais eficiente e confivel. Conhecer pelo menos Linguagem C e Assembly.
14
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Prof. talo Loiola (CCT/UNIFOR)

Como se tornar um desenvolvedor de software embarcado


Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

3. Sistemas Operacionais A partir de certo nvel, voc ter contato com algum tipo de sistema operacional. E se no tiver oportunidade, crie uma; Temos hoje linux rodando em dispositivos to diversos como relgios, roteadores, set-top-boxes e smartphones; Em especial os smartphones, com os sistemas operacionais linuxbased Android(Google), Maemo(Nokia), Moblin(Intel) e LiMo (consrcio de empresas) brigando de frente com a Apple e a Microsoft e seus respectivos sistemas operacionais. 4. Formao Acadmica Existem muitos hobbystas que so extremamente competentes, at mais do que alguns graduados, pois gostam do que fazem, so auto-didatas e muito inventivos; No entanto, uma formao algo essencial para se desenvolver na carreira. Pois um diploma, principalmente em uma faculdade conceituada, vai ajudar a abrir muitas portas no mercado de trabalho.

15

Prof. talo Loiola (CCT/UNIFOR)

Como se tornar um desenvolvedor de software embarcado


5. Continue aprendendo e desenvolvendo seu networking! No pare no tempo. bem provvel que o que voc aprendeu hoje no vai lhe servir no ano que vem! Participar de grupos de discusses, fruns, blogs (Portal Embarcados, Embedded.com, etc) Assinar as newsletters de players do mercado (NXP, Atmel, Microchip, Freescale, etc). 6. Lio final: compartilhe! De nada adianta voc ter capacidade e conhecimento em determinada rea, se voc no pode compartilhar este conhecimento e experincia, e aprender com as experincias de outras pessoas.
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

16

Prof. talo Loiola (CCT/UNIFOR)

Softwares utilizados durante o curso


Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

IDE: MPLAB v.8.83 (editar, compilar, simular e gravar)

17

Prof. talo Loiola (CCT/UNIFOR)

Softwares utilizados durante o curso


Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Compilador: MPLAB C18

18

Prof. talo Loiola (CCT/UNIFOR)

Softwares utilizados durante o curso


Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Gravao: Tiny Bootloader (gravador)

19

Prof. talo Loiola (CCT/UNIFOR)

Softwares utilizados durante o curso


Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Simulao: Proteus 7

20

Prof. talo Loiola (CCT/UNIFOR)

Ferramentas open-source para PIC


Compilador C: SDCC
O SDCC um compilador ANSI-C otimizado para microcontroladores de pequeno porte, como 8051, Z80 e 68HC08. Segundo a pgina do projeto, o suporte a PIC est em andamento ("Work in progress") Est disponvel sob a licensa GPL para Windows, Linux e Mac. Ele apenas um compilador C, e vai apenas transformar seus arquivos ".c" em arquivos ".asm".
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Assembler e Linker GPUTILS


Esta ferramenta voltada exclusivamente para MCUs PICs; Esta ferramenta tambm est disponivel atravs da licensa GPL para Linux, Windows e Mac.
21

Prof. talo Loiola (CCT/UNIFOR)

Ferramentas open-source para PIC


IDE - Ambiente de Desenvolvimento
PiKdev, compatvel com assembly para todos os PICs e linguagem C apenas para a srie PIC18. Piklab, mais completo, bem parecido com o MPLAB, e totalmente integrado com SDCC e GPUTILS. Eclipse, ambiente mais genrico, mas pode ser extendido atravs de plugins.
Considerado ainda um pouco lento e complexo para configurar e trabalhar com projetos. Mas uma vez configurado pode se tornar um ambiente de desenvolvimento altamente produtivo.
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Kdevelop, ambiente com visual bem limpo e fcil de usar. mais genrico, mas para desenvolver em C est timo.
22

Prof. talo Loiola (CCT/UNIFOR)

Ferramentas open-source para PIC


Gravadores
PICProg, ferramenta open-source, compativel com os microcontroladores da srie PIC12/16/18.
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Simuladores
Um timo simulador open-source para PIC o GPSIM. Tambm disponibilizado sob a licena; GPL, possui tudo o que um decente simulador precisa ter (breakpoints, execuo passo-a-passo, disassembler, etc; e suporta at in-circuit emulator); Tem verses para Windows e Linux.

23

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

24

Kit de Desenvolvimento
MultiPIC Advanced
Prof. talo Loiola (CCT/UNIFOR)

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

25

Kit de Desenvolvimento
Prof. talo Loiola (CCT/UNIFOR)

Prof. talo Loiola (CCT/UNIFOR)

Kit de Desenvolvimento
Principais Recursos: Baseada no PIC18F4520; Programador USB interno por BootLoader LCD16x2 controlador padro HD44780 Teclado com 12 Teclas Conversor AD com trimpot Serial RS232 4 Displays de 7 segmentos 8 LEDS PWM
26
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Prof. talo Loiola (CCT/UNIFOR)

Kit de Desenvolvimento
Principais Recursos: Buzzer 01 Sada com Rel Memria on board E2Prom i2C tipo 24C04 Conector de expanso para ligao de placas opcionais c/ todos IOs do PIC disponveis Permite Ligao de circuitos externos Alimentado diretamente pela USB ou, fonte externa Diversos exemplos em C18 Garantia de 01 ano e suporte tcnico permanente
27
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Prof. talo Loiola (CCT/UNIFOR)

Outros Kits da SmartRadio


http://www.smartradio.com.br
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

28

Prof. talo Loiola (CCT/UNIFOR)

Outros Kits da SmartRadio


http://www.smartradio.com.br
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

29

Prof. talo Loiola (CCT/UNIFOR)

Outros Kits da SmartRadio


http://www.smartradio.com.br
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

30

Prof. talo Loiola (CCT/UNIFOR)

Outros Fabricantes de Kits


http://www.microgenios.com/ http://www.acepic.com.br/ http://www.exsto.com.br/ http://www.labtools.com.br/ http://www.cerne-tec.com.br/ http://www.farnell.com.br/
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

31

Prof. talo Loiola (CCT/UNIFOR)

Formas de gravao do PIC


Gravador externo
Gravador dedicado; Gravador universal;
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Gravador On-Board
ICSP;

Bootloader
BootLoader um processo de Auto Gravao (Self Programming) do microcontrolador; O PIC deve ser pr gravado com um Programa capaz de gravar outras regies da Memria de Programa ( e tambm Eeprom) com dados de arquivo .HEX, recebidos via serial, usb, rdio, etc; Mtodo usado no kit MultiPIC_Advanced.

32

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

33

Plano de Aula
Prof. talo Loiola (CCT/UNIFOR)

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

34

Plano de Aula
Prof. talo Loiola (CCT/UNIFOR)

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

35

Microchip
www.microchip.com
Prof. talo Loiola (CCT/UNIFOR)

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

36

Microchip Famlias de PIC

Prof. talo Loiola (CCT/UNIFOR)

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

37

Aplicaes de MCUs
Prof. talo Loiola (CCT/UNIFOR)

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

38

Aplicaes de MCUs
Prof. talo Loiola (CCT/UNIFOR)

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

39

Mercado de Trabalho (Local)

Prof. talo Loiola (CCT/UNIFOR)

Prof. talo Loiola (CCT/UNIFOR)

Mercado na China e ndia


http://revistagalileu.globo.com/Revista/Common/0,,EMI227644-17773,00INDIA+GEEK.html
"O pas campeo em nmero de engenheiros formados por ano (600 mil) "E no h nada mais sexy no pas hoje do que fazer engenharia "Engenheiros da computao superaram os mdicos e advogados na hierarquia social. Nas agncias matrimoniais, tambm so eles os mais procurados"
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

40

Prof. talo Loiola (CCT/UNIFOR)

Mercado de MCUs (Microeletrnica)


Tecnologia brasileira micrometros frente (02/06/2011)
http://www.cnpq.br/saladeimprensa/noticias/print/11/0602c.htm
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

CNPq: 60 anos de cincia

Circuitos Integrados/Brasil, lanado pelo CNPq/MCT em 2008, o Projeto de Uma Design House Especializada em Componentes Integrados para os setores Aeroespacial, de Defesa e de Comunicao Desenvolvido em parceria com a CHIPUS Microelectronics , tambm financiada pelo CI Brasil, o ZR16 o primeiro microcontrolador genuinamente brasileiro de propsito geral e para uso em escala comercial. Em termos econmicos o mercado mundial de microcontroladores chega a produzir 12 bilhes de unidades/ano. Hoje o Brasil possui um dficit de semicondutores que chega a US$ 10 bilhes ano. Isto apenas se considerarmos componentes integrados.

41

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

42

Application Notes - Microchip

Prof. talo Loiola (CCT/UNIFOR)

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

43

Application Notes - Microchip

Prof. talo Loiola (CCT/UNIFOR)

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

44

Application Notes - Microchip

Prof. talo Loiola (CCT/UNIFOR)

Prof. talo Loiola (CCT/UNIFOR)

Custo - Farnell
http://www.farnellnewark.com.br
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

45

Prof. talo Loiola (CCT/UNIFOR)

Custo - Digkey
www.mouser.com/NovasTecnologias
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

46

Prof. talo Loiola (CCT/UNIFOR)

Custo - Microchip
http://www.microchipdirect.com
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

47

Prof. talo Loiola (CCT/UNIFOR)

Exemplos de Projetos
Iluminao, alarme, controle de cargas...

Robtica
Iniciantes (Revista: Mecatrnica Fcil) Rob Mvel, Rob Inseto, Brao e Mo Robtica...

Automao de Irrigao Controle de Motor


Motor CC, Motor de Passo...

Automao Veicular
Rede CAN

Comunicao
48

Sem Fio: Zigbee, RF, WiFi, Infrared, Bluetoth... Com Fio: USB, SPI, I2C, TCP/IP...

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Automao Residencial

Prof. talo Loiola (CCT/UNIFOR)

Como escolher um MCU?


Custo; Conhecimento prvio a respeito da arquitetura, o que ir impactar no tempo de aprendizado para o desenvolvimento; Suporte do fabricante: kits de desenvolvimento, bibliotecas padro, suporte on-site etc; Existncias de possveis substitutos pino-compatveis de outros fabricantes; Continuidade de fabricao: o custo de um projeto pode inviabilizar sua produo futura se o microcontrolador no qual se baseia deixar de ser produzido e no existirem substitutos de preo compatvel no mercado; Facilidade de compra; Encapsulamentos existentes e facilidades de manufatura. Operao: Consumo, tenso de alimentao, opes de oscilador, freqncias de trabalho.
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Vrios fatores alheios exigncia do projeto precisam ser levados em considerao, dentre eles:

49

Prof. talo Loiola (CCT/UNIFOR)

Como escolher um MCU?


Todos os fatores citados e dezenas de outros devem ser meticulosamente considerados antes de se iniciar um projeto para evitar desperdcio de tempo, esforo e dinheiro.
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

50

Prof. talo Loiola (CCT/UNIFOR)

Prximos cursos (UNIFOR)


PIC Intermedirio
Previso: Abril/2012
Desenvolvimento de Aplicaes com Internet Embarcada (PIC18F87J60) Turma I
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

ARM Bsico:
Previso: Julho/2012
Microcontroladores ARM Cortex M0 (NXP) Turma I Microcontroladores ARM Cortex M3 (NXP) Turma I

Previso: Outubro/2012
Microcontroladores ARM Cortex M4 (Freescale) Turma I
51

Prof. talo Loiola (CCT/UNIFOR)

Material Didtico
CD/DVD com o seguinte contedo:
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

52

Prof. talo Loiola (CCT/UNIFOR)

Material Didtico
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

CD/DVD: \Cdigos C

53

Cdigos do Livro: ZANCO, Wagner da Silva. Microcontroladores PIC18 com Linguagem C Uma Abordagem Prtica e Objetiva, 1 ed. Ed. rica, 2010.

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

54

Material Didtico
CD/DVD: \Programas
Prof. talo Loiola (CCT/UNIFOR)

Prof. talo Loiola (CCT/UNIFOR)

Bibliografia MCU PIC


ZANCO, Wagner da Silva; Microcontroladores PIC18 com Linguagem C - Uma Abordagem Prtica e Objetiva, 1 ed. Ed. rica, 2010. PEREIRA, Fbio; Microcontroladores PIC Hardware e Software, 1 ed. Ed. rica, 2010. 18 Detalhado
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Bibliografia bsica

MIYADAIRA, Alberto Noboru; Microcontroladores PIC18 - Aprenda e Programe em Linguagem C, 1 ed. Ed. rica, 2010. Bibliografia complementar SOUZA, D. J.; Desbravando o Microcontrolador PIC18 - Recursos Avanados, 1 ed., So Paulo, Ed. rica, 2010. PEREIRA, F.; Microcontroladores PIC Programao em C, 7 ed., So Paulo, rica, 2005.
55

MRTINS, N. A. Sistemas Microcontrolados. So Paulo: Novatec, 2005.

Prof. talo Loiola (CCT/UNIFOR)

Bibliografia Linguagem C
O mais autntico de todos o livro original sobre C: B. W. Kernighan e D. M. Ritchie - C - A Linguagem de Programao
Obs.: Este um livro relativamente difcil de ler, mas a "Bblia" da linguagem.
Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT

Existem muitos livros de programao de C em portugus.

Dois outros textos mais didticos so: Herbert Schildt. C Completo e Total. MAKRON. Books do Brasil Editora Ltda. Editora McGraw-Hill Ltda. B. S. Gottfried. Programando em C. Makron.

56

Prof. talo Loiola (CCT/UNIFOR)

Prxima Aula

Aula 02 Introduo aos Microcontroladores

57

Universidade de Fortaleza UNIFOR / Centro de Cincias Tecnolgicas CCT