Problema con el programa PICKIT 2 V 2.61

wow no tengo idea de como configurar eso,,,el problema que yo tengo es que cuando programo un .hex hecho en flowcode proteus me simula perfecto y en el circuito fisico me corre bien,pero cuando lo hago con microcode studio,proteus me simula bien ,pero a la hora de pasarlo al circuito fisico,el circuito no hace nada,solo prende el led cuando toco los capacitores o el crystal
 
Hola me pueden explicar como se configura el word register en el pickit 2??? creo que tengo el mismo problema
 
alicho tengo tu mismo problema porfavor , alguien que me diga como configurar los fuses del 16f877a en microcode???.
Hace rato leíste y comentaste este post: https://www.forosdeelectronica.com/f24/configuracion-bits-pickit-2-programmer-60937/#post769918
Ahí tenías la respuesta para encontrar los fuses usados en un PIC16F877A.

Lo único que tienes que hacer, es compilar tu programa sin la palabra de configuración.
Entonces se generará un archivo *.asm, dentro verás que se hace referencia a un archivo *.inc
INCLUDE "16F877A.INC" Ahora busca este archivo en la carpeta de instalación de PBP.
Ahí verás la palabra de configuración que se usará dependiendo del compilador seleccionado,
y también podrás ver que se hace referencia a otro archivo *.inc --> M16F87xA.INC
Éste archivo lo encuentras en la carpeta C:\PBP\INC, ahí están los fuses disponibles para el PIC16F877A.
La palabra de configuración estándar sería así...
Código:
[COLOR=Blue];*******************************************************************************[/COLOR]
[COLOR=SeaGreen]@ Device PIC16F877A[/COLOR]    [COLOR=Blue]; Microcontrolador utilizado[/COLOR]
[COLOR=Blue]; Palabra de configuración[/COLOR]
[COLOR=SeaGreen]@ Device XT_OSC,WDT_OFF,PWRT_ON,LVP_OFF[/COLOR]
[COLOR=Blue];*******************************************************************************[/COLOR]
[B]Define[/B] OSC 4                [COLOR=Blue]; Definir que se trabajará con 4MHz.[/COLOR]
Ya sólo te resta crear con los fuses, la palabra de configuración que requieras en tu programa.

Suerte.
 
Muchas gracias darkbyte , una consulta digame es mejor utilizar el mplab al microcode segun lo que he leido en este foro ??? quisiera saber esto gracias.
El MPLAB ahora es un entorno de desarrollo integrado (IDE) por lo tanto soporta varios lenguajes de programación, incluyendo PICBasic Pro y otros lenguajes más.
Por medio de un Plug-In se puede usar PICBasic Pro en MPLAB.
Anteriormente MPLAB estaba únicamente diseñado para escribir programas en ensamblador.

MicroCode Studio cuenta con la opción de compilar usando MPASMWIN o con el propio, PM Compiler.
Sin embargo existen varios problemas al usar MPASMWIN, y sobre eso ya se ha tratado en el Foro.
Puedes ir aprendiendo más viendo los ejemplos y comentarios en PICBasic Pro sobre este tema:
Curso de programación de PIC en PICBasic Pro

Saludos.
 
Última edición:
compile con la palabra de configuracion y me sale el siguiente error
Sin embargo existen varios problemas al usar MPASMWIN, y sobre eso ya se ha tratado en el Foro.
Puedes compilar tu programa sin usar MPASMWIN. Es un PIC16F877A. :cool:
Cambia el PIC que estás usando en la selección del dispositivo, pues tienes un PIC16F628 seleccionado.

También puedes borrar la palabra de configuración de tu programa y editarla en el archivo 16F877A.INC.
La edición se realiza en la parte del MPASM Header, pero con la sintaxis del ensamblador.

Suerte.
 
Última edición:
Puedes compilar tu programa sin usar MPASMWIN. Es un PIC16F877A. :cool:
Cambia el PIC que estás usando en la selección del dispositivo, pues tienes un PIC16F628 seleccionado.

También puedes borrar la palabra de configuración de tu programa y editarla en el archivo 16F877A.INC.
La edición se realiza en la parte del MPASM Header, pero con la sintaxis del ensamblador.

Suerte.

disculpa D@rkbytes ¿como edito el programa en el archivo 16F877A.INC cual es la parte del MPASM Header, podrias subir imagenes de como hacer esto por favor?
 
Disculpa D@rkbytes. ¿Cómo edito el programa en el archivo 16F877A.INC el cual es la parte del MPASM Header?
¿Podrías subir imagenes de cómo hacer esto, por favor?
Es muy sencillo, no requieres de imágenes para entender bien lo que debes hacer.

  • Pasos a seguir:

  1. Dirigirse a la carpeta en donde está instalado el compilador PICBasic Pro. P.E: C:\PBP
  2. Buscar el archivo .INC correspondiente al PIC que se va a usar. En este caso un PIC16F877A
  3. Abrir el archivo con el bloc de notas y editar la parte después de la instrucción "else"
PHP:
        NOLIST
    ifdef PM_USED
        LIST
        include 'M16F87xA.INC'  ; PM header
        device  pic16F877A, xt_osc, wdt_on, lvp_off, protect_off
        XALL
        NOLIST
    else
        LIST
        LIST p = 16F877A, r = dec, w = -302
        INCLUDE "P16F877A.INC"  ; MPASM  Header
        __config _XT_OSC & _WDT_ON & _LVP_OFF & _CP_OFF
        NOLIST
    endif
        LIST
Posteriormente guardas los cambios y compilas tu programa.

Los fuses que debes editar son los que se encuentran después de __config
Verás que los fuses seleccionados en ese archivo son los siguientes:
_XT_OSC = Oscilador a cristal inferior a 4MHz.
_WDT_ON = Perro guardián activado.
_LVP_OFF = Programación con bajo voltaje desactivada.
_CP_OFF = Sin protección de código.

Si no conoces los fuses o no sabes cuales serán los convenientes para tu programa, puedes preguntar y con gusto te puedo decir cuales son los que debes usar.
 
Última edición:
Gracias D@rkbytes Muy clara tu explicación ahora si ya se donde tengo que editar . por favor ayudame con los fuses solo quiero prender dos leds para probar el pickit 2 v2.61 porque como a los demas me funciona en la simulacion del proteus pero al pasarlo al protoboard no. Estoy utilizando el pic 16f877A y un crystal externo de 20 MHz
la programacion es la siguiente :

DEFINE OSC 20
LED1 VAR PORTB.4
LED2 VAR PORTB.5

inicio :
high led1
pause 2000
low led1
pause 1000
high led2
pause 2000
low led2
pause 1000
goto inicio
end
 
Por favor, ayúdame con los fuses, sólo quiero prender dos leds para probar el pickit 2 v2.61
Porque como a los demás, me funciona en la simulación del proteus, pero al pasarlo al protoboard, no.
Estoy utilizando el PIC16F877A y un cristal externo de 20 MHz.
OK. Esta es la palabra de configuración que debes usar:
_HS_OSC & _WDT_OFF & _LVP_OFF & _PWRTE_ON

_HS_OSC = Oscilador de alta frecuencia. Porque usarás un cristal de 20MHz. (Máximo soportado)
_WDT_OFF = Watchdog Timer, deshabilitado.
_LVP_OFF = Low Voltaje Programming, deshabilitado.
_PWRTE_ON = Power-Up Timer, habilitado. (Recomendado)

Sustituye por ésta, la que se encuentra escrita por defecto en el archivo 16F877A.INC

El fuse BOREN (Brown-out Reset) estará habilitado al no incluirse, pero no afectará sobre el programa.
Ver documento adjunto.
Si lo quieres deshabilitar, debes escribir lo siguiente a continuación del último fuse: & _BOREN_OFF
El orden de escritura de los fuses no importa y es la letra & la que los separa.

Verás que no es necesario escribir todos los fuses disponibles para el PIC16F877A.
Por ejemplo: Si incluyéramos _CP_OFF tendríamos el mismo resultado que al no incluirlo, a menos que esté en ON, o sea, en 0 el bit 13 de Configuration Word, dirección 0x2007.
CP = 1 (Code protection off)
CP = 0 (All program memory code-protected)

Te recomiendo leer este documento: Significado de los fuses
No contiene la explicación de todos porque varían dependiendo el tipo de PIC, pero te servirá para comprender los que tiene el PIC16F877A y otros PIC16.

También puedes leer la hoja de datos del PIC y ahí verás los que tiene disponibles.
En el documento se encuentran en una sección llamada "CONFIGURATION WORD"

El valor para el registro 0x2007 que se obtendrá al compilar con los que vienen por defecto en el archivo "16F877A.INC", es: 3F7D
16F877A PBP MPASM Header Default Fuses.jpg 16F877A PBP MPASM Header Default Fuses PK3.jpg

Con la modificación que incluye los fuses que requieres, el valor debe ser: 3F72
16F877A PBP MPASM Header Modified Fuses.jpg 16F877A PBP MPASM Header Modified Fuses PK3.jpg
 
Última edición:
Un saludo al Foro. Es el primer Pic que quiero programar.
Uso MPLAB y programo en asm el PIC16F628A. Cuando mando a grabar en el PICkit2 comienza como si estuviera realizando el proceso correctamente, pero luego se queda paralizado como muestro en el archivo adjunto.
Ya actualicé el PICkit2 v6.1 con el OS PK2V023200.
Agradeceré mucho cualquier ayuda.:cry:
 

Adjuntos

  • Pickit2++.jpg
    Pickit2++.jpg
    44 KB · Visitas: 9
  • PICkit2+.jpg
    PICkit2+.jpg
    119.2 KB · Visitas: 16
Gracias por tan acertada respuesta Sr. Meza, ya pude grabar mi primer Pic. :)

Sólo que me costó encontrar el tema quizás por el cambio de título, y es que tengo que familiarizarme más con este magnífico foro. :confused:

Saludos cordiales a todos. :aplauso:
 
Tampoco recuerdo que se haya hablado de ese detalle, pues como tal no es una problema. El micro si se graba salvo que no hace la prueba de verificación de escritura.

En fin, saludos y bienvenido :apreton:
 
Pero en mi caso, supongo que no terminaba de grabar porque nunca ponía la tan ansiada frase:

Programming Successful.

La línea de abajo no sé qué significa, ni si tiene alguna trascendencia.
Voy a armar el circuito.(y)
 

Adjuntos

  • PICkit2+++.png
    PICkit2+++.png
    33.2 KB · Visitas: 17
oh nunca había visto ese mensaje, el de arriba si pero el de abajo no.
Para estar seguro de que el micro se grabó sin problemas compara el cheksum del buffer con el que arroja después de pulsar el botón "Read"
 
Gracias por la sugerencia.

Pude verificar que son iguales, así que voy a armar el circuito.
No entendí porqué dicen que el MPLAB no soporta el Pic16F84A en PICkit2, acabo de grabarlo.

Saludos, y nuevamente gracias. :)
 
Atrás
Arriba