Neste post será mostrado como testar o PICKIT2, um gravador para microcontroladores da família PIC.
No vídeo abaixo são apresentados os softwares necessários para os testes.
No vídeo a seguir é mostrado como fazer as configurações dos FUSES BITS do microcontrolador PIC, e como fazer o primeiro programa.
Diagrama esquemático
Abaixo é mostrado o diagrama esquemático de um circuito que pode ser montado para teste. Não é o mesmo circuito do CLP PIC Wantronics, mas pode ser usado como referência para montagem, testes e estudo do microcontrolador PIC16F628A.
Códigos para teste
Abaixo é apresentado o código utilizado no vídeo para gravação do microcontrolador.
/*
* File: CLP_Wantronics.c
* Author: wandery
*
*
*/
// PIC16F628A Configuration Bit Settings
// 'C' source line config statements
// CONFIG
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator: High-speed crystal/resonator on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = ON // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is MCLR)
#pragma config BOREN = ON // Brown-out Detect Enable bit (BOD enabled)
#pragma config LVP = ON // Low-Voltage Programming Enable bit (RB4/PGM pin has PGM function, low-voltage programming enabled)
#pragma config CPD = ON // Data EE Memory Code Protection bit (Data memory code-protected)
#pragma config CP = ON // Flash Program Memory Code Protection bit (0000h to 07FFh code-protected)
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
#include <xc.h>
#define _XTAL_FREQ 4000000 //Define a frequência do cristal oscilador
void main(void) {
const int tempo = 500; // Varíavel para filtro das entradas
CMCON = 0x07; // Desliga os comparadores de tensão
TRISB = 0x00; // Configura todo o PORTB como saída
PORTB = 0x00;
while (1){
PORTBbits.RB0 = 1;
__delay_ms (tempo);
PORTBbits.RB0 = 0;
__delay_ms (tempo);
}
}
Para o circuito do diagrama esquemático apresentado existem duas possibilidades para ligar o LED, a primeira consiste em ligar o LED no terminal 6 do microcontrolador, onde se encontrar o GPIO RB0, a segunda opção é fazer as seguintes modificações no código:
void main(void) {
const int tempo = 500; // Varíavel para filtro das entradas
CMCON = 0x07; // Desliga os comparadores de tensão
TRISA = 0x00; // Configura todo o PORTB como saída
PORTA = 0x00;
while (1){
PORTAbits.RA1 = 1;
__delay_ms (tempo);
PORTAbits.RA1 = 0;
__delay_ms (tempo);
}
}
Conclusão
Com isso vimos como testar o PICKIT2, e foram apresentados dois códigos exemplos.
Isso é tudo pessoal e até próximo post!