Proyecto de parpadeo de LED simple - PIC16F877A problema de microcontrol

-1

EstoytratandodesimplementeparpadearunaluzLEDusandoelmicrocontroladorpic16f877a.Lossoftwaresqueestoyusandoson,MPLABXIDE,MPLABIPEycompiladorXC8.YousoelprogramadorPickit3.5.Mipreguntaquemeduelelacabezaesquenotengoerroresaldescargar.hexalmicrocontroladorenelprogramaIPE(dice"Programación completa" y cuando se verifica - "Verificar que está completo"), pero el led ni siquiera se enciende. pero al descargar el programa, puedo ver que el LED parpadea aleatoriamente o permanece encendido durante algún tiempo , luego, cuando finaliza la programación, se apaga.

Me he asegurado,

trabajando -las conexiones son buenas -pic es nuevo (aunque intente usarlo por tres o cuatro veces)

No estoy seguro -si estoy usando algo llamado "diodo de señal" correctamente como se indica aquí enlace . Estoy usando diodo IN4007 (para conectar su cátodo al MCLR de la salida de pickit ...

Código:

#define _XTAL_FREQ 20000000
#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
// CONFIG
#pragma config FOSC = HS        // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = OFF      // Brown-out Reset Enable bit (BOR disabled)
#pragma config LVP = ON        // Low-Voltage (Single-Supply) In-Circuit 
Serial Programming Enable bit (RB3/PGM pin has PGM function; low-voltage 
programming enabled)
#pragma config CPD = OFF        // Data EEPROM Memory Code Protection bit 
(Data EEPROM code protection off)
#pragma config WRT = OFF        // Flash Program Memory Write Enable bits 
(Write protection off; all program memory may be written to by EECON control)
#pragma config CP = OFF         // Flash Program Memory Code Protection bit 
(Code protection off)

void main(void)
{
    TRISB=0b00000000;
    PORTBbits.RB0=1;
    return;
}

Código ACTUALIZADO: (TRABAJANDO - solo durante el período de 'conexión' del pickit al software MPLAB IPE)

#define _XTAL_FREQ 20000000
#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
// CONFIG
#pragma config FOSC = HS        // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = OFF      // Brown-out Reset Enable bit (BOR disabled)
#pragma config LVP = OFF         // Low-Voltage (Single-Supply) In-Circuit 
Serial Programming Enable bit (RB3/PGM pin has PGM function; low-voltage 
programming enabled)
#pragma config CPD = OFF        // Data EEPROM Memory Code Protection bit 
(Data EEPROM code protection off)
#pragma config WRT = OFF        // Flash Program Memory Write Enable bits 
(Write protection off; all program memory may be written to by EECON control)
#pragma config CP = OFF         // Flash Program Memory Code Protection bit 
(Code protection off)

void main(void)
{
    TRISB=0;

    while(1)
    {
        PORTBbits.RB0=1;
        __delay_ms(50);
        PORTBbits.RB0=0;
        __delay_ms(50);

    }
}

Componentes en mi placa de circuito,

-pic16f877a microcontrolador + base

-led

diodo

-IN4007 (su cátodo se conecta al MCLR de la salida de pickit)

Oscilador de cristal de -20MHz (para CLKIN y CLKOUT de pic)

Capacitores -2x22pF (para oscilador)

-330R resistor (para led desde pin RB0)

resistencia de -10k (para diodo IN4007 de MCLR de la salida de pickit)

-0.1uF capacitor (para diodo IN4007 para conectarse a tierra)

- cables de puente

-pickit3.5 connection

Intenté usar varios microcontroladores como pic16f84a y pic18f452 también, siguiendo diferentes tutoriales en internet, pero no tuve suerte. Realmente me encanta hacer esto y no espero rendirme.

Alguien que ayude, aliviará un gran dolor de cabeza. ¡Muchas gracias! **

    
pregunta stackUsr

1 respuesta

4

He encontrado una solución:

  • Cerré MPLAB IPE completamente.
  • Luego, desde las propiedades del proyecto de MPLABX IDE, seleccioné la potencia necesaria y la opción seleccionada para impulsar el objetivo desde PICkit3.
  • Luego "hizo" el programa.
  • Para ejecutarlo, haga clic en "Release from Reset".

FUNCIONA !!! Ahora el LED parpadea como COOL !!! Dolor de cabeza curado!

    
respondido por el stackUsr

Lea otras preguntas en las etiquetas