SlideShare a Scribd company logo
1 of 24
Download to read offline
Cícero Lima.
- 1 -
ÍNDICE
Introdução............................................................................................. 01
Hardware............................................................................................... 02
Softwares.............................................................................................. 04
O Programador..................................................................................... 10
O Porgramador JDM........................................................................... 10
Circuito de alimetação......................................................................... 11
Programa nº 1 Pisca-pisca com LED.................................................. 13
Gravar um programa no Microcontrolador........................................ 14
Instalar um simulador......................................................................... 16
Testar um programa no Simulador.................................................... 16
Programa nº 2 Botão............................................................................ 19
Programa nº 3 Interruptores ou sensores............................................ 19
Programa nº 4 Criar uma melodia....................................................... 20
Programa nº 5 LCD’s............................................................................ 20
Programanº 6 Sequêncial..................................................................... 21
Lista de Comandos............................................................................... 22
Bibliografia............................................................................................ 23
Introdução
Um microcontrolador (uC) é um computador em um chip, contendo um
processador, memória e periféricos de entrada e saída. É um microprocessador
que pode ser programado para funções específicas, em contraste com outros
microprocessadores de propósito geral. Eles são embarcados no interior de
diversos dispositivos elétricos e eletrônicos para que possam controlar as
funções e ações do aparelho.
Os microcontroladores se diferenciam dos processadores, porque além dos
componentes lógicos e aritméticos de um microprocessador, o
microcontrolador integra elementos adicionais em sua estrutura interna, como
memória de leitura e escrita para armazenamento de dados, memória somente
de leitura para armazenamento de programas, EEPROM para armazenamento
permanente de dados, dispositivos periféricos como conversores
analógico/digitais (ADC), conversores digitais/analógicos (DAC) em alguns
casos; e, interfaces de entrada e saída de dados.
- 2 -
Os PIC16F627 e PIC16F628 são microcontroladores produzidos pela Microchip
Technology e que pertencem à sua família PIC de microcontroladores. Ambos
possuem características semelhantes diferindo apenas na sua capacidade de
memória flash disponível para o software. O PIC16F627 possui 1024 palavras
de 14 bits enquanto que o PIC16F628 dispõe de 2048 palavras de 14 bits
sendo compatíveis em todos os outros aspectos. Ambos possuem 224 bytes de
Memória RAM e 128 bytes de memória EEPROM.
Distribuição do hardware interno de um uC-PIC
Não entraremos em detalhes de arquiteturas e outros elementos concernentes
ao estudo do Microcontroladores, pois o objetivo aqui é fazer uma introdução
prática ao Hardware e Software, bem como, Programação, gravação e
montagem dos circuitos utilizando os uC-PIC’s.
Hardware
Na hora de montar o circuito, devemos saber o que queremos que ele faça,
pois é apartir desse ponto que podemos ter uma idéia de como será o
programa que vamos gravar no PIC.
Os uC’s-PIC não são componentes com grandes vulnerabilidades relacionadas
as grandezas elétricas; no entanto, devemos obedecer aos critérios específicos
da marca e modelo, para que além de funcionar corretamente, o uC não seja
danificado antes de sair da bancada de montagem.
Não se assuste, pois com o
tempo você se familiarizará
com os diversos conceitos
utilizados no trabalho com
os Microcontroladores.
Para facilitar, olhe para o
PIC como um conjunto de
portas-lógicas com um
interruptor em cada entrada
em cada saída; sendo que,
basta ligar ou desligar os
interruptores que forem
convenientes para a
finalidade do circuito
projetado.
- 3 -
A figura abaixo, nos mostra como deve ser montado o PIC 18F452. Mas não se
preocupe, pois se utilizar outros modelos, poderá consultar o banco de
DataSheet’s na Web.
O PIC será alimentado apartir de uma fonte de tensão +5VCC, GND nos seus
respectivos pinos, mais o pino MCLR , se o mesmo estiver ativo. Ainda
aconselho que utilize uma fonte de alimentação estabilizada. Isso pode ser
conseguido com o CI-7805.
DESENHO FEITO NO KI-CAD
No decorrer da Apostila, você verá em
diagrama esquemático estes modelos de
ligação. Observe que a distribuição dos
componentes ficará por conta do
projetista, bem como a integração ou não
da fonte de alimentação no circuito do uC-
PIC. Os valores dos componentes
deverão ser respeitados, pois do contrário
o uC-PIC será danificado.
Na figura abaixo, você tem os valores
padrão para os circuitos mais utilizados.
Obs:. O Software utilizado para desenhar
a PCI é o KI-Cad. Trata-se de um
Software Livre, Free.
- 4 -
Softwares
Existem muitos Softwares de programação para uC’s-PIC, no entanto a maioria
deles está sendo comercializada; isto é um problema para quem está
começando ou não pode investir em um Software confiável. Para além disso
tudo, você ainda tem que escolher com que linguagem de programação vai
trabalhar e existem muitas. Por exemplo: C; Basic; Jar; Pascal; Assembler; Ld;
entre outras...
A lLinguagem de programação desta Apostila, será o Basic. Trata-se de uma
linguagem de alto nível, ou seja; é de bom entendimento.
No entanto, aconselho que, com o passar do tempo, tente programar em
Assembler, pois por ser uma linguagem de montagem, pode dar acesso a
raízes de programação no uC-PIC que com uma linguagem de alto nível
ocuparia muito espaço, sem falar na possibilidade de problemas de execução
do programa já em funcionamento.
O Software que usaremos é um Freeware-GNU e pode ser descarregado na
Web. GCGB; Great Cow Graphical Basic. Veja na figura abaixo.
Como podemos ver e mesmo pelo seu nome, trata-se de um compilador de
duas plataformas; uma gráfica e outra textual.
Vamos dar uma olhada rápida em nosso compilador.
- 5 -
O menu File, administra os Arquivos do
Compilador. Vejamos:
New => Clique em New para começar
um novo programa.
Open => Clique em Open para abrir um
programa já existente.
Save => Clique em Save para salvar um
programa novo.
Save As => Clique em Save As para
salvar um arquivo em outra pasta.
Edit é um menu de edição.
Cut => Se você selecionar um objeto
gráfico ou de texto na janela de trabalho
e clicar em Cut, o objeto será deletado.
Copy => Copia textos ou elementos
selecionados para outros locais.
Paste => Cola ou faz aparecer o objeto
copiado.
Undo => Desfaz a ultima ação do
compilador.
Redo => Inverte a ação de Undo.
Preferences... => Abre uma outra janela
de configuração.
Em View podemos alternar
entre os modos de
programação; gráfico ou texto.
No Sub-Comando Window,
podemos alternar entre vários
programas dentro do
compilador.
O menu Program, será
estudado com mais detalhes
mais oportunamente.
- 6 -
A seguir, será mostrado uma série de palhetas contendo diferentes elementos
gráficos de programação.
No menu Tools, podemos compilar
o programa, visualizar o codigo que
ao ser compilado gera um codigo
em assembler. Veja os comandos:
View Assembly;
View Program Summary;
Compile;
Compile and Download...
Neste Sub-menu, podemos
escolher o Software de gravação.
Mais adiante estudaremos este
comando em detalhes.
Esta é a palheta de escolha
dos diferentes elementos
gráficos de programação.
- 7 -
Para programar no modo gráfico, basta clicar sobre o símbolo escolhido,
arrastar e soltar na janela de edição. Veja no exemplo.
- 8 -
Agora, vá ao menu View e clique em View as text para mudar para o modo de
programação em Basic. Observe que a única linha existente na janela de
edição é referente ao símbolo que foi colocado na janela gráfica.
Por agora, podemos deixar o Compilador de lado e vamos conhecer o Software
de gravação.
O Software que vamos utilizar é o Win-PIC800, que também é Freeware e
pode ser descarregado da Web.
Vamo para uma breve explicação, passo a passo para criar um programa,
compilar e gravar no uC-PIC.
1- Criar uma pasta-Arquivo com o nome que iremos dar ao nosso
programa;
2- Abrir o Compilador GCGB;
3- Escrever o programa;
4- Clicar em Tools=> Compile;
5- Clicar em File=> Save e salvar dentro da pasta-Arquivo com o nome do
programa;
6- Abrir o Software de gravação e no mesmo, clicar em File=> Open: pasta-
Arquivo escolhido e abrir o arquivo com a extensão.HEX, Ex: Led.HEX;
7- Escolher o modelo de gravador de uC-PIC;
8- Clicer em gravar e pronto.
- 9 -
Na figura abaixo, podemos ver o Win-PIC800.
Não iremos entrar em detalhes com relação a este Software, pois o mesmo
possui a opção de alteração do idioma; portanto é muito intuitivo.
Uma obseração é que a grande maioria dos softwares de gravação, foram
criados para sistemas operacionais não atuais. Por exemplo: No máximo até ao
Windows XP. Entretanto, existem alguns outros softwares com as mesmas
características e com o mesmo visual... (PIC-Prog, Ic-Prog...) e todos são
Freeware e podem ser descarregados da Web.
Outro Software interessante é o de simulação, pois sem uma PCI para teste ou
um programador sofisticado, o projetista fica sem saber qual a ação dinâmica
do circuito.
O Proteus/ISIS é uma poderosa ferramenta para projetar do início ao fim
qualquer circuito eletrônico e muito mais. Além disso tudo, possibilita que o
projetista de embarcados descarregue arquivos.HEX e simule-os no PC sem
ônus. Na figura abaixo, podemos ver a aparência visual do ISIS. Ao contrário
dos softwares apresentados até o momento, o Proteus é pago; portanto,
poderá descarregar o Demonstrativo na Web.
No exemplo da figura abaixo, temos o diagrama de um voltímetro,
implementado com o PIC-16F627A em conjunto com os demais periféricos a
sua volta. Mais a frente, iremos ver o código fonte para este circuito. Também,
por não se tratar de uma apostila sobre Proteus, não entraremos em detalhes
sobre o uso deste software; somente mostraremos o necessário.
- 10 -
O Programador
O programador é uma PCI apropriada para a gravação e teste preliminar dos
uC’s-PIC, bem como uC’s de outros fabricantes.
O programador é uma PCI apropriada para que possamos descarregar o
codigo fonte para o uC e tambem nela podermos realizar alguns testes
preliminares.
No Win-PIC800, você irá encontrar uma janela onde poderá escolher o tipo de
programador que utilizará pra gravação do codigo fonte. No nosso caso,
utilizaremos o programador JDM, que é fácil de construir e suporta diferentes
tipos de uC’s de diferentes marcas.
O programador JDM grava sem necessidade de uma fonte de alimentação
externa; ou seja, utiliza a tensão proveniente da porta de comunicação serial do
PC.
Veja um exemplo na figura a seguir.
Para quem quiser, poderá utilizar
Uma Proto-Lab em vêz de montar
seu programador JDM.
Vejamos o diagrama esquemático
na página seguinte.
- 11 -
Eis aqui mais uma idéia de como utilizar o programador JDM. Nesta figura,
podemos observar um canal ICSP, apartir do qual podemos conectar através
de um cabo apropriado o programador JDM a uma Proto-Lab.
Existem muitos modelos que são
comercializado na Net e podem ser
adquiridos por um baixo custo.
Circuito de Alimentação
Eis um diagrama do circuito da fonte de alimentação para os uC’s-PIC:
Programa nº 1 Pisca-pisca com LED
Apartir desse ponto, já temos alguma base para partir para o foco principal da
nossa apostila; escrever codigos fontes em Basic. Então, mãos à obra!
Para o efeito, vamos utiliza em primeiro lugar, os objetos gráficos e somente
depois, veremos como fica em linha de texto na linguagem basic.
Vamos iniciar o GCGB, escolher o modelo do uC-PIC e na palheta Category,
selecionar Imput/Output=> clicar e arrastar o ícone “Set” para a janela de
programação.
- 12 -
Depois de feitos estes passos, o nosso programa fica como na figura abaixo.
Agora clique no menu View e mude a vista do programador para o modo texto.
Observe que aínda não existem ações definidas para o programa. Apenas está
definido o modelo do uC-PIC e o comando Set.
- 13 -
Observe que para uma ação em janela gráfica, temos uma em modo de texto.
Agora vamos terminar de escrever o codigo fonte em modo de texto e veremos
como fica em modo gráfico.
Programa nº 1 Pisca-pisca com LED
;Chip Settings ;Toda linha precedida por ponto r vírgula é somente
;um comentário.
#chip 16F627A, 4 ;O #chip 16F627A, 4 define o modelo do PIC e a
;frequência.
Inicio: ;Inicio é uma label; um ponto de referencia...
Set PORTB.0 On ;Coloca em nível alto o pino RB0
Wait 1 s ;Faz uma pausa de 1 segundo
Set PORTB.0 Off ;Coloca em nível baixo o pino RB0
Wait 1 s
Goto Inicio ;Salta para o label inicio e executa novamente o
;codigo.
End ;Aqui termina o programa.
Agora vá ao menu View e mude para a vista gráfica. Veja como fica.
Depois, vá ao menu Tools, clique em Compile e salve em uma pasta que você
escolheu.
- 14 -
Gravar um programa no Microcontrolador
Supondo que você já possui o seu Gravador JDM, ligue-o a porta serial do seu
PC, através de um cabo apropriado. Observe que você deve antes de conectar
o gravador ao PC, colocar o uC-PIC no seu devido slot. O modelo que
escolhemos, foi o 16F627A, portanto esse uC-PIC possui 18 pinos. Atente para
a posição correta de encaixe.
A identificação dos pinos pode ser vista no respectivo Data-Sheet do
componente.
Agora vamos abrir o Win-PIC800, => clique em configurações,=> Hardware,=>
escolha o programador JDM e a porta COM1,=> clique em OK e pronto!
Clique no menu Ficheiro/Arquivo,=> abrir e vá até a pasta onde salvou o codigo
fonte feito no GCGB, abra o arquivo com a extenção *.HEX. Veja como ficará
no Win-PIC800.
- 15 -
- 16 -
Observe que no momento em que o uC-PIC está sendo gravado, o led do JDM
pisca e após concluir a gravação o led para de piscar.
Pode retirar o uC-PIC e coloca-lo no circuito de destino.
Parabéns, já fizeste o teu primeiro programa!
Simulando o programa em Proteus
Abrimos o ISIS do Proteus e vamos simular o hrdware em ambiente virtual.
- 17 -
Abrir a palheta dos componentes.
Para escolher um componente, basta dar um duplo clique na referência
desejada.
Depois de escolhido todos os componentes necessarios para a montagem,
feche a palheta de componentes e inicie a montagem.
- 18 -
Para configurar os componentes, clique com o botão direito do mouse em cima
do componente a ser configurado; ele ficará vermelho, então clique com o
botão esquerdo do mouse em cima do componente, no caso em cima do uC-
PIC. Veja como fica.
Clique na pequena pasta amarela, escolha o arquivo com a extensão.HEX e
abra-o. Configure a frequência para 4 MHz e clique em OK.
Na parte inferior da janela do proteus, exitem botões de Play, Pause, Stop...,
use-os para iniciar a simulação.
Vejamos como ficou o nosso circuito.
- 19 -
Programa – 2 Botão
;Este é mais um programa para controle de saídas apartir de uma entrada
;Chip Settings
#chip 16f627a,4
;Defines (Constants)
#define BUTTON PORTA.4
#define light PORTB.4
dir BUTTON in
dir light out
DO UNTIL BUTTON = 1
SET light ON
WAIT 1 s
SET light OFF
WAIT 1 s
LOOP
Programa nº 3 Interruptores ou sensores
;Este programa trabalha com entradas e saidas digitais
;Por exemplo: um Botão, um fim de curso...
;Chip Settings
#chip 16F627a,64
;Defines (Constants)
#define LCD_IO 0
Dir PORTA.0 In
Dir PORTA.1 In
Dir PORTA.2 In
Dir PORTB.0 Out
Dir PORTB.1 Out
Dir PORTB.2 Out
cc:
If porta.0 = 1 then
portb.0 = 1
end if
if porta.0 = 0 then
portb.0 = 0
end if
If porta.1 = 1 Then
portb.1 = 1
end If
- 20 -
if porta.1 = 0 then
portb.1 = 0
end if
if porta.2 = 1 then
portb.2 = 1
end if
if porta.2 = 0 then
portb.2 = 0
end if
Goto cc
End
Programa nº 4 Criar uma melodia
;Este programa gera um tom sonoro de acordo com o nível analógico
;lido no potenciômetro
;Chip Settings
#chip 16F627A,0
;Defines (Constants)
#define Adjust PORTB.0
#define LDR PORTB.1
#define SoundOut PORTB.2
dir SoundOut out
Main:
POT Adjust, Threshold
POT LDR, LightLevel
if LightLevel > Threshold then
Tone 1000, 100
end if
goto Main
Programa nº 5 LCD’s
;Este programa lê uma entrada analógica e escreve uma mensagem em
;um display de cristal líquido
;Chip Settings
#chip 16F877A,20
;Defines (Constants)
#define LCD_IO 8
#define LCD_DATA_PORT PORTC
#define LCD_RS PORTD.0
#define LCD_RW PORTD.1
#define LCD_Enable PORTD.2
- 21 -
;Variables
Dim cicero(1)
Dim Temp1 As byte
'Show intro message
PRINT "VOLTIMETRO:"
Locate 1,2
PRINT "CICERO,CLAUDIA"
Wait 500 ms
cls
Print "MARTA"
Locate 1, 2
Print "FRANCISCO"
wait 500 ms
'Main loop
Main:
'Take two measurements, so the average can be calculated
Temp1 = ReadAD(AN0)
'wait 25 ms
'Temp2 = ReadAD(AN0)
'Display measurements
cls
Print "NL:"
LCDInt Average(Temp1, Temp2)
'Delay to avoid flickering of screen
wait 20 ms
goto Main
Programa – 6 Sequêncial
;Este é um programa para sequencial
;Chip Settings
#chip 16F627A,20
#config HS_OSC, WDT_OFF, LVP_OFF
;Defines (Constants)
#define LED1 PORTB.1
#define LED2 PORTB.2
#define LED3 PORTB.3
#define LED4 PORTB.4
#define FlashDelay 125 ms
dir B1 out
- 22 -
dir B2 out
dir B3 out
dir B4 out
start:
set LED4 OFF
set LED1 ON
wait FlashDelay
set LED1 OFF
set LED2 ON
wait FlashDelay
set LED2 OFF
set LED3 ON
wait FlashDelay
set LED3 OFF
set LED4 ON
wait FlashDelay
goto start
Lista de comandos
Output high, low, toggle, pulsout, let pins =
Input if...then, pulsin, button
ADC readadc
RAM peek, poke
Sound/Tone sound
Serial serin, serout
Program Flow goto, gosub, return, branch
Loops for...next
Mathematics let (+, -, *, **, /, //, max, min, &, |, ^, &/, |/, ^/ )
Variables if...then, random, lookdown, lookup
Data memory eeprom, write, read
Delays pause, wait, nap, sleep, end
Miscellaneous symbol, debug
Interrupt setint
Servo Control servo
Infrared infrain
Temperature readtemp
1-wire Serial No readowsn
Keyboard keyin, keyled
Input count, if portA….then
ADC readadc10
Portc config. let dirsc =
Portc output high portc, low portc, let pinsc =
I2C readi2c, writei2c, i2cslave
Temperature readtemp12
PWM pwmout
- 23 -

More Related Content

Viewers also liked

Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICDavidson Fellipe
 
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICDavidson Fellipe
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCFabio Souza
 
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas DigitaisMicrocontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas DigitaisFabio Souza
 
Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.
Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.
Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.Angel Perez
 

Viewers also liked (6)

Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
 
C pic
C picC pic
C pic
 
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroC
 
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas DigitaisMicrocontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
 
Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.
Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.
Comunicación Bluetooth entre un dispositivo Mobil y un microcontrolador.
 

Similar to Apostila de pic basic

Microcontroladores pic
Microcontroladores picMicrocontroladores pic
Microcontroladores picCesar Prim
 
Softwares diagnosticos de instalacao
Softwares diagnosticos de instalacaoSoftwares diagnosticos de instalacao
Softwares diagnosticos de instalacaodavidcordeiro07
 
Apostila pic-c
Apostila pic-cApostila pic-c
Apostila pic-cjlconrado
 
Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2confidencial
 
Baixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkBaixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkReuel Lopes
 
PRIMEIROS PASSOS COM O KIT PIC - UNINTER.pdf
PRIMEIROS PASSOS COM O KIT PIC - UNINTER.pdfPRIMEIROS PASSOS COM O KIT PIC - UNINTER.pdf
PRIMEIROS PASSOS COM O KIT PIC - UNINTER.pdfestudosfaculdade05fa
 
Gerenciador do atmega16
Gerenciador do atmega16Gerenciador do atmega16
Gerenciador do atmega16Gabriel Lima
 
Curso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPCurso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPFabio Souza
 
Apostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoApostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoClaudio Arkan
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresLuis Ferreira
 
Apostila tre.rs2014 direito_eleitoral_pedrokuhnApostila tre.rs2014 informatic...
Apostila tre.rs2014 direito_eleitoral_pedrokuhnApostila tre.rs2014 informatic...Apostila tre.rs2014 direito_eleitoral_pedrokuhnApostila tre.rs2014 informatic...
Apostila tre.rs2014 direito_eleitoral_pedrokuhnApostila tre.rs2014 informatic...Fernando Macedo
 
Softwares diagnósticos de computador original
Softwares diagnósticos de computador originalSoftwares diagnósticos de computador original
Softwares diagnósticos de computador originalAndré Ferreira
 
Eplan p8 apostila
Eplan p8 apostilaEplan p8 apostila
Eplan p8 apostilaRonie Silva
 
Manual EPLAN eletric p8
Manual EPLAN eletric p8Manual EPLAN eletric p8
Manual EPLAN eletric p8autonomo
 
Apostila php
Apostila phpApostila php
Apostila phpmurilocbs
 

Similar to Apostila de pic basic (20)

Microcontroladores pic
Microcontroladores picMicrocontroladores pic
Microcontroladores pic
 
Softwares diagnosticos de instalacao
Softwares diagnosticos de instalacaoSoftwares diagnosticos de instalacao
Softwares diagnosticos de instalacao
 
Apostila pic-c
Apostila pic-cApostila pic-c
Apostila pic-c
 
Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2Apostila pcs7 v8.0 v2
Apostila pcs7 v8.0 v2
 
Baixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkBaixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdk
 
PRIMEIROS PASSOS COM O KIT PIC - UNINTER.pdf
PRIMEIROS PASSOS COM O KIT PIC - UNINTER.pdfPRIMEIROS PASSOS COM O KIT PIC - UNINTER.pdf
PRIMEIROS PASSOS COM O KIT PIC - UNINTER.pdf
 
Gerenciador do atmega16
Gerenciador do atmega16Gerenciador do atmega16
Gerenciador do atmega16
 
Curso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXPCurso mbed e FRDM KL46Z da NXP
Curso mbed e FRDM KL46Z da NXP
 
Apostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoApostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançado
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de Computadores
 
Apostila tre.rs2014 direito_eleitoral_pedrokuhnApostila tre.rs2014 informatic...
Apostila tre.rs2014 direito_eleitoral_pedrokuhnApostila tre.rs2014 informatic...Apostila tre.rs2014 direito_eleitoral_pedrokuhnApostila tre.rs2014 informatic...
Apostila tre.rs2014 direito_eleitoral_pedrokuhnApostila tre.rs2014 informatic...
 
Manual lab ino
Manual lab inoManual lab ino
Manual lab ino
 
Corpo relatorio
Corpo relatorioCorpo relatorio
Corpo relatorio
 
Softwares diagnósticos de computador original
Softwares diagnósticos de computador originalSoftwares diagnósticos de computador original
Softwares diagnósticos de computador original
 
Eplan p8 apostila
Eplan p8 apostilaEplan p8 apostila
Eplan p8 apostila
 
Manual eplan eletric p8
Manual eplan eletric p8Manual eplan eletric p8
Manual eplan eletric p8
 
Manual EPLAN eletric p8
Manual EPLAN eletric p8Manual EPLAN eletric p8
Manual EPLAN eletric p8
 
Apostila php
Apostila phpApostila php
Apostila php
 
Apostila php
Apostila phpApostila php
Apostila php
 
Apostila php
Apostila phpApostila php
Apostila php
 

Apostila de pic basic

  • 2. - 1 - ÍNDICE Introdução............................................................................................. 01 Hardware............................................................................................... 02 Softwares.............................................................................................. 04 O Programador..................................................................................... 10 O Porgramador JDM........................................................................... 10 Circuito de alimetação......................................................................... 11 Programa nº 1 Pisca-pisca com LED.................................................. 13 Gravar um programa no Microcontrolador........................................ 14 Instalar um simulador......................................................................... 16 Testar um programa no Simulador.................................................... 16 Programa nº 2 Botão............................................................................ 19 Programa nº 3 Interruptores ou sensores............................................ 19 Programa nº 4 Criar uma melodia....................................................... 20 Programa nº 5 LCD’s............................................................................ 20 Programanº 6 Sequêncial..................................................................... 21 Lista de Comandos............................................................................... 22 Bibliografia............................................................................................ 23 Introdução Um microcontrolador (uC) é um computador em um chip, contendo um processador, memória e periféricos de entrada e saída. É um microprocessador que pode ser programado para funções específicas, em contraste com outros microprocessadores de propósito geral. Eles são embarcados no interior de diversos dispositivos elétricos e eletrônicos para que possam controlar as funções e ações do aparelho. Os microcontroladores se diferenciam dos processadores, porque além dos componentes lógicos e aritméticos de um microprocessador, o microcontrolador integra elementos adicionais em sua estrutura interna, como memória de leitura e escrita para armazenamento de dados, memória somente de leitura para armazenamento de programas, EEPROM para armazenamento permanente de dados, dispositivos periféricos como conversores analógico/digitais (ADC), conversores digitais/analógicos (DAC) em alguns casos; e, interfaces de entrada e saída de dados.
  • 3. - 2 - Os PIC16F627 e PIC16F628 são microcontroladores produzidos pela Microchip Technology e que pertencem à sua família PIC de microcontroladores. Ambos possuem características semelhantes diferindo apenas na sua capacidade de memória flash disponível para o software. O PIC16F627 possui 1024 palavras de 14 bits enquanto que o PIC16F628 dispõe de 2048 palavras de 14 bits sendo compatíveis em todos os outros aspectos. Ambos possuem 224 bytes de Memória RAM e 128 bytes de memória EEPROM. Distribuição do hardware interno de um uC-PIC Não entraremos em detalhes de arquiteturas e outros elementos concernentes ao estudo do Microcontroladores, pois o objetivo aqui é fazer uma introdução prática ao Hardware e Software, bem como, Programação, gravação e montagem dos circuitos utilizando os uC-PIC’s. Hardware Na hora de montar o circuito, devemos saber o que queremos que ele faça, pois é apartir desse ponto que podemos ter uma idéia de como será o programa que vamos gravar no PIC. Os uC’s-PIC não são componentes com grandes vulnerabilidades relacionadas as grandezas elétricas; no entanto, devemos obedecer aos critérios específicos da marca e modelo, para que além de funcionar corretamente, o uC não seja danificado antes de sair da bancada de montagem. Não se assuste, pois com o tempo você se familiarizará com os diversos conceitos utilizados no trabalho com os Microcontroladores. Para facilitar, olhe para o PIC como um conjunto de portas-lógicas com um interruptor em cada entrada em cada saída; sendo que, basta ligar ou desligar os interruptores que forem convenientes para a finalidade do circuito projetado.
  • 4. - 3 - A figura abaixo, nos mostra como deve ser montado o PIC 18F452. Mas não se preocupe, pois se utilizar outros modelos, poderá consultar o banco de DataSheet’s na Web. O PIC será alimentado apartir de uma fonte de tensão +5VCC, GND nos seus respectivos pinos, mais o pino MCLR , se o mesmo estiver ativo. Ainda aconselho que utilize uma fonte de alimentação estabilizada. Isso pode ser conseguido com o CI-7805. DESENHO FEITO NO KI-CAD No decorrer da Apostila, você verá em diagrama esquemático estes modelos de ligação. Observe que a distribuição dos componentes ficará por conta do projetista, bem como a integração ou não da fonte de alimentação no circuito do uC- PIC. Os valores dos componentes deverão ser respeitados, pois do contrário o uC-PIC será danificado. Na figura abaixo, você tem os valores padrão para os circuitos mais utilizados. Obs:. O Software utilizado para desenhar a PCI é o KI-Cad. Trata-se de um Software Livre, Free.
  • 5. - 4 - Softwares Existem muitos Softwares de programação para uC’s-PIC, no entanto a maioria deles está sendo comercializada; isto é um problema para quem está começando ou não pode investir em um Software confiável. Para além disso tudo, você ainda tem que escolher com que linguagem de programação vai trabalhar e existem muitas. Por exemplo: C; Basic; Jar; Pascal; Assembler; Ld; entre outras... A lLinguagem de programação desta Apostila, será o Basic. Trata-se de uma linguagem de alto nível, ou seja; é de bom entendimento. No entanto, aconselho que, com o passar do tempo, tente programar em Assembler, pois por ser uma linguagem de montagem, pode dar acesso a raízes de programação no uC-PIC que com uma linguagem de alto nível ocuparia muito espaço, sem falar na possibilidade de problemas de execução do programa já em funcionamento. O Software que usaremos é um Freeware-GNU e pode ser descarregado na Web. GCGB; Great Cow Graphical Basic. Veja na figura abaixo. Como podemos ver e mesmo pelo seu nome, trata-se de um compilador de duas plataformas; uma gráfica e outra textual. Vamos dar uma olhada rápida em nosso compilador.
  • 6. - 5 - O menu File, administra os Arquivos do Compilador. Vejamos: New => Clique em New para começar um novo programa. Open => Clique em Open para abrir um programa já existente. Save => Clique em Save para salvar um programa novo. Save As => Clique em Save As para salvar um arquivo em outra pasta. Edit é um menu de edição. Cut => Se você selecionar um objeto gráfico ou de texto na janela de trabalho e clicar em Cut, o objeto será deletado. Copy => Copia textos ou elementos selecionados para outros locais. Paste => Cola ou faz aparecer o objeto copiado. Undo => Desfaz a ultima ação do compilador. Redo => Inverte a ação de Undo. Preferences... => Abre uma outra janela de configuração. Em View podemos alternar entre os modos de programação; gráfico ou texto. No Sub-Comando Window, podemos alternar entre vários programas dentro do compilador. O menu Program, será estudado com mais detalhes mais oportunamente.
  • 7. - 6 - A seguir, será mostrado uma série de palhetas contendo diferentes elementos gráficos de programação. No menu Tools, podemos compilar o programa, visualizar o codigo que ao ser compilado gera um codigo em assembler. Veja os comandos: View Assembly; View Program Summary; Compile; Compile and Download... Neste Sub-menu, podemos escolher o Software de gravação. Mais adiante estudaremos este comando em detalhes. Esta é a palheta de escolha dos diferentes elementos gráficos de programação.
  • 8. - 7 - Para programar no modo gráfico, basta clicar sobre o símbolo escolhido, arrastar e soltar na janela de edição. Veja no exemplo.
  • 9. - 8 - Agora, vá ao menu View e clique em View as text para mudar para o modo de programação em Basic. Observe que a única linha existente na janela de edição é referente ao símbolo que foi colocado na janela gráfica. Por agora, podemos deixar o Compilador de lado e vamos conhecer o Software de gravação. O Software que vamos utilizar é o Win-PIC800, que também é Freeware e pode ser descarregado da Web. Vamo para uma breve explicação, passo a passo para criar um programa, compilar e gravar no uC-PIC. 1- Criar uma pasta-Arquivo com o nome que iremos dar ao nosso programa; 2- Abrir o Compilador GCGB; 3- Escrever o programa; 4- Clicar em Tools=> Compile; 5- Clicar em File=> Save e salvar dentro da pasta-Arquivo com o nome do programa; 6- Abrir o Software de gravação e no mesmo, clicar em File=> Open: pasta- Arquivo escolhido e abrir o arquivo com a extensão.HEX, Ex: Led.HEX; 7- Escolher o modelo de gravador de uC-PIC; 8- Clicer em gravar e pronto.
  • 10. - 9 - Na figura abaixo, podemos ver o Win-PIC800. Não iremos entrar em detalhes com relação a este Software, pois o mesmo possui a opção de alteração do idioma; portanto é muito intuitivo. Uma obseração é que a grande maioria dos softwares de gravação, foram criados para sistemas operacionais não atuais. Por exemplo: No máximo até ao Windows XP. Entretanto, existem alguns outros softwares com as mesmas características e com o mesmo visual... (PIC-Prog, Ic-Prog...) e todos são Freeware e podem ser descarregados da Web. Outro Software interessante é o de simulação, pois sem uma PCI para teste ou um programador sofisticado, o projetista fica sem saber qual a ação dinâmica do circuito. O Proteus/ISIS é uma poderosa ferramenta para projetar do início ao fim qualquer circuito eletrônico e muito mais. Além disso tudo, possibilita que o projetista de embarcados descarregue arquivos.HEX e simule-os no PC sem ônus. Na figura abaixo, podemos ver a aparência visual do ISIS. Ao contrário dos softwares apresentados até o momento, o Proteus é pago; portanto, poderá descarregar o Demonstrativo na Web. No exemplo da figura abaixo, temos o diagrama de um voltímetro, implementado com o PIC-16F627A em conjunto com os demais periféricos a sua volta. Mais a frente, iremos ver o código fonte para este circuito. Também, por não se tratar de uma apostila sobre Proteus, não entraremos em detalhes sobre o uso deste software; somente mostraremos o necessário.
  • 11. - 10 - O Programador O programador é uma PCI apropriada para a gravação e teste preliminar dos uC’s-PIC, bem como uC’s de outros fabricantes. O programador é uma PCI apropriada para que possamos descarregar o codigo fonte para o uC e tambem nela podermos realizar alguns testes preliminares. No Win-PIC800, você irá encontrar uma janela onde poderá escolher o tipo de programador que utilizará pra gravação do codigo fonte. No nosso caso, utilizaremos o programador JDM, que é fácil de construir e suporta diferentes tipos de uC’s de diferentes marcas. O programador JDM grava sem necessidade de uma fonte de alimentação externa; ou seja, utiliza a tensão proveniente da porta de comunicação serial do PC. Veja um exemplo na figura a seguir. Para quem quiser, poderá utilizar Uma Proto-Lab em vêz de montar seu programador JDM. Vejamos o diagrama esquemático na página seguinte.
  • 12. - 11 - Eis aqui mais uma idéia de como utilizar o programador JDM. Nesta figura, podemos observar um canal ICSP, apartir do qual podemos conectar através de um cabo apropriado o programador JDM a uma Proto-Lab. Existem muitos modelos que são comercializado na Net e podem ser adquiridos por um baixo custo. Circuito de Alimentação Eis um diagrama do circuito da fonte de alimentação para os uC’s-PIC: Programa nº 1 Pisca-pisca com LED Apartir desse ponto, já temos alguma base para partir para o foco principal da nossa apostila; escrever codigos fontes em Basic. Então, mãos à obra! Para o efeito, vamos utiliza em primeiro lugar, os objetos gráficos e somente depois, veremos como fica em linha de texto na linguagem basic. Vamos iniciar o GCGB, escolher o modelo do uC-PIC e na palheta Category, selecionar Imput/Output=> clicar e arrastar o ícone “Set” para a janela de programação.
  • 13. - 12 - Depois de feitos estes passos, o nosso programa fica como na figura abaixo. Agora clique no menu View e mude a vista do programador para o modo texto. Observe que aínda não existem ações definidas para o programa. Apenas está definido o modelo do uC-PIC e o comando Set.
  • 14. - 13 - Observe que para uma ação em janela gráfica, temos uma em modo de texto. Agora vamos terminar de escrever o codigo fonte em modo de texto e veremos como fica em modo gráfico. Programa nº 1 Pisca-pisca com LED ;Chip Settings ;Toda linha precedida por ponto r vírgula é somente ;um comentário. #chip 16F627A, 4 ;O #chip 16F627A, 4 define o modelo do PIC e a ;frequência. Inicio: ;Inicio é uma label; um ponto de referencia... Set PORTB.0 On ;Coloca em nível alto o pino RB0 Wait 1 s ;Faz uma pausa de 1 segundo Set PORTB.0 Off ;Coloca em nível baixo o pino RB0 Wait 1 s Goto Inicio ;Salta para o label inicio e executa novamente o ;codigo. End ;Aqui termina o programa. Agora vá ao menu View e mude para a vista gráfica. Veja como fica. Depois, vá ao menu Tools, clique em Compile e salve em uma pasta que você escolheu.
  • 15. - 14 - Gravar um programa no Microcontrolador Supondo que você já possui o seu Gravador JDM, ligue-o a porta serial do seu PC, através de um cabo apropriado. Observe que você deve antes de conectar o gravador ao PC, colocar o uC-PIC no seu devido slot. O modelo que escolhemos, foi o 16F627A, portanto esse uC-PIC possui 18 pinos. Atente para a posição correta de encaixe. A identificação dos pinos pode ser vista no respectivo Data-Sheet do componente. Agora vamos abrir o Win-PIC800, => clique em configurações,=> Hardware,=> escolha o programador JDM e a porta COM1,=> clique em OK e pronto! Clique no menu Ficheiro/Arquivo,=> abrir e vá até a pasta onde salvou o codigo fonte feito no GCGB, abra o arquivo com a extenção *.HEX. Veja como ficará no Win-PIC800.
  • 17. - 16 - Observe que no momento em que o uC-PIC está sendo gravado, o led do JDM pisca e após concluir a gravação o led para de piscar. Pode retirar o uC-PIC e coloca-lo no circuito de destino. Parabéns, já fizeste o teu primeiro programa! Simulando o programa em Proteus Abrimos o ISIS do Proteus e vamos simular o hrdware em ambiente virtual.
  • 18. - 17 - Abrir a palheta dos componentes. Para escolher um componente, basta dar um duplo clique na referência desejada. Depois de escolhido todos os componentes necessarios para a montagem, feche a palheta de componentes e inicie a montagem.
  • 19. - 18 - Para configurar os componentes, clique com o botão direito do mouse em cima do componente a ser configurado; ele ficará vermelho, então clique com o botão esquerdo do mouse em cima do componente, no caso em cima do uC- PIC. Veja como fica. Clique na pequena pasta amarela, escolha o arquivo com a extensão.HEX e abra-o. Configure a frequência para 4 MHz e clique em OK. Na parte inferior da janela do proteus, exitem botões de Play, Pause, Stop..., use-os para iniciar a simulação. Vejamos como ficou o nosso circuito.
  • 20. - 19 - Programa – 2 Botão ;Este é mais um programa para controle de saídas apartir de uma entrada ;Chip Settings #chip 16f627a,4 ;Defines (Constants) #define BUTTON PORTA.4 #define light PORTB.4 dir BUTTON in dir light out DO UNTIL BUTTON = 1 SET light ON WAIT 1 s SET light OFF WAIT 1 s LOOP Programa nº 3 Interruptores ou sensores ;Este programa trabalha com entradas e saidas digitais ;Por exemplo: um Botão, um fim de curso... ;Chip Settings #chip 16F627a,64 ;Defines (Constants) #define LCD_IO 0 Dir PORTA.0 In Dir PORTA.1 In Dir PORTA.2 In Dir PORTB.0 Out Dir PORTB.1 Out Dir PORTB.2 Out cc: If porta.0 = 1 then portb.0 = 1 end if if porta.0 = 0 then portb.0 = 0 end if If porta.1 = 1 Then portb.1 = 1 end If
  • 21. - 20 - if porta.1 = 0 then portb.1 = 0 end if if porta.2 = 1 then portb.2 = 1 end if if porta.2 = 0 then portb.2 = 0 end if Goto cc End Programa nº 4 Criar uma melodia ;Este programa gera um tom sonoro de acordo com o nível analógico ;lido no potenciômetro ;Chip Settings #chip 16F627A,0 ;Defines (Constants) #define Adjust PORTB.0 #define LDR PORTB.1 #define SoundOut PORTB.2 dir SoundOut out Main: POT Adjust, Threshold POT LDR, LightLevel if LightLevel > Threshold then Tone 1000, 100 end if goto Main Programa nº 5 LCD’s ;Este programa lê uma entrada analógica e escreve uma mensagem em ;um display de cristal líquido ;Chip Settings #chip 16F877A,20 ;Defines (Constants) #define LCD_IO 8 #define LCD_DATA_PORT PORTC #define LCD_RS PORTD.0 #define LCD_RW PORTD.1 #define LCD_Enable PORTD.2
  • 22. - 21 - ;Variables Dim cicero(1) Dim Temp1 As byte 'Show intro message PRINT "VOLTIMETRO:" Locate 1,2 PRINT "CICERO,CLAUDIA" Wait 500 ms cls Print "MARTA" Locate 1, 2 Print "FRANCISCO" wait 500 ms 'Main loop Main: 'Take two measurements, so the average can be calculated Temp1 = ReadAD(AN0) 'wait 25 ms 'Temp2 = ReadAD(AN0) 'Display measurements cls Print "NL:" LCDInt Average(Temp1, Temp2) 'Delay to avoid flickering of screen wait 20 ms goto Main Programa – 6 Sequêncial ;Este é um programa para sequencial ;Chip Settings #chip 16F627A,20 #config HS_OSC, WDT_OFF, LVP_OFF ;Defines (Constants) #define LED1 PORTB.1 #define LED2 PORTB.2 #define LED3 PORTB.3 #define LED4 PORTB.4 #define FlashDelay 125 ms dir B1 out
  • 23. - 22 - dir B2 out dir B3 out dir B4 out start: set LED4 OFF set LED1 ON wait FlashDelay set LED1 OFF set LED2 ON wait FlashDelay set LED2 OFF set LED3 ON wait FlashDelay set LED3 OFF set LED4 ON wait FlashDelay goto start Lista de comandos Output high, low, toggle, pulsout, let pins = Input if...then, pulsin, button ADC readadc RAM peek, poke Sound/Tone sound Serial serin, serout Program Flow goto, gosub, return, branch Loops for...next Mathematics let (+, -, *, **, /, //, max, min, &, |, ^, &/, |/, ^/ ) Variables if...then, random, lookdown, lookup Data memory eeprom, write, read Delays pause, wait, nap, sleep, end Miscellaneous symbol, debug Interrupt setint Servo Control servo Infrared infrain Temperature readtemp 1-wire Serial No readowsn Keyboard keyin, keyled Input count, if portA….then ADC readadc10 Portc config. let dirsc = Portc output high portc, low portc, let pinsc = I2C readi2c, writei2c, i2cslave Temperature readtemp12 PWM pwmout