You are on page 1of 11

1.

0 Um pouco de Histria
1.1 Escrevendo programas em C para Microcontroladores
1.2 O papel do Compilador
1.3 Etapas de desenvolvimento e gravao de um programa em C no microcontrolador PIC

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 comunicao serial RS232 e RS485
1.6 Conversores A/D
1.7 Canal PWM
Um pouco de Histria
A liguagem C foi criada por Dennis Ritchie e Ken Thompson no Laboratrio Bell em 1972. C uma linguagem profissional e
aceita e utilizada na criao de sistemas operacionais, tais como Unix, Windows e Linux.
A linguagem de programao C tornou-se rapidamente uma das mais importantes e populares, principalmente por ser muito
poderosa, porttil e flexvel. Essa flexibilidade tem seus incovenientes de permitir que se criem programas desorganizados e
de difcil compreenso. uma linguagem de programao genrica desenvolvida para ser to eficiente e rpido quanto o
assembly e to estruturada e lgica quanto as linguagens de alto nvel (PASCAL, JAVA, etc).
C foi desenhada para que usurios possa planejar programas mais estruturados e modulares. O resultado um programa
mais legvel e documentado. Os programas em C tendem a ser bastante compactos e de execuo rpida.
A linguagem C habitualmente pe denominada general purpose, pois sua aplicao no se destina a uma rea especfica,
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 construo de compiladores de outras
linguagens.
Vamos descrever algums pontos importantes com relao as caractersticas do C:
Rapidez - possui performance semelhante as obtidas pelo assembly, pois permite acesso a memria e manipulaes de bits,
utilizando linguagem de alto nvel.
Simples - possui sintaxe simples, e nmeros de comandos reduzidos, facilitando o aprendizado da linguagem.
Portvel - a linguagem C padronizada (ANSI) no qual define padres para os compiladores. Podemos transportar nossos
programas para outras plataformas e compila-los sem alterao no cdigo.
Popular - internacionalmente conhecida e amplamente utilizada por programadores.
Modular - permite a separao do cdigo em mdulos distintos e independentes, podendo estes serem utilizados em varos
programas.
Alto Nvel - o C considerado linguagem de alto nvel, quando comparada com a linguage Assembly.
Bibliotecas Poderosas - possui diversas bibliotecas e permite a criao de novas pelo programador.
Evoluo - o C deu origem a novas linguagens de programao, como por exemplo o C++.

Escrevendo programas em C para Microcontroladores


Devido a sua qualidade, portabilidade, eficincia 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 relao a escolha da
linguagem de programao e do compilador a ser utilizada , pois a capacidade de memria de armazenamento do programa
extremamente reduzida, comparando com PC.

Programa escrito em linguagem C

Sabemos que hoje temos computadores portteis com capacidades de centenas de gigabytes de memria, nesses aspectos

Curso Online: Microcontroladore PIC Programao em C

unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

o "tamanho" do cdigo no to importante para o programador. Agora, quando estamos falando de microcontroladores
devemos tomar certas preocauses, pois microcontroladores como: PIC12C508 e PIC16C54 possuem apenas 512byte de
memria de programa e 25 byte de RAM, fato que exige do programador otimizao do cdigo e eficincia na elaborao
lgico do programa.

O papel do Compilador
A nica maneira de se comunicar com o microcontrolador atravs da linguagem de mquina, ou melhor dizendo, atravs de
cdigos de mquinas. Por tanto os programas em C devem necessariamente serem interpretados e compilados a fim de
termos como resultado os comandos de mquinas a serem gravados na memria 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.

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


Iremos utilizar o mikroc devido a sua eficincia e flexibilidade. Alm disso, este compilador possui uma extensa biblioteca de
funes prontas para controle de diversas perifricos conectados ao nosso microcontrolador PIC.
Aos escrevermos e compilarmos um programa em nosso compilador, caso o programa no tenha erros de sintaxe, ou algum
outro erro cometido pelo programador, teremos como resultado a criao do arquivo de mquina hexadecimal (extenso
.hex). Este arquivo .hex conhecido como cdigo de mquina, e ser este o arquivo a ser gravado na memria do
microcontrolador.

Etapas de desenvolvimento e gravao 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 elaborao do Fluxograma.


Estude as tarefas e funes que o microcontrolador PIC dever executar. Para melhor entendimento das funes lgicas a ser
executadas faa um fluxograma.

2 de 11

15/12/2014 00:28

Curso Online: Microcontroladore PIC Programao em C

unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

2 Fase: Edio e compilao do programa em C


A partir das informaes e funes elaborada no fluxograma, escreva seu programa em linguagem C na IDE mikroC, compile
e simule seu programa (estudaremos detalhadamente cada funo e ferramenta do mikroC mais adiante).

3 Fase: O programa compilado


Aps a compilao do seu programa em C, o compilador criar o arquivo de mquina .hex
(nomedoprograma.hex). Este o arquivo que dever ser gravado no microcontrolador PIC.

3 de 11

15/12/2014 00:28

Curso Online: Microcontroladore PIC Programao em C

unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

4 Fase: Gravao do programa no PIC


Gravar o arquivo compilado .hex no microcontrolador atravs de um gravador de microcontroladores
PIC, ou atravs de um Kit de desenvolvimento.

Estudaremos com mais detalhes nas unidades seguintes do nosso curso os processos de edio,
compilao e gravao de programas.
Durante nosso curso estudaremos basicamente 4 assuntos:
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 programao de microcontroladores PIC
Projetos e aplicaes prticas com PIC18F
Descreveremos agora algumas dos exemplos de programas e aplicaes prticas que sero estudados em nosso curso:

Kit PICgenios PIC18F - Mdulo Profissional :

Atravs deste Kit podemos desenvolver os mais variados tipos de programas, tais como:
Controle de displays LCD alfanumrico 16X2 (16 colunas por 2 linhas ) no modo 4 e 8 bits. Os displays LCD so
utilizados nas grandes maioria dos projetos eletrnicos 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 interrupes externa INT0, INT1 e INT2 do
PIC.
16 leds para controle lgico visual.
2 rels NA/NF para acionamento de cargas externas de 10A / 220V.
RTC - relgio de tempo real com bateria. Atravs desse relgio o programador poder programar temporizadores,
acionamentos programados, calendarios, entre outras aplicaes.

4 de 11

15/12/2014 00:28

Curso Online: Microcontroladore PIC Programao em C

unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

Canal Serial RS232: canal para comunicao serial com PC ou outras mquinas
Canal Serial RS232 Emulada: o programador pode emular uma serial via software e ento trabalhar com duas seriais
RS232 no seu projeto.
Canal USB 2.0 para implementaes em projetos que necessitem comunicao USB (necessrio usar PIC18F4550)
Canal PS/2: permite ligar ao microcontrolador teclado de PC ou mouse para otimizar o projeto eletrnico.
Aquecedor via PWM. O aluno poder controlar o canal PWM do PIC simulando na placa.
Sensor de temperatura LM35: o aluno poder realizar ensaios prticos com este sensor de temperatura.
Acionamento de Buzzer. Em alguns projetos indispensvel a utilizao de um alarme sonoro.
Acesso a todas as portas de expanso 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. Atravs desse circuito poderemos saber a velocidade de giro da ventoinha. (contador RPM).
Memria serial E2PROM via I2C 24C04. Este tipo de memria so muito utilizada em diversos equipamento e
mquinas.
2 trimpots para simulao e programao do canal A/D do PIC (Analgico 1 , e Analgico 2).
Canal de comunicao RS485: Protocolo muito utilizado em redes industriais e em PLC's.
Chave Load/Run para gravao ISP (gravao no prprio circuito).
Microcontrolador PIC18F452 DIP com 32Kbyte de Flash;
Canal de gravao ICSP: Conector para modo debugger e ICD2.
Regulador de tenso.
Chave Dip seletora de funes.
Suporte para displays LCD Grficos 128 x 64 controlador KS107/108.
Suporte para displays LCD Grficos 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
microcontroladores podem realizar muitas outras funes... em outras palavras, esse PIC 10!
Durante nosso treinamento iremos realizar diversas experincias prticas utilizando os recursos da linguagem C junto com
as funes da IDE mikroC.
Vamos detalhar um pouco cada experincia e conhecer um pouco mais sobre o que vamos estudar daqui por diante.

Aulas de laboratrio e experincias prticas


Veremos abaixo algumas das aplicaes prticas que iremos realizar durante nosso treinamento:

Controle de display LCD


Iremos no decorer das unidades programar o PIC para controlar e escrever mensagens publicitria nos display LCD 16X2
alfanumrico:

5 de 11

15/12/2014 00:28

Curso Online: Microcontroladore PIC Programao em C

unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

Os displays LCD so amplamente utilizados em diversos equipamentos e aparelhos. No decorrer dos estudos iremos explorar
as funes 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.
Aplicaes com displays LCD:

Equipamentos industriais

Equipamentos
domsticos

Equipamentos de
Informtica

CLPs e controladores
industriais

Equipamentos portteis

Varredura de displays de 7 segmentos


Os diplays de 7 segmentos so largamente utilizados em equipamentos como: balana, painis de mquinas industriais,
equipamentos mdicos, eletrodomsticos entre outros. Podemos controlar os displays de 7 segmentos atravs de
conversores BCD, como por exemplo o 74HC247 (decodificador BCD) ou desenvolver cdigos BCD pelo microcontrolar. Em
nosso caso, os displays esto sendo acionados por varredura.

6 de 11

15/12/2014 00:28

Curso Online: Microcontroladore PIC Programao em C

unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

Para acionar os displays de 7 segmentos, iremos utilizar o sistema de varredura, que permite atravs 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.
Aplicaes reais com displays de 7 segmentos:

Panis de equipamentos industriais


Balanas

Varredura de Teclado matriciais


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 fsicos do microcontrolador. Equipamentos de diversos tipos usam o teclado
matricial para inserir dados ao microcontrolador.

Aplicaes reais com teclados matriciais:

7 de 11

15/12/2014 00:28

Curso Online: Microcontroladore PIC Programao em C

Equipamentos Eletrodomsticos

unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

Aparelhos de som
CLPs

Acionamento de Leds
Os leds so utilizados praticamente em quase todas as aplicaes eletrnicas. Atravs dos leds podemos visualizar o status
de uma mquina, "desenhar" mensagens de textos, iluminar objetos, criar animaes visuais, entre outras aplicaes.
Iremos estudar os recursos de programao em C para controle das portas de sada disponveis no microcontroladores PIC
utilizando os leds como barramento de dados visual.

Aplicaes reais com Leds


Os leds so utilizados em diversos equipamento no mercado para as mais variadas aplicaes. Muitas das aplicaes o
microcontrolador responsvel pelo controle desses leds.

letreiros com leds

Letreiros

Controle de Iluminao de painis

Canal de comunicao serial RS232 e RS485


de grande importncia que os equipamentos eletrnicos tenham um canal de comunicao com o meio externo. Atravs de
um canal de comunicao possvel monitorar o estado do equipamento assim como enviar e receber informaes em tempo
real. Iremos aprender a utilizar o canal de comunicao serial do microcontrolador PIC realizando comunicaes de envio e
recepo de dados com o PC.

8 de 11

15/12/2014 00:28

Curso Online: Microcontroladore PIC Programao em C

unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

Aplicaes reais com Comunicao Serial RS232 e RS485

Supervisrios Industriais
Comunicao com computadores PC
Comunicao com outras mquinas

Conversor Analgico digital (A/D)


A aplicao bsica do microcontrolador PIC trabalhando com o conversor A/D abaixo simples, mas possui um grande
contedo educativo para ns neste momento. No exemplo abaixo utilizamos dois simples trimpots para variarmos o valor de
tenso no pino A/D do PIC. Este exemplo na verdade representa inumeras aplicaes prticas de equipamentos do mercado,
tais como: aparelhos de medio, leitores de sensores de temperatura, atuadores, entre outros. Criaremos programas para
controle e leitores de tenso nas unidades seguintes.

Veremos tambm como ler e interpretar valores analgicos vindo de sensores de temperatua (LM35) utilizando os recurso da
linguagem C.

9 de 11

15/12/2014 00:28

Curso Online: Microcontroladore PIC Programao em C

unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

Aplicaes reais com os conversores A/D do PIC

Sensores de proximidade

Sondas e termopares
equipamentos de medio

Controle PWM de dispositivos


Iremos simular programas de controle de largura de pulsos. Atravs do canal PWM disponvel no PIC,
podemos controlar diversos equipamentos, tais como: inversores de frequncia, estabilizadores, fonte
chaveada, controle de velocidade de motores DC, entre outras.
Nem nossos laboratrio, iremos controlar a velocidade de giro de uma ventoinha e controlar o
aquecimento de uma caraga resistiva via PWM.

Aplicaes reais com os conversores A/D do PIC

10 de 11

15/12/2014 00:28

Curso Online: Microcontroladore PIC Programao em C

unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

inversores de frequncia
Fontes chaveadas

Drive de Motores
Informaes importantes

Outros exemplos de programas tambm sero tratados e comentados em nosso curso, mas ficaro
como sendo material complementar ao aluno.
Centro de Tecnologia Microgenios - Curso de Microcontroladores PIC - Programao em C
Microgenios 1998 - 2008. Todos os direitos reservados. proibido cpia parcial ou integral desse material sem
prvio aviso. Maiores informaes: suporte@microgenios.com.br

11 de 11

15/12/2014 00:28