Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

27/05/2011 #1


No consigo grabar el pic
Queridos amigos:

Intento grabar en un 16f628a un programa hecho con picbasic pro. Utilizo un pickit2 original, un módulo zif para el pickit2 (comprado) y el software pic programmer de Microchip. La grabación parece realizarse bien (no hay errores ni problemas. No me atrevo a tocar las opciones del programa, porque no conozco bien su función). Tras grabarlo, lo monto en una proto, y no va (nada-de-nada).

Bueno, puede ser el programa, así que para probar hago el típico de hacer parpadear un led (en B.0), compilo, grabo... todo bien. Lo monto en una proto (en otra distinta)... y tampoco va: el led se queda encendido fijo, y eso es todo.

Os juro que me va a dar algo: compré el pickit2 original porque habia comprado un clon en ebay y me pasaba lo mismo (y pensé que era cosa del clon), tengo los ojos quemados de buscar, leer, leer y leer... y no conseguir nada. Ni siquiera entender por qué ocurre esto.

Os ruego que os compadezcáis de un absoluto novato y me deis algún consejo. Tengo que entregar un proyecto en unos días, y aunque los programas ya están listos, no consigo pasarlos a los pics (todos 16f628a). Es muy frustrante.

Perdón por el rollo,
Santiago
27/05/2011 #2

Avatar de Rigeliano

Probaste los programas en algún simulador antes de grabarlo en el PIC ?
si lo probaste puede que sea la conexión del PIC en el Proto, por que no pones el código y el circuito que armaste así seria mas fácil encontrar el error.
27/05/2011 #3


Os ruego que os compadezcáis de un absoluto novato y me deis algún consejo. Tengo que entregar un proyecto en unos días, y aunque los programas ya están listos, no consigo pasarlos a los pics (todos 16f628a). Es muy frustrante.
El error mas comun es que no configuran bien el oscilador... lo tienes que poner en externo o interno no se como lo pusiste...
27/05/2011 #4


Muchas gracias a ambos por responder.

El código del programa de prueba es éste:

TRISB=0

INICIO:
PORTB.0=1
PAUSE 500
PORTB.0=0
PAUSE 500
GOTO INICIO

END

Adjunto una imagen del montaje en proteus

En cuanto a lo del oscilador, pues bien podría ser, porque aunque no voy a utilizar cristales externos, no sé sí eso quiere decir que está en interno, o si es xt o hs. Para mí lo de los fuses de la cabecera es como sánscrito. Es decir, por ejemplo estos fuses los encontré rebuscando por la red:

@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT "Reloj interno solo
@ DEVICE pic16F628, WDT_OFF " Watchdog Timer desconectado
@ DEVICE pic16F628, PWRT_ON " Power-On Timer conectado
@ DEVICE pic16F628, BOD_ON " Brown-Out Detect conectado
@ DEVICE pic16F628, MCLR_OFF " Master Clear Externo desconectado
@ DEVICE pic16F628, LVP_OFF " Low-Voltage Programming desconectado
@ DEVICE pic16F628, CPD_OFF " Data Memory Code Protect desconectado
@ DEVICE pic16F628, PROTECT_ON " Program Code Protection conectado

Bueno, pues he de decir que no comprendo buena parte de los conceptos. No utilizo el watchdog, así que lo pondría en off. Pero, cómo sé si el grabador usa o no lvp? ¿cuándo hay que desactivar el mclr? ¿qué es el brown-out detect?

Gracias por vuestra paciencia
Santiago
Imágenes Adjuntas
Tipo de Archivo: jpg Prueba parpadeo pic.JPG (37,4 KB (Kilobytes), 62 visitas)
27/05/2011 #5


Código:
@ Device   PIC16F628A ' pusiste el pic16f628 y estas utilizando el pic16f628A
@ Device   Intrc_Osc ' oscilador interno
@ Device   Protect_Off ' para proteger los datos
@ Device   WDT_Off ' si se pasma el micro se autoresetea
@ Device   Pwrt_Off ' no lo necesitas
@ Device   MCLR_On '  para resetearlo en tu diagrama deberia estar on porque tienes el pulsador
' si lo quitas es off
@ DEvice   BOD_Off ' tampoco lo necesitas
@ Device   LVP_Off ' este probablemte si lo necesitas LVP sirve para programar con 5v o con 12v
'si tu programador lo hace con 5 es ON si lo hace con 12 es off.. pero si lo lees y te pone los datos 
'cuando lo grabas en off pues lo esta haciendo bien...
@ Device   CPD_Off 'para proteger la eeprom
 
TRISB=0

INICIO:
PORTB.0=1
PAUSE 500
PORTB.0=0
PAUSE 500
GOTO INICIO

END
si asi lo grabas y no funciona lamento informarte que probablemnente es tu grabador ya sea el sofware o el hardware...
27/05/2011 #6


Muchísimas gracias. Voy a probarlo.

Un abrazo,
Santiago

Bueno, pues creo que empiezo mal, porque el compilador me da errores del tipo "undefined symbol" para los 6 fuses. Es la versión 2.47 de pbp, y simplemente he copiado y pegado tu código, y luego intentado compilarlo.

Pero eso no debería pasar. Habré instalado mal el compilador?

Santiago
Imágenes Adjuntas
Tipo de Archivo: jpg Error pbp prueba2.JPG (35,2 KB (Kilobytes), 33 visitas)
27/05/2011 #7


Saludos amigo creo que el problema se debe
Código:
@ Device   PIC16F628A ' pusiste el pic16f628 y estas utilizando el pic16f628A
cambia los ' por punto y coma

Código:
@ Device   PIC16F628A ; pusiste el pic16f628 y estas utilizando el pic16f628A
Amigo yo también estoy nuevo en la programación de Pic y uso estos Software como editor MicroCode Studio y compilador PICBASIC PRO 2.60 no he tenido problema y funciona muy bien hay esta el enlace de descarga

Editado por no cumplir con las normas del foro

Saludos
27/05/2011 #8


Cjefferson

Uchale amigo... creo que eso es pirata!

Lee las normas del foro...

y si... perdon... yo tambien tengo el microcode studio y se le puede poner la " ' " en lugar de la " ; "
o
compilalo asi...
Código:
 
@ Device PIC16F628A 
@ Device Intrc_Osc 
@ Device Protect_Off 
@ Device WDT_Off 
@ Device Pwrt_Off 
@ Device MCLR_On 
@ DEvice BOD_Off 
@ Device LVP_Off 
@ Device CPD_Off 
 
TRISB=0
INICIO:
PORTB.0=1
PAUSE 500
PORTB.0=0
PAUSE 500
GOTO INICIO
END
igual lo compilo y te pongo el HEX
Archivos Adjuntos
Tipo de Archivo: rar PRUEBA.rar (264 Bytes, 62 visitas)
27/05/2011 #9


Gracias amigo lubeck , ya edite el enlace y
veo que es igual ; ò '

Saludos
01/05/2012 #10


disculpa pero si les funciona el programa que ami no me funciona ,
lo grabo en el pic y cuando lo quiero probar no me funciona.........
me podrian ayudar tambien.........

gracias
01/05/2012 #11


pusiste la resistencia de 10k o 4k7 del pin 4 al positivo de tu fuente?

0 podrias poner un esquema o detallar mas el porque no te funciona....
01/05/2012 #12


disculpen pero a la de hora de compilar el programa que pucieron me aparece error de archivos me pordrian ayudar......
lo compilo en microcode y con pbp v2.47

---------- Actualizado después de 2 minutos ----------

me pueden ayudar con este porfavor

---------- Actualizado después de 20 minutos ----------

pongo esto

@ Device PIC16F628A
@ Device Intrc_Osc
@ Device Protect_Off
@ Device WDT_Off
@ Device Pwrt_Off
@ Device MCLR_On
@ DEvice BOD_Off
@ Device LVP_Off
@ Device CPD_Off

TRISB=0
INICIO:
PORTB.0=1
PAUSE 500
PORTB.0=0
PAUSE 500
GOTO INICIO
END

aver me dice esto:::

error(105) c;\pbp\16f628a.inc 21 : cannot open file (include file "p16f628a.inc"not found)
error(113) c;\pbp\16f628a.inc 22 : symbol not previously defined ( XT OSC)
error(113) c;\pbp\16f628a.inc 22 : symbol not previously defined (WDT ON)
error(113) c;\pbp\16f628a.inc 22 : symbol not previously defined (MCLRE ON)
error(113) c;\pbp\16f628a.inc 22 : symbol not previously defined (LVP OFF)
error(113) c;\pbp\16f628a.inc 22 : symbol not previously defined (CP OFF)
error(115) c:\users\tlaloc\docume~1\mcsx\led.asm 50 ;duplicate label ("PORTL" or redefiining sybol that cannot be rdefinded)
error(115) c:\users\tlaloc\docume~1\mcsx\led.asm 52 ;duplicate label ("PORTH" or redefiining sybol that cannot be rdefinded)
error(115) c:\users\tlaloc\docume~1\mcsx\led.asm 54 ;symbol not previosly defined (TRISB)
error(115) c:\users\tlaloc\docume~1\mcsx\led.asm 56 ;symbol not previosly defined (TRISA)
error (113) c:\pbp\pbppic14.lib 6141 : symbol not previously defined (STATUS)
error (113) c:\pbp\pbppic14.lib 6141 : symbol not previously defined (C)
error (113) c:\pbp\pbppic14.lib 6143 : symbol not previously defined (STATUS)
error (113) c:\pbp\pbppic14.lib 6143 : symbol not previously defined (C)
error (113) c:\pbp\pbppic14.lib 6199 : symbol not previously defined (STATUS)
error (113) c:\pbp\pbppic14.lib 6199 : symbol not previously defined (C)
error (113) c:\pbp\pbppic14.lib 6202 : symbol not previously defined (STATUS)
error (113) c:\pbp\pbppic14.lib 6202 : symbol not previously defined (C)
error (113) c:\pbp\pbppic14.lib 7402 : symbol not previously defined (STATUS)
error (113) c:\pbp\pbppic14.lib 7402 : symbol not previously defined (IRP)
too many errors
Imágenes Adjuntas
Tipo de Archivo: png Sin título.png (32,3 KB (Kilobytes), 16 visitas)
01/05/2012 #13


Los fuses con MPASM no se ponen de esa manera...

pon nada mas esto

Código:
TRISB=0
INICIO:
PORTB.0=1
PAUSE 500
PORTB.0=0
PAUSE 500
GOTO INICIO
END
y ve si te lo compila...
01/05/2012 #14


si me compila pero pues lo pruebo con el pic y no me funciona......
me podrias decir mi error..
pues gravo el hex en pic 16f628a con el pickit 2 en un programador de microchip
y me sigue pasando los mismo de qeu el pic no me genera nada
01/05/2012 #15


si me compila pero pues lo pruebo con el pic y no me funciona......
me podrias decir mi error..
el error esta en que estas compilando con MPASM y los fuses no se configuran de esa manera...

cuando utilizas mpasm se ponen mas o menos asi...

Código:
@ __CONFIG _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L  
@ __CONFIG _CONFIG1H, _FOSC_HSPLL_HS_1H & _FCMEN_ON_1H & _IESO_ON_1H
@ __CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
ojo que para el 16f628a no son esos, pero es para que veas cual es el formato...


por otro lado en la ventana de complie & program options ve a la pestaña de assambler y desmarca el Use MPASM y entonces si intenta con los fuses de esta manera...

Código:
@ Device PIC16F628A 
@ Device Intrc_Osc 
@ Device Protect_Off 
@ Device WDT_Off 
@ Device Pwrt_Off 
@ Device MCLR_On 
@ DEvice BOD_Off 
@ Device LVP_Off 
@ Device CPD_Off
02/05/2012 #16


garxias me lo compila y ya no me da errores ,,,,,,,,,,,,
pero el mismo problema que me da es qe no funciona en el pic
02/05/2012 #17


en el pin 4 que tiene tu pic????
02/05/2012 #18


una resistencia y un push botton para resetear el programa del pic
02/05/2012 #19


La resistecia va a positivo verdad?

por otro lado, al ultimo con que estas compilando con PBP o con MPASM?, destildeaste el "use MPASM"?

eso es muy importante, configurar los fuses adecuadamente para que utilice el oscilador interno, sino nunca va a funcionar...

Pudes poner un esquema aqui de como lo estas conectando para ver posibles errores en las conexiones...
02/05/2012 #20


hi ce lo qeu me dijistes y compilo con pbp
pero pues no me funciona en mi entrenador qeu hice
copie y pegue el codigo q me dijistes los fuses ydespues como configure los puertos...
me lo compila y me genera el hexadecimal pero cuando lo quiero probar nada......

---------- Actualizado después de 5 minutos ----------

@ Device PIC16F628A
@ Device Intrc_Osc
@ Device Protect_Off
@ Device WDT_Off
@ Device Pwrt_Off
@ Device MCLR_On
@ DEvice BOD_Off
@ Device LVP_Off
@ Device CPD_Off


TRISB=0
INICIO:
TRISB=3
PAUSE 100
TRISB=0
PAUSE 50
GOTO INICIO
end
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.