Professional Documents
Culture Documents
MANUAL DO PROTOPIC
Kit de desenvolvimento com microcontrolador PIC18F2550 e
interface de programação USB com HID Bootloader
INTRODUÇÃO
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”.
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
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
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
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>
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