Você está na página 1de 10

Curso Online: Microcontroladore PIC Programação em C

Página 1 de 10

Introdução a programação

1.0 Um pouco de História

1.1 Escrevendo programas em C para Microcontroladores

1.2 O papel do Compilador

1.3 Etapas de desenvolvimento e gravação de um programa em C no microcontrolador PIC

Introdução a programação

1. 0 Kit PICgenios I

1.1 Controle de display LCD

1.2 Varredura de displays de 7 segmentos

1.3 Varredura de teclado matricial

1.4 Acionamento de leds

1.5 canal de comunicação serial RS232 e RS485

1.6 Conversores A/D

1.7 Canal PWM

Um pouco de História

A liguagem C foi criada por Dennis Ritchie e Ken Thompson no Laboratório Bell em 1972. C é uma linguagem profissional e é

aceita e utilizada na criação de sistemas operacionais, tais como Unix, Windows e Linux.

A linguagem de programação C tornou-se rapidamente uma das mais importantes e populares, principalmente por ser muito

poderosa, portátil e flexível. Essa flexibilidade tem seus incovenientes de permitir que se criem programas desorganizados e de

difícil compreensão. É uma linguagem de programação genérica desenvolvida para ser tão eficiente e rápido quanto o assembly

e tão estruturada e lógica quanto as linguagens de alto nível (PASCAL, JAVA, etc).

C foi desenhada para que usuários possa planejar programas mais estruturados e modulares. O resultado é um programa mais

legível e documentado. Os programas em C tendem a ser bastante compactos e de execução rápida.

A linguagem C habitualmente pe denominada general purpose, pois sua aplicação não se destina a uma área específica,

diferente de outras linguagem como COBOL, PASCAL, FORTRAN, entre outras, e esta é uma das grandes vantagens, pois adapta-se ao desenvolvimento de qualquer projeto. A linguagem C é utilizada para construção de compiladores de outras linguagens. Vamos descrever algums pontos importantes com relação as características do C:

Rapidez - possui performance semelhante as obtidas pelo assembly, pois permite acesso a memória e manipulações de bits, utilizando linguagem de alto nível. Simples - possui sintaxe simples, e números de comandos reduzidos, facilitando o aprendizado da linguagem. Portável - a linguagem C é padronizada (ANSI) no qual define padrões para os compiladores. Podemos transportar nossos programas para outras plataformas e compila-los sem alteração no código. Popular - internacionalmente conhecida e amplamente utilizada por programadores. Modular - permite a separação do código em módulos distintos e independentes, podendo estes serem utilizados em varíos programas. Alto Nível - o C é considerado linguagem de alto nível, quando comparada com a linguage Assembly. Bibliotecas Poderosas - possui diversas bibliotecas e permite a criação de novas pelo programador. Evolução - o C deu origem a novas linguagens de programação, como por exemplo o C++.

Escrevendo programas em C para Microcontroladores

Devido a sua qualidade, portabilidade, eficiência e controle , o C, podemos dizer, é a linguagem mais utilizada por programadores de microcontroladores. Atualmente, a maioria dos microcontroladores existentes no mercado contam com compiladores de linguagem C para o desenvolvimento de programas. Quanto estamos tratando de programas para microcontroladores, devemos tomar certos cuidados com relação a escolha da linguagem de programação e do compilador a ser utilizada , pois a capacidade de memória de armazenamento do programa é extremamente reduzida, comparando com PC.

do programa é extremamente reduzida, comparando com PC. Programa escrito em linguagem C Sabemos que hoje

Programa escrito em linguagem C

Sabemos que hoje temos computadores portáteis com capacidades de centenas de gigabytes de memória, nesses aspectos o "tamanho" do código não é tão importante para o programador. Agora, quando estamos falando de microcontroladores devemos tomar certas preocausões, pois microcontroladores como: PIC12C508 e PIC16C54 possuem apenas 512byte de memória de programa e 25 byte de RAM, fato que exige do programador otimização do código e eficiência na elaboração lógico do programa.

O papel do Compilador

Curso Online: Microcontroladore PIC Programação em C

Página 2 de 10

A única maneira de se comunicar com o microcontrolador é através da linguagem de máquina, ou melhor dizendo, através de

códigos de máquinas. Por tanto os programas em C devem necessariamente serem interpretados e compilados a fim de termos como resultado os comandos de máquinas a serem gravados na memória de programa do microcontrolador. Existem no mercado diversos compiladores de programas em C para microcontroladores PIC, tais como: HI-TECH PICC, C18, C30, CCS, SDCC, WIZ-C, mikroC, CC5, PICmicro C, entre outros. Em nosso curso iremos utilizar a IDE MikroC desenvolvido pela empresa Mikroelektronika (www.mikroe.com), no qual permite editar, compilar e simular programas em C para microcontroladores PIC da familia 12, 16 e 18.

em C para microcontroladores PIC da familia 12, 16 e 18. IDE mikroC - Editor, compilador,

IDE mikroC - Editor, compilador, simulador e debugador para PIC em linguagem C

Iremos utilizar o mikroc devido a sua eficiência e flexibilidade. Além disso, este compilador possui uma extensa biblioteca de funções prontas para controle de diversas periféricos conectados ao nosso microcontrolador PIC. Aos escrevermos e compilarmos um programa em nosso compilador, caso o programa não tenha erros de sintaxe, ou algum outro erro cometido pelo programador, teremos como resultado a criação do arquivo de máquina hexadecimal (extensão .hex). Este arquivo .hex é conhecido como código de máquina, e será este o arquivo a ser gravado na memória do microcontrolador.

Etapas de desenvolvimento e gravação de um programa em C no microcontrolador PIC

Descreveremos abaixo as etapas passo a passo para editar, compilar, simular e gravar um programa no microcontrolador PIC.

1º Fase: A elaboração do Fluxograma.

Estude as tarefas e funções que o microcontrolador PIC deverá executar. Para melhor entendimento das funções lógicas a ser executadas faça um fluxograma.

das funções lógicas a ser executadas faça um fluxograma. 2º Fase: Edição e compilação do programa

2º Fase: Edição e compilação do programa em C

A partir das informações e funções elaborada no fluxograma, escreva seu programa em linguagem C na IDE mikroC, compile e

simule seu programa (estudaremos detalhadamente cada função e ferramenta do mikroC mais adiante).

Curso Online: Microcontroladore PIC Programação em C

Página 3 de 10

Microcontroladore PIC Programação em C Página 3 de 10 3º Fase: O programa compilado Após a

3º Fase: O programa compilado Após a compilação do seu programa em C, o compilador criará o arquivo de máquina .hex (nomedoprograma.hex). Este é o arquivo que deverá ser gravado no microcontrolador PIC.

o arquivo que deverá ser gravado no microcontrolador PIC. 4º Fase: Gravação do programa no PIC

4º Fase: Gravação do programa no PIC Gravar o arquivo compilado .hex no microcontrolador através de um gravador de microcontroladores PIC, ou através de um Kit de desenvolvimento.

PIC, ou através de um Kit de desenvolvimento. Estudaremos com mais detalhes nas unidades seguintes do

Estudaremos com mais detalhes nas unidades seguintes do nosso curso os processos de edição, compilação e gravação de programas.

Durante nosso curso estudaremos basicamente 4 assuntos:

Curso Online: Microcontroladore PIC Programação em C

Página 4 de 10

O microcontrolador PIC - PIC18F452 / 4520

A IDE mikroC - editor, compilador e simulador para PIC 12, 16 e 18 em linguagem C.

Estudo da Linguagem C para programação de microcontroladores PIC

Projetos e aplicações práticas com PIC18F

Descreveremos agora algumas dos exemplos de programas e aplicações práticas que serão estudados em nosso curso:

Kit PICgenios PIC18F - Módulo Profissional :

nosso curso: Kit PICgenios PIC18F - Módulo Profissional : Através deste Kit podemos desenvolver os mais

Através deste Kit podemos desenvolver os mais variados tipos de programas, tais como:

Controle de displays LCD alfanumérico 16X2 (16 colunas por 2 linhas ) no modo 4 e 8 bits. Os displays LCD são utilizados nas grandes maioria dos projetos eletrônicos hoje em dia.

4 displays de 7 segmentos acionados por varredura.

Matriz de teclado com 12 teclas.

7 teclas de acesso direto ao pino, sendo que 3 teclas dessas simulam a interrupções externa INT0, INT1 e INT2 do PIC.

16 leds para controle lógico visual.

2 relés NA/NF para acionamento de cargas externas de 10A / 220V.

RTC - relógio de tempo real com bateria. Através desse relógio o programador poderá programar temporizadores, acionamentos programados, calendarios, entre outras aplicações.

Canal Serial RS232: canal para comunicação serial com PC ou outras máquinas

Canal Serial RS232 Emulada: o programador pode emular uma serial via software e então trabalhar com duas seriais RS232 no seu projeto.

Canal USB 2.0 para implementações em projetos que necessitem comunicação USB (necessário usar PIC18F4550)

Canal PS/2: permite ligar ao microcontrolador teclado de PC ou mouse para otimizar o projeto eletrônico.

Aquecedor via PWM. O aluno poderá controlar o canal PWM do PIC simulando na placa.

Sensor de temperatura LM35: o aluno poderá realizar ensaios práticos com este sensor de temperatura.

Acionamento de Buzzer. Em alguns projetos é indispensável a utilização de um alarme sonoro.

Acesso a todas as portas de expansão do microcontrolador PIC, que nos permite ligar outros dispositivos externos ao Kit.

Ventoinha acionada por PWM. É importante pois o aluno poderá controlar por PWM a velocidade de giro da ventoinha.

Contadores de Pulsos. Através desse circuito poderemos saber a velocidade de giro da ventoinha. (contador RPM).

Memória serial E2PROM via I2C 24C04. Este tipo de memória são muito utilizada em diversos equipamento e máquinas.

2 trimpots para simulação e programação do canal A/D do PIC (Analógico 1 , e Analógico 2).

Canal de comunicação RS485: Protocolo muito utilizado em redes industriais e em PLC's.

Chave Load/Run para gravação ISP (gravação no próprio circuito).

Microcontrolador PIC18F452 DIP com 32Kbyte de Flash;

Canal de gravação ICSP: Conector para modo debugger e ICD2.

Regulador de tensão.

Chave Dip seletora de funções.

Suporte para displays LCD Gráficos 128 x 64 controlador KS107/108.

Suporte para displays LCD Gráficos 128 x 64 controlador T6963C.

Suporta os PIC18F4xxxx, PIC18F2XX0 e os PIC16F873/876 de 28 pinos.

Sei que você deve estar pensando, nossa quanto dispositivo conectado ao microcontrolador. É verdade, mas esses

Curso Online: Microcontroladore PIC Programação em C

Página 5 de 10

microcontroladores podem realizar muitas outras funções

em outras palavras, esse PIC é 10!

Durante nosso treinamento iremos realizar diversas experiências práticas utilizando os recursos da linguagem C junto com as funções da IDE mikroC.

Vamos detalhar um pouco cada experiência e conhecer um pouco mais sobre o que vamos estudar daqui por diante.

Aulas de laboratório e experiências práticas

Veremos abaixo algumas das aplicações práticas que iremos realizar durante nosso treinamento:

Controle de display LCD

Iremos no decorer das unidades programar o PIC para controlar e escrever mensagens publicitária nos display LCD 16X2 alfanumérico:

mensagens publicitária nos display LCD 16X2 alfanumérico: Os displays LCD são amplamente utilizados em diversos

Os displays LCD são amplamente utilizados em diversos equipamentos e aparelhos. No decorrer dos estudos iremos explorar as funções do mikroC em linguagem C para controle de displays LCD. Estudaremos passo a passo como escrever mensagens de textos nos modos 4 e 8 bits.

Aplicações com displays LCD:

textos nos modos 4 e 8 bits. Aplicações com displays LCD: Equipamentos industriais Equipamentos domésticos

Equipamentos industriais

Aplicações com displays LCD: Equipamentos industriais Equipamentos domésticos Equipamentos de Informática CLPs e

Equipamentos domésticos

LCD: Equipamentos industriais Equipamentos domésticos Equipamentos de Informática CLPs e controladores

Equipamentos de

Informática

Equipamentos domésticos Equipamentos de Informática CLPs e controladores industriais Varredura de displays de 7

CLPs e controladores industriais

Varredura de displays de 7 segmentos

industriais Varredura de displays de 7 segmentos Equipamentos portáte Os diplays de 7 segmentos são

Equipamentos portáte

Os diplays de 7 segmentos são largamente utilizados em equipamentos como: balança, painéis de máquinas industriais, equipamentos médicos, eletrodomésticos entre outros. Podemos controlar os displays de 7 segmentos através de conversores BCD, como por exemplo o 74HC247 (decodificador BCD) ou desenvolver códigos BCD pelo microcontrolar. Em nosso caso, os displays estão sendo acionados por varredura.

Curso Online: Microcontroladore PIC Programação em C

Página 6 de 10

Microcontroladore PIC Programação em C Página 6 de 10 Para acionar os displays de 7 segmentos,

Para acionar os displays de 7 segmentos, iremos utilizar o sistema de varredura, que permite através de um barramento de dados de 8 bits e mais 4 pinos de acionamento, "escrever" o valor correspondente ao dado que deve ser mostrado no visor.

Aplicações reais com displays de 7 segmentos:

no visor. Aplicações reais com displays de 7 segmentos: Panéis de equipamentos industriais Varredura de Teclado

Panéis de equipamentos industriais

Varredura de Teclado matriciais

de equipamentos industriais Varredura de Teclado matriciais Balanças O sistema de varredura de teclado matricial

Balanças

O sistema de varredura de teclado matricial permite que o microcontrolador leia muitas teclas ligada ao seus pinos. O teclado matricial é muito utilizado para economizar pinos físicos do microcontrolador. Equipamentos de diversos tipos usam o teclado matricial para inserir dados ao microcontrolador.

o teclado matricial para inserir dados ao microcontrolador. mhtml:file://E:\Livros Apostilas e Cursos\Curso\Curso

Curso Online: Microcontroladore PIC Programação em C

Página 7 de 10

Aplicações reais com teclados matriciais:

Página 7 de 10 Aplicações reais com teclados matriciais: Equipamentos Eletrodomésticos A p a r e

Equipamentos Eletrodomésticos

com teclados matriciais: Equipamentos Eletrodomésticos A p a r e l h o s d e

Aparelhos de som

Acionamento de Leds

a r e l h o s d e s o m Acionamento de Leds CLPs

CLPs

Os leds são utilizados praticamente em quase todas as aplicações eletrônicas. Através dos leds podemos visualizar o status de uma máquina, "desenhar" mensagens de textos, iluminar objetos, criar animações visuais, entre outras aplicações. Iremos estudar os recursos de programação em C para controle das portas de saída disponíveis no microcontroladores PIC utilizando os leds como barramento de dados visual.

PIC utilizando os leds como barramento de dados visual. Aplicações reais com Leds Os leds são

Aplicações reais com Leds

Os leds são utilizados em diversos equipamento no mercado para as mais variadas aplicações. Muitas das aplicações é o microcontrolador responsável pelo controle desses leds.

o microcontrolador responsável pelo controle desses leds. l e t r e i r o s

letreiros com leds

leds. l e t r e i r o s c o m l e d

Letreiros

r o s c o m l e d s L e t r e i

Controle de Iluminação de painéis

Canal de comunicação serial RS232 e RS485

É de grande importância que os equipamentos eletrônicos tenham um canal de comunicação com o meio externo. Através de um canal de comunicação é possível monitorar o estado do equipamento assim como enviar e receber informações em tempo real. Iremos aprender a utilizar o canal de comunicação serial do microcontrolador PIC realizando comunicações de envio e recepção de dados com o PC.

Curso Online: Microcontroladore PIC Programação em C

Página 8 de 10

Microcontroladore PIC Programação em C Página 8 de 10 Aplicações reais com Comunicação Serial RS232 e

Aplicações reais com Comunicação Serial RS232 e RS485

Supervisórios Industriais

Comunicação com computadores PC

Comunicação com outras máquinas

Conversor Analógico digital (A/D)

A aplicação básica do microcontrolador PIC trabalhando com o conversor A/D abaixo é simples, mas possui um grande conteúdo educativo para nós neste momento. No exemplo abaixo utilizamos dois simples trimpots para variarmos o valor de tensão no pino A/D do PIC. Este exemplo na verdade representa inumeras aplicações práticas de equipamentos do mercado, tais como: aparelhos de medição, leitores de sensores de temperatura, atuadores, entre outros. Criaremos programas para controle e leitores de tensão nas unidades seguintes.

para controle e leitores de tensão nas unidades seguintes. Veremos também como ler e interpretar valores

Veremos também como ler e interpretar valores analógicos vindo de sensores de temperatua (LM35) utilizando os recurso da linguagem C.

Curso Online: Microcontroladore PIC Programação em C

Página 9 de 10

Microcontroladore PIC Programação em C Página 9 de 10 Aplicações reais com os conversores A/D do

Aplicações reais com os conversores A/D do PIC

9 de 10 Aplicações reais com os conversores A/D do PIC Sensores de proximidade S o

Sensores de proximidade

reais com os conversores A/D do PIC Sensores de proximidade S o n d a s

Sondas e termopares

Controle PWM de dispositivos

t e r m o p a r e s Controle PWM de dispositivos equipamentos de

equipamentos de medição

Iremos simular programas de controle de largura de pulsos. Através do canal PWM disponível no PIC, podemos controlar diversos equipamentos, tais como: inversores de frequência, estabilizadores, fonte chaveada, controle de velocidade de motores DC, entre outras. Nem nossos laboratório, iremos controlar a velocidade de giro de uma ventoinha e controlar o aquecimento de uma caraga resistiva via PWM.

e controlar o aquecimento de uma caraga resistiva via PWM. Aplicações reais com os conversores A/D

Aplicações reais com os conversores A/D do PIC

Curso Online: Microcontroladore PIC Programação em C

Página 10 de 10

Microcontroladore PIC Programação em C Página 10 de 10 Fontes chaveadas D r i v e

Fontes chaveadas

PIC Programação em C Página 10 de 10 Fontes chaveadas D r i v e d

Drive de Motores

chaveadas D r i v e d e M o t o r e s inversores

inversores de frequência

Informações importantes

Outros exemplos de programas também serão tratados e comentados em nosso curso, mas ficarão como sendo material complementar ao aluno.

Centro de Tecnologia Microgenios - Curso de Microcontroladores PIC - Programação em C Microgenios © 1998 - 2008. Todos os direitos reservados. É proibido cópia parcial ou integral desse material sem prévio aviso. Maiores informações: suporte@microgenios.com.br