Problema al pasar del 16f84a al 16f628a

Buenos dias. Tengo un programa con el 16f84a funcionando hace dias y lo cambié al 16f628a. Le hice los cambios necesarios, se ensambla ok y la simulación no tiene problemas. El problema me surge al programarlo pues me aparece un mensaje de error en la memoria en varias posiciones y no me lo deja programar finalmente.
Cual puede ser el error?
Gracias por la colaboración.
 
¨Code programming error at 0002¨. La dirección del error varia cada vez. Borro el pic para iniciar de nuevo la programación y me muestra el mismo mensaje con otra dirección.
 
ummm. ese tipo de mensaje es usual por una mala programacion del chip. Revisa las conexiones y/o prueba con otro chip. Estas seguro que tu programador esta habilitado para el F628A ?. Salu2
 
Hola Tecnogirl,... lo he probado con 4 pic pues inicialmente pensé que me había salido malo el que compré pero otros 3 chip con los que he intentado me muestran el mismo mensaje y con lo de la selección del pic pues también lo he realizado incluso me da posibilidad de usar el 16f628 y el 16f628A y con ninguna de las 2 opciones me da. Con la primera me dice que ese no es el chip y con el segundo el problema del error. :confused: :unsure:
 
e tenido un problema similar en el momento de la grabacion y en mi caso lo solucione agregando un capasitor ceramico en la fuente de + v a chasis ,despues de grabar 1200 pic otra ves tenia problemas con mi grabador y el problema era el zocalo,
tambien me a paso que me canse de grabar pic y se me ocurrio poner tres pic 16f84 uno encima de otro ,asi quedan en paralelo los tres y se graban sin ningun problema ,llevo mas de 500 grabados asi de a tres y asta aora ninguno a fallado,claro que de esos 500 grabados de esa manera solo e usado unos 200 mas o menos,todabia me quedan unos 300 por probar ,el programa que use fue icprog y el progamador dise nix 98,yo te diria que busques el problema en el zocalo y que la fuente de tu grabador no tengas ruidos,el cable del grabador no sea muy largo,en caso que uses puerto paralelo,tambien baja un poco la velocidad de tu puerto si es db25 o db9 ,si usas windo es facil configurar eso,bueno mucha suerte ,no se si te sirva ,eso es lo ise cuando tenia problemas que a mitad de grabacion me tiraba error o sino directamente no me lo reconisia ,
en resumen
zocalo malo
fuente con ruido
velocidad de puerto demasiada
cable muy largo desde el puerto a tu progamador
 
Última edición:
hola tal vez el error esta en el espacio de memoria que quieres utilizar recuerda que el PIC16f628a varia la organizacion de la memoria al 84, se me ocurre que a lo mejor estas dando de alta un registro en un espacio de memoria que no esta disponible.
 
hola tal vez el error esta en el espacio de memoria que quieres utilizar recuerda que el PIC16f628a varia la organizacion de la memoria al 84, se me ocurre que a lo mejor estas dando de alta un registro en un espacio de memoria que no esta disponible.

pero si lo compila bien tambien deveria grabarse bien ,alo sumo despues no le ba a funcionar el progama ,estare equivocado¿
 
En eso de la compilacion tienes razon Gustavo mas sin embargo yo comento esto por que asi me paso una vez no se si fue error del compilador el chiste es que le di otra direccion de memoria al pic y me funciono al probarlo igual puede ser el programador
 
no queres compartir tu progama y lo probamos aver si es tu progamador, o si es un error en las direciones de memoria como le paso al colega snakerwather ,es raro,para mi que el problema esta en tu grabador de pic o quizas no esta bien configurado y eso es todo ,de todos modos insisto en que tambien es problable que tu fuente ,del grabador este metiendo ruido y por eso los errores tan erraticos en distintas direcciones al momento de grabar el pic
 
Hola a todos.. el programador que uso es EPWIN uno sencilito que compré hace tiempo en un almacen de electrónica y la verdad me ha funcionado muy bien con los demás pic, f84,f877,f508,f876, etc y solo me molesta con el f628a. La comunicación es por el puerto paralelo. Voy a ensayar lo del condesador en el programador y pondré el programa para que me lo revisen.
Mil gracias a todos, trataré de hacerlo mañana mismo.
 
Hola, he decidido migrar al 16F628A y en el fututo al 16F876A. He hecho un programa más sencillo consta de cuatro leds conectados a RB4…RB7, se prenden de acuerdo con el pulsador enviado por la parte transmisora, y un quinto led que va a RB0 el cual prende tan pronto se inicia el PIC. Lo probé con el 16F84A y funciono, mientras con el 16F628A no, tan solo prende el quinto led (RB0), parece que no lee el puerto A. Hice los siguientes cambios: Fuses, reloj interno y deshabilitar los comparadores del puertoA.

;Este programa se utiliza para recibir la señal de un control remoto via RF
;para mover un carro => ADELANTE => ATRAS => DERECHA => IZQUIERDA Y PARAR
;**********************************************************
;** CONFIGURACION DEL DISPOSITIVO ***
;*********************************************************
LIST P=16F628A
INCLUDE <P16F628A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _INTOSC_OSC_NOCLKOUT & _DATA_CP_OFF & _LVP_OFF & _MCLRE_ON

;**********************************************************
;** ASIGNAMOS LAS VARIABLES DE LOS REGISTROS DE RAM ***
;**********************************************************
cblock 0x21
PORTA_T
endc
;**********************************************************
;** ESCRITURA DEL PROGRAMA DEL PIC ***
;**********************************************************
Org 0x0000
GOTO INICIO
;**********************************************************
;** CONFIGURAMOS PUERTOS DEL PIC ***
;**********************************************************
INICIO
CLRF PORTA
MOVLW 0x7 ; Configuro Comparador Analogico
MOVWF CMCON ; V1in-=GND, V1in+=GND, C1out=Off| V2in-=GND, V2in+=GND, C2out=Off

BCF STATUS,RP1
BSF STATUS,RP0 ;SELECCIONAMOS EL BANCO 1
CLRF TRISB ;PORTB como salida
MOVLW B'00111111'
MOVWF TRISA ;PORTA como entrada
BCF STATUS,RP0 ;SELECCIONAMOS EL BANCO 0
CLRF PORTA ;PuertoA a cero
CLRF PORTB ;PuertoB a cero
CLRF PORTA_T
MOVLW b'00000001'
MOVWF PORTB

;**********************************************************
;** EMPEZAMOS CON EL PROGRAMA ***
;**********************************************************
LEER_RF
MOVF PORTA,W ;Si PORTA es diferente a PORTA_T hay cambio
XORWF PORTA_T,W ;Si PORTA es igual a PORTA_T no hay cambio
BTFSC STATUS,Z ;o es `posible un rebote
GOTO LEER_RF

MOVF PORTA,W
XORLW 0x15 ; b'00010101' d'021' ADELANTE
BTFSC STATUS,Z
CALL ADELANTE
MOVF PORTA,W
XORLW 0x1A ; b'00011010' d'026' ATRAS
BTFSC STATUS,Z
CALL ATRAS
MOVF PORTA,W
XORLW 0x19 ; b'00011001' d'025' IZQUIERDA
BTFSC STATUS,Z
CALL IZQUIERDA
MOVF PORTA,W
XORLW 0x16 ; b'00010110' d'022' DERECHA
BTFSC STATUS,Z
CALL DERECHA
MOVF PORTA,W
XORLW 0x13 ; b'00010011' d'019' PARAR
BTFSC STATUS,Z
CALL PARAR

GOTO LEER_RF

ADELANTE
MOVF PORTA,W
MOVWF PORTA_T
CALL RESSET
MOVLW b'10100000'
XORWF PORTB
RETURN

ATRAS
MOVF PORTA,W
MOVWF PORTA_T
CALL RESSET
MOVLW b'01010000'
XORWF PORTB
RETURN

DERECHA
MOVF PORTA,W
MOVWF PORTA_T
CALL RESSET
MOVLW b'01100000'
XORWF PORTB
RETURN

IZQUIERDA
MOVF PORTA,W
MOVWF PORTA_T
CALL RESSET
MOVLW b'10010000'
XORWF PORTB
RETURN

PARAR
MOVF PORTA,W
MOVWF PORTA_T
CALL RESSET
MOVLW b'00000000'
XORWF PORTB
RETURN

RESSET
CLRF PORTA ;Puerto A a cero
CLRF PORTB ;Puerto B a cero
RETURN

END
 

Adjuntos

  • Módulos RF con PIC+PWM+Interrupcion 2.png
    Módulos RF con PIC+PWM+Interrupcion 2.png
    29.6 KB · Visitas: 12
Última edición:
Atrás
Arriba