You are on page 1of 9

Manual do ProtoPIC – V1.

MANUAL DO PROTOPIC
Kit de desenvolvimento com microcontrolador PIC18F2550 e
interface de programação USB com HID Bootloader

INTRODUÇÃO

O kit de desenvolvimento ProtoPIC foi projetado para o estudo e


implementação de projetos que utilizem o PIC18F2550.
Ele é composto de uma placa com o microcontrolador, cristal de 20 mHz,
inteface USB para programação e alimentação, conector de alimentação externa
opcional, conector para display LCD de 16 colunas e 2 linhas com ajuste de
contraste, um conector para entradas analógicas, seis botões e dois leds.

FIGURA 1 – ProtoPIC

1 PRIMEIROS PASSOS
1.1 Criando o projeto
Para criar o projeto é necessário:
1º) Criar um novo projeto para o PIC18F2550 e o compilador XC8.
2º) Clicar com o botão direito em cima do projeto e entrar nas propriedades.
3º) Abrir Conf. >> XC8 Global Options >> XC8 linker.
4º) Em Option Categories, escolher a opção Additional Options.
5º) Na opção Codeoffset colocar “0x1000” e em Additional Options escrever
“--output=default,+inhx032”.

O programa iniciará na posição “0x1000” do microcontrolador. As


interrupções de alta prioridade estarão na posição “0x1008” e as de baixa prioridade
estarão na posição “0x1018”, para utilizá-las, além de configurar os registradores, é
necessário adicionar os trechos:

void interrupt <algum nome> (void) {


// Código da interrupção
}
Manual do ProtoPIC – V1.0

void interrupt low_priority <algum nome> (void) {


// Código da interrupção
}

FIGURA 2 - Propriedades do projeto

O clock do projeto deve ser indicado no código dele através de “#define


_XTAL_FREQ 48000000”.

1.2 Ligando o kit e programando


Quando o usuário desejar gravar seu projeto no microcontrolador, ele deverá
seguir a seguinte sequencia de gravação:
1º) Conectar o cabo USB ao kit e ao computador.
2º) Segurar o botão de BOOT e pulsar o botão de RESET. O led de BOOT
ficará piscando, indicando que o microcontrolador está esperando receber o
projeto.
3º) Abrir o software HIDBootLoader. Caso o kit esteja no modo de
programação, deverá aparecer a mensagem Device attached.
4º) Clicar em Open Hex File para localizar o arquivo .hex do projeto.
5º) Clicar em Program/Verify.
6º) Pulsar o botão de RESET ou clicar no botão Reset Device do
HIDBootLoader no para que o kit entre em modo de operação.

2 DETALHAMENTO DO HARDWARE

2.1 Microcontrolador
O microcontrolador PIC18F2550 possui muitos pinos com funções
compartilhadas. A figura XX, retirada do datasheet, apresenta as funções de cada
pino. Para informações mais detalhadas do microcontrolador, consulte o datasheet.
Manual do ProtoPIC – V1.0

FIGURA 3 - Funções de cada pino do microcontrolador.


OBS: Os pinos com o círculo vermelho não estão disponíveis para o usuário no ProtoPIC.

2.2 Display LCD 16x2


O conector para o display LCD só aceita os que são conforme a pinagem
apresentada na figura abaixo.

FIGURA 4 - Pinagem do display LCD que deve ser utilizado no kit

Os pinos do microcontrolador nos quais o Display LCD está ligado são os


seguintes:
Pino LCD Símbolo Função Pino PIC
15 LED - GND para backlight -
16 LED + VCC para backlight -
1 GND GND -
2 Vcc +5V -
3 Vee Ajuste de contraste -
4 RS Resgister select signal RC6
5 R/W Read/Write signal -
6 EN Enable signal RC7
7 DB0 Data bus line RB0
8 DB1 Data bus line RB1
9 DB2 Data bus line RB2
10 DB3 Data bus line RB3
11 DB4 Data bus line RB4
12 DB5 Data bus line RB5
13 DB6 Data bus line RB6
14 DB7 Data bus line RB7
Manual do ProtoPIC – V1.0

2.3 Periféricos
2.3.1 Botões
Há seis botões no kit, um de RESET, um de BOOT e quatro de interface.
Pino Lógica Função
RESET MCLR (1) Pull-up RESET
Boot RC0 (11) Pull-up BOOT ou interface
Para cima RC4 (15) Pull-down Interface
Para esquerda RA4 (6) Pull-down Interface
Para direita RC5 (16) Pull-down Interface
Para baixo RC2 (13) Pull-down Interface

FIGURA 5 -Identificação dos 4 botões de FIGURA 6 - Esquemático dos 4 botões de


interface interface

FIGURA 7 - Identificação do botão de RESET FIGURA 8 - Esquemático do botão de RESET

FIGURA 9 - Identificação do botão de BOOT FIGURA 10 - Esquemático do botão de BOOT

2.3.2 Leds
Há dois leds na placa de desenvolvimento, um que fica ligado enquanto a
placa está energizada e o outro está ligado no pino RC1 (12).
O do pino RC1 pisca enquanto está no modo de gravação, mas também
pode ser utilizado no projeto quando o kit está no modo de operação.
Manual do ProtoPIC – V1.0

FIGURA 11 - Esquemático do LED ON FIGURA 12 - Esquemático do LED RC1

2.3.3 Conector analógico


Além de todos os pinos de entradas e saídas estarem disponíveis para
serem utilizados em protoboard, há um conector ligado direto nas entradas
analógicas RA0 (AN0), RA1 (AN1), RA2 (AN2), RA3 (AN3) e RA5 (AN5) do
microcontrolador.

FIGURA 13 - Esquemático do conector analógico

2.4 Conexão USB


Para a interface de comunicação USB foi utilizada a proteção de portas USB
proposta pela Würth Elektronik. A alimentação da porta USB está ligada direto com a
alimentação do circuito.

FIGURA 14 – Esquemático da conexão USB

OBS: Os pinos D+ e D- foram compartilhados com dois botões de interface,


então durante o modo de programação é recomendado não pressionar os botões
para cima e para direita.

2.5 Alimentação externa


O conector de alimentação externa opcional passa por um regulador 7805
que rebaixa qualquer tensão de 7 V até 15 V para os 5 V necessário para o circuito.
Manual do ProtoPIC – V1.0

FIGURA 15 - Esquemático da alimentação externa

3 EXEMPLO DE CÓDIGO
Liga o LED do pino RC1 ao ser pressionado o botão dos pinos RA4, RC0,
RC2, RC4 ou RC5.

#include <xc.h>
#include <p18f2550.h>
#include <stdlib.h>
#include <stdio.h>

#define _XTAL_FREQ 48000000

void main(void) {
// Desativa todas as entradas analógicas
ADCON1 = 0x0F;

// Necessário para utilizar os botões dos pinos RC4 e RC5 (desativa USB)
UCONbits.USBEN = 0;
UCFGbits.UTRDIS = 1;

TRISAbits.TRISA4 = 1;
TRISC = 0b00110101;

while (1) {
if ((PORTAbits.RA4 == 1) ||
(PORTCbits.RC0 == 0) ||
(PORTCbits.RC2 == 1) ||
(PORTCbits.RC4 == 1) ||
(PORTCbits.RC5 == 1))
LATCbits.LATC1 = 1;
else
LATCbits.LATC1 = 0;
}
}

4 REFERÊNCIAS
[1] ww1.microchip.com/downloads/en/devicedoc/39632c.pdf
[2] http://robotica.estg.ipleiria.pt/clube/index.php/projetos-tutoriais/55-programacao-
de-um-pic-por-usb-sem-programador
[3] http://www.digikey.com/Web%20Export/Supplier%20Content/Wurth_732/PDF/Wu
rth_The_Protection_of_USB_20_Applications.pdf
Manual do ProtoPIC – V1.0

ANEXOS

ANEXO 1 – Identificação da parte TOP

ANEXO 2 – Identificação da parte BOTTOM


Manual do ProtoPIC – V1.0

ANEXO 3 – Circuito da parte TOP

ANEXO 4 – Circuito da parte BOTTOM


Manual do ProtoPIC – V1.0

ANEXO 5 – Esquemático completo do ProtoPIC