-
1.0 Um pouco de Histria1.1 Escrevendo programas em C para
Microcontroladores1.2 O papel do Compilador1.3 Etapas de
desenvolvimento e gravao de um programa em C no microcontrolador
PIC
1. 0 Kit PICgenios I1.1 Controle de display LCD1.2 Varredura de
displays de 7 segmentos1.3 Varredura de teclado matricial1.4
Acionamento de leds1.5 canal de comunicao serial RS232 e RS4851.6
Conversores A/D1.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
muitopoderosa, porttil e flexvel. Essa flexibilidade tem seus
incovenientes de permitir que se criem programas desorganizados ede
difcil compreenso. uma linguagem de programao genrica desenvolvida
para ser to eficiente e rpido quanto oassembly 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 programamais 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,
poisadapta-se ao desenvolvimento de qualquer projeto. A linguagem C
utilizada para construo de compiladores de outraslinguagens.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
nossosprogramas 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
varosprogramas.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 porprogramadores 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 dalinguagem 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
1 de 11 15/12/2014 00:28
-
o "tamanho" do cdigo no to importante para o programador. Agora,
quando estamos falando de microcontroladoresdevemos tomar certas
preocauses, pois microcontroladores como: PIC12C508 e PIC16C54
possuem apenas 512byte dememria de programa e 25 byte de RAM, fato
que exige do programador otimizao do cdigo e eficincia na
elaboraolgico do programa.
O papel do Compilador
A nica maneira de se comunicar com o microcontrolador atravs da
linguagem de mquina, ou melhor dizendo, atravs decdigos de mquinas.
Por tanto os programas em C devem necessariamente serem
interpretados e compilados a fim determos 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
permiteeditar, 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 defunes
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
algumoutro 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 domicrocontrolador.
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 microcontroladorPIC. 1
Fase: A elaborao do Fluxograma.Estude as tarefas e funes que o
microcontrolador PIC dever executar. Para melhor entendimento das
funes lgicas a serexecutadas faa um fluxograma.
Curso Online: Microcontroladore PIC Programao em C
unmht://unmht/file.5/D:/Curso Microgenios/Microgenius
curso/Unidade...
2 de 11 15/12/2014 00:28
-
2 Fase: Edio e compilao do programa em CA partir das informaes e
funes elaborada no fluxograma, escreva seu programa em linguagem C
na IDE mikroC, compilee simule seu programa (estudaremos
detalhadamente cada funo e ferramenta do mikroC mais adiante).
3 Fase: O programa compiladoAps 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.
Curso Online: Microcontroladore PIC Programao em C
unmht://unmht/file.5/D:/Curso Microgenios/Microgenius
curso/Unidade...
3 de 11 15/12/2014 00:28
-
4 Fase: Gravao do programa no PICGravar o arquivo compilado .hex
no microcontrolador atravs de um gravador de microcontroladoresPIC,
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 / 4520A IDE mikroC - editor,
compilador e simulador para PIC 12, 16 e 18 em linguagem C.Estudo
da Linguagem C para programao de microcontroladores PICProjetos 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 soutilizados 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 doPIC.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.
Curso Online: Microcontroladore PIC Programao em C
unmht://unmht/file.5/D:/Curso Microgenios/Microgenius
curso/Unidade...
4 de 11 15/12/2014 00:28
-
Canal Serial RS232: canal para comunicao serial com PC ou outras
mquinasCanal Serial RS232 Emulada: o programador pode emular uma
serial via software e ento trabalhar com duas seriaisRS232 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 aoKit. 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 emquinas.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 essesmicrocontroladores
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 comas 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 16X2alfanumrico:
Curso Online: Microcontroladore PIC Programao em C
unmht://unmht/file.5/D:/Curso Microgenios/Microgenius
curso/Unidade...
5 de 11 15/12/2014 00:28
-
Os displays LCD so amplamente utilizados em diversos
equipamentos e aparelhos. No decorrer dos estudos iremos exploraras
funes do mikroC em linguagem C para controle de displays LCD.
Estudaremos passo a passo como escrevermensagens de textos nos
modos 4 e 8 bits. Aplicaes com displays LCD:
Equipamentos industriais
Equipamentosdomsticos Equipamentos de
Informtica CLPs e controladoresindustriais
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
deconversores BCD, como por exemplo o 74HC247 (decodificador BCD)
ou desenvolver cdigos BCD pelo microcontrolar. Emnosso caso, os
displays esto sendo acionados por varredura.
Curso Online: Microcontroladore PIC Programao em C
unmht://unmht/file.5/D:/Curso Microgenios/Microgenius
curso/Unidade...
6 de 11 15/12/2014 00:28
-
Para acionar os displays de 7 segmentos, iremos utilizar o
sistema de varredura, que permite atravs de um barramento dedados
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 tecladomatricial muito utilizado para
economizar pinos fsicos do microcontrolador. Equipamentos de
diversos tipos usam o tecladomatricial para inserir dados ao
microcontrolador.
Aplicaes reais com teclados matriciais:
Curso Online: Microcontroladore PIC Programao em C
unmht://unmht/file.5/D:/Curso Microgenios/Microgenius
curso/Unidade...
7 de 11 15/12/2014 00:28
-
Equipamentos Eletrodomsticos Aparelhos de som
CLPs
Acionamento de Leds Os leds so utilizados praticamente em quase
todas as aplicaes eletrnicas. Atravs dos leds podemos visualizar o
statusde 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 PICutilizando 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 omicrocontrolador responsvel pelo controle desses
leds.
letreiros com ledsLetreiros 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 deum canal de comunicao possvel monitorar o estado
do equipamento assim como enviar e receber informaes em temporeal.
Iremos aprender a utilizar o canal de comunicao serial do
microcontrolador PIC realizando comunicaes de envio erecepo de
dados com o PC.
Curso Online: Microcontroladore PIC Programao em C
unmht://unmht/file.5/D:/Curso Microgenios/Microgenius
curso/Unidade...
8 de 11 15/12/2014 00:28
-
Aplicaes reais com Comunicao Serial RS232 e RS485
Supervisrios IndustriaisComunicao com computadores PCComunicao
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 grandecontedo educativo
para ns neste momento. No exemplo abaixo utilizamos dois simples
trimpots para variarmos o valor detenso 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 paracontrole e leitores de tenso nas unidades
seguintes.
Veremos tambm como ler e interpretar valores analgicos vindo de
sensores de temperatua (LM35) utilizando os recurso dalinguagem
C.
Curso Online: Microcontroladore PIC Programao em C
unmht://unmht/file.5/D:/Curso Microgenios/Microgenius
curso/Unidade...
9 de 11 15/12/2014 00:28
-
Aplicaes reais com os conversores A/D do PIC
Sensores de proximidade Sondas e termoparesequipamentos 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,
fontechaveada, controle de velocidade de motores DC, entre
outras.Nem nossos laboratrio, iremos controlar a velocidade de giro
de uma ventoinha e controlar oaquecimento de uma caraga resistiva
via PWM.
Aplicaes reais com os conversores A/D do PIC
Curso Online: Microcontroladore PIC Programao em C
unmht://unmht/file.5/D:/Curso Microgenios/Microgenius
curso/Unidade...
10 de 11 15/12/2014 00:28
-
Fontes chaveadas Drive de Motoresinversores de frequncia
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
CMicrogenios 1998 - 2008. Todos os direitos reservados. proibido
cpia parcial ou integral desse material semprvio aviso. Maiores
informaes: [email protected]
Curso Online: Microcontroladore PIC Programao em C
unmht://unmht/file.5/D:/Curso Microgenios/Microgenius
curso/Unidade...
11 de 11 15/12/2014 00:28