Curso microcontroladores PIC



Documentos relacionados
Comunicação Serial com o AVR ATMEGA8

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

Cerne Tecnologia e Treinamento

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

Guia do Usuário Placa de Desenvolvimento McLab1

Cerne Tecnologia e Treinamento (21) (11) cerne@cerne-tec.com.br MSN: cerne-tec@hotmail.com Skipe: cerne-tec

1. CAPÍTULO COMPUTADORES

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações.


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

Cerne Tecnologia e Treinamento

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) /

PIC18F4550. Curso Engenharia de Controle e Automação. Alex Vidigal Bastos alexvbh@gmail.com

Plataforma de desenvolvimento dspic - SIGMA128 -

Programação em BASIC para o PIC Projetos com Display Gráfico Vitor Amadeu Souza

5 Entrada e Saída de Dados:

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Easy Lab. Manual do usuário Revisão /11/14. DMA Electronics 1

Cerne Tecnologia e Treinamento. cerne@cerne-tec.com.br MSN: cerne-tec@hotmail.com Skipe: cerne-tec.

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

Máquinas Multiníveis

Cerne Tecnologia e Treinamento

Guia do Usuário Kit USB para McLab2

Cerne Tecnologia e Treinamento

Sistemas Embarcados. Introdução aos sistemas embarcados

Manual completo Programador PRG-8051-USB

Todos os produtos são desenvolvidos e produzidos no Brasil!

Introdução aos Computadores

Conhecendo o PIC16F877 Microcontrolador de 8 bits da Microchip Co.

Alarme Automotivo com mensagem para móvel utilizando Arduino

Sistemas Microcontrolados

Kit de desenvolvimento ACEPIC 40N

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

4 Estrutura do Sistema Operacional Kernel

Seja Bem-vindo(a)! Neste módulo vamos trabalhar os principais conceitos de informática.

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

AULA2 Introdução a Microcontrolador

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

Cerne Tecnologia e Treinamento

Tecnologia da Informação. Prof Odilon Zappe Jr

Fundamentos de Hardware

Módulo de Desenvolvimento PIC16F877A

Programação C para microcontroladores PIC

Índice. Dia 05 de fevereiro de Apresentação Dia 12 de fevereiro de

Família CJ2. Novos CLPs com alta qualidade comprovada. Controladores Programáveis

Programação em BASIC para o PIC Vitor Amadeu Souza

Figura 01 Visão Geral da Placa

Componentes de um Sistema de Computador

Microcontroladores ARM Cortex-M3 - XM 700 -

KVM CPU Switch 4 Portas Manual do Usuário

FIREWIRE. O logotipo padronizado: Suas principais vantagens:

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

Manual (versão 1.4) Kit 8051 Study

Sistemas Distribuídos

Disciplina: Introdução à Informática Profª Érica Barcelos

Serial Paralela USB FireWire(IEEE1394)

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Cerne Tecnologia e Treinamento. cerne@cerne-tec.com.br MSN: cerne-tec@hotmail.com Skipe: cerne-tec.

Cerne Tecnologia e Treinamento

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

IW10. Rev.: 02. Especificações Técnicas

ARDUINO UNO Guia do Usuário

CPU Unidade Central de Processamento. História e progresso

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Programação de Periféricos

Cerne Tecnologia e Treinamento

Fundamentos de Sistemas Operacionais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Tutorial de Utilização do CellControl SMS I/O em rede DXNET com CLP Dexter µdx série 200

Copyright 2013 VW Soluções

AUTOMAÇÃO DE ESCRITÓRIOS ADE

Sistemas Operacionais


Sistemas Operacionais

Curso Técnico de Nível Médio

Application Note FBEE Comunicação Serial Wireless REV Rev01

Processadores. Prof. Alexandre Beletti Ferreira

3. Cite o nome e características do ponto mais alto e do ponto mais baixo de uma onda?

INTERFACE USB PARA PROFIBUS PA

Copyright 2011 VW Soluções

ARQUITETURA DE COMPUTADORES

Técnicas de Manutenção de Computadores

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Placa Acessório Modem Impacta

Tutorial de Utilização do CellControl SMS 200 em rede DXNET com CLP Dexter µdx série 200

Hardware de Computadores

1.1. Organização de um Sistema Computacional

Figura 1 - O computador

Gerência de Entrada/Saída

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Sistemas Computacionais II Professor Frederico Sauer

Boletim Técnico R&D 03/08 CARACTERÍSTICAS DO DRIVER MPC6006L 14 de março de 2008

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

CURSO DE PROGRAMAÇÃO EM JAVA

Controlador de Bombas modelo ABS PC 242 Monitoramento e Controle de Bombas e Estações de Bombeamento

Prof. Esp. Lucas Cruz

Transcrição:

Curso microcontroladores PIC Jean Carlos www.pk2lab.blogspot.com

Curso de microcontroladores em linguagem C 2 Baseado no microcontrolador PIC18F4550 da Microchip, compilador MikroC e placa de desenvolvimento PK2Lab. Placa de desenvolvimento para microcontroladores PIC Linhas 16F e 18F com suporte a USB 2.0

Todos os direitos reservados. Proibida a reprodução total ou parcial, por qualquer meio ou processo. Essas proibições aplicam-se também as características gráficas da obra e a sua editoração. A violação dos direitos autorais é punível como crime (art. 184 e parágrafos, do código penal, cf. Lei nº6. 895, de 17.12.80) com pena de prisão e multa, conjuntamente com busca e apreensão e indenizações diversas (artigos 102, 103 parágrafo único, 104, 105, 106 e 107 itens 1, 2, 3 da lei nº. 9.610, de 19/06/98, lei dos direitos autorais). Advertência: 3 As informações e o material contido neste livro são fornecidos sem nenhuma garantia quer explícita, ou implícita, de que o uso de tais informações conduzirá sempre ao resultado desejado. Tanto o editor quanto o autor não podem ser responsabilizados por qualquer tipo de reivindicação atribuída a erros, omissões ou qualquer outra imprecisão na informação ou material fornecido neste livro, e em nenhuma hipótese podem ser incriminados direta ou indiretamente por qualquer dano, perda, lucros cessantes, etc., devido ao uso destas informações. Todo o comércio e ou serviços aqui mencionados são marcas de propriedade de seus respectivos proprietários. Algumas das figuras expostas nesta obra são propriedades autorais de MikroElektronika e foram utilizadas com o consentimento da mesma.

Agradecimentos Agradeço a todos que de alguma maneira contribuíram para o desenvolvimento deste projeto, a minha família, pela paciência devotada e especialmente ao amigo Prof. Fábio Pereira por ter gentilmente contribuído com a revisão deste material. 4

Conteúdo Agradecimentos... 4 Introdução... 7 Microcontrolador... 8 Memórias... 12 Portas de I/O... 12 PORTA... 13 PORTB... 13 PORTC... 14 PORTD... 14 PORTE... 14 Mapas de Registradores Especiais SFRs... 15 Interrupções... 16 Linguagem C... 26 Comentários... 26 Constantes... 27 Variáveis... 27 Operadores... 28 Estrutura da linguagem C... 29 Comandos da linguagem C... 31 Comando if... 31 Comando while... 32 Comando do... 32 Comando for... 32 Comando switch... 33 Funções... 33 MikroC... 34 Criando um projeto... 35 Compilando o código... 40 Bibliotecas Internas... 41 Programando o Microcontrolador... 42 Projetos... 43 Projeto 01 Pisca LED... 43 Projeto 02 Pisca PORT... 44 5

Projeto 03 Chave e LED... 47 Projeto 04 Geração de Som... 49 Projeto 05 Display de 7 Segmentos... 50 Projeto 06 Display LCD... 53 Projeto 07 Conversor AD... 58 Projeto 08 Timers... 64 Projeto 09 Interrupções Externas... 68 Projeto 10 PWM... 71 Projeto 11 Motor de Passo... 76 Projeto 12 Comunicação Serial RS-232... 79 Projeto 13 Memória EEPROM... 84 Ferramentas do MikroC PRO... 88 Tabela ASCII... 89 Editor de EEPROM... 90 Editor de display de 7 segmentos... 90 GLCD Bitmap Editor... 91 Terminal Serial RS-232... 92 Apêndice... 93 PK2Lab - Esquema Elétrico... 93 Referências... 95 Anotações... 96 6

Introdução O curso foi elaborado com o intuito de facilitar o aprendizado de estudantes e profissionais de eletrônica e informática na criação de projetos microcontrolados. A linguagem que vamos trabalhar é a linguagem C que foi criada em 1972, por Dennis Ritchie, nos laboratórios da AT&T, e por se tratar de uma linguagem de alto nível muito poderosa e com alta portabilidade é hoje a linguagem mais utilizada nos cursos técnicos e de engenharia. Existem muitos compiladores C disponíveis atualmente no mercado, muitos deles voltados à programação em PC como o DEV-C++ que tem código fonte aberto e aceita o padrão ANSI-C, outros com o foco em sistemas embarcados, que já trazem junto ao compilador muitas bibliotecas prontas para uso com vários periféricos como displays, conversores analógicos digitais, comunicação USB, PWM, dentre tantos outros recursos, tudo isso aliado a um código enxuto e eficiente. A ferramenta MikroC, desenvolvida para empresa MikroElektronica, consiste num ambiente integrado de desenvolvimento que permite editar, simular e compilar programas para as linhas 12F, 16F e 18F da Microchip. Este compilador possui uma versão gratuita que compila códigos de até 2Kwords. 7 Uma das vantagens de se trabalhar em C com o compilador MikroC é o fato de não ter que se importar com os bancos de memória do microcontrolador pois o compilador se encarrega de gerenciar estes endereços para o usuário, outra é o fato de poder inserir partes do código em linguagem Assembly tornando o código mais rápido e eficiente. Ao ser compilado, o programa escrito em C é convertido pelo compilador em vários outros arquivos, dentre eles o próprio código escrito convertido em linguagem Assembly e o código de máquina (. hex) que é o arquivo que vamos utilizar para gravar o microcontrolador. No site www.mikroe.com é possível obter o compilador e muitas outras informações a respeito desta poderosa ferramenta que vamos utilizar durante todo nosso aprendizado. Outra grande fonte de informações é a Libstock (www.libstock.com) que possui uma quantidade enorme de códigos postados por usuários de todo o mundo que compartilham da mesma ferramenta de desenvolvimento.

Microcontrolador Os microcontroladores são os componentes mais significativos na miniaturização de equipamentos eletrônicos podendo ser encontrados em todos os tipos de equipamentos, desde cartões inteligentes a sistemas de controle de automóveis e máquinas industriais, por isto se faz tão importante saber como eles funcionam. Os microcontroladores são formados basicamente por três componentes: Dispositivos de entrada e saída: responsáveis pela interação com o mundo externo. Processador: efetua cálculos e trabalha os dados recebidos. 8 Memória: responsável por armazenar o programa e os dados. Diferentemente de um PC convencional em que cada componente deste se apresenta de forma separada sendo necessária a montagem do conjunto que forma o PC, o microcontrolador engloba todos estes componentes em um único chip, bastando apenas à conexão de displays e teclados externos para se obter um sistema funcional. Algumas das características mais importantes do microcontrolador são: Número de pinos de entradas e saídas Tamanho da memória de programa (FLASH) Tamanho da memória de dados (RAM) Tamanho da memória não volátil (EEPROM) Máxima velocidade de trabalho Quantidade de interfaces de comunicação Custo e disponibilidade O curso baseia-se no microcontrolador PIC18F4550 da Microchip que além de suprir todos os quesitos relacionados acima, possui a vantagem de ter embutido ao seu núcleo um periférico muito importante nos dias atuais, em que a porta de comunicação serial RS-232 está sendo extinguida dos notebooks e PCs, que consiste na porta USB 2.0 podendo operar tanto em velocidade Full Speed (USB 2.0) quanto em Low Speed (USB 1.1). Isto o torna um dos microcontroladores mais completos e de fácil obtenção disponíveis no mercado. Outra vantagem deste microcontrolador é o fato de possuir memória Flash possibilitando até 100.000 ciclos de escrita e ou leitura, e com a utilização do gravador USB que acompanha a placa PK2Lab, este processo é feito com grande rapidez e alta confiabilidade.

O microcontrolador PIC18F4550 é comercializado em vários tipos de encapsulamento, como PLCC, TQFP e DIP, porém a versão que iremos trabalhar é a versão DIP40 pela disponibilidade, facilidade de uso e pelo fato de a placa PK2Lab possuir um soquete ZIF de 40 pinos compatível pino a pino com este microcontrolador. Outros microcontroladores de 40 pinos da família PIC16F e PIC18F que possuem o mesmo layout podem ser utilizados na placa PK2Lab, ou seja, embora o curso seja baseado no PIC18F4550, muitos dos programas e funções citadas poderão ser implementados facilmente em outros processadores na mesma estação de desenvolvimento. 9 Outros microcontroladores já testados com a placa PK2Lab que possuem pinagem compatível com o PIC18F4550 : PIC16F877 PIC16F877A PIC16F887A PIC18F452 PIC18F4520 PIC18F4620 PIC18F4680 PIC18F4685 PIC18F43K22 (XLP) PIC18F44K22 (XLP) PIC18F45K22 (XLP) PIC18F46K22 (XLP)

Características do microcontrolador PIC18F4550 Memória de programa Flash de 32k bytes Memória de dados RAM de 2048 bytes Memória EEPROM de 256 bytes 35 Pinos de I/O Comunicação serial EUSART 13 Canais de entrada analógica de 10bits 02 Comparadores Canal de comunicação I2C Master Canal de comunicação SPI USB 2.0 Full Speed Oscilador interno selecionável de 31KHz a 8MHZ Supre ou drena até 25 ma por pino Três interrupções externas Quatro Timers internos (TMR0, TMR1, TMR2, TMR3) Dois módulos capture/compare/pwm Master Synchronous Serial Port (MSSP) Disponibilidade em padrão DIP 40 pinos Processamento de até 12MIPS* 10 Além das características listadas acima, podemos destacar o fato de este microcontrolador incorporar a tecnologia nanowatt em que o micro pode operar em várias frequências e modos diferentes para economizar energia, sendo este recurso muito útil quando temos equipamentos alimentados por baterias. Outro ponto forte deste dispositivo é a conectividade, beneficiada pela disponibilidade quatro comunicações seriais: USB, I²C, SPI e o módulo EUSART que pode operar tanto no modo síncrono como assíncrono, o que o torna ideal para aplicações embarcadas e de monitoramento que necessitem de ligação periódica com um computador PC para download/upload de dados ou atualização de firmware. Velocidade de operação Os microcontroladores PIC operam com pipeline executando uma instrução a cada quatro ciclos de máquina, porém no caso do PIC18F4550 este processo é um pouco diferente, pois existe a necessidade de se ter 48MHz para o modulo USB, esta frequência é obtida através de um PLL interno que multiplica o valor do oscilador e posteriormente o repassa aos blocos de USB e CPU, cada qual com sua frequência de trabalho independente, no nosso caso, como vamos trabalhar com um cristal de 8MHz, temos que ajustar os valores de prescaler para obtermos 48MHz nos dois blocos alcançando assim á taxa de 12MIPS* com a disponibilidade da comunicação USB trabalhando em Full Speed (12 Mb/s). * (Milhões de instruções por segundo)

Você viu apenas uma parte do nosso curso... Quer ver mais...? Quer aprender mais...? Adquira nossa Apostila completa ou realize um de nossos cursos... Afilie-se a Gente! Acesse www.esquemas.org Credibilidade e Qualidade! 100% Brasileira com projetos próprios www.esquemas.org esquemas@esquemas.org Fone/Fax: 47 3333-9667 Copyright todos os direitos reservados JL Audio www.esquemas.org