Problema con pic 16f84A (No consigo programarlo)

#1
Hola que hay? Me gustaría saber si alguien ha probado este circuito para programar pic.


aqui os dejo el link de la pagina donde lo he sacado: http://r-luis.xbot.es/project/grab_pic.html

Soy novato en el tema, casi no se lenguaje de programación, se mas C que assembler, asi que me fui a esta pagina para aprender a manejarlos. http://r-luis.xbot.es/pic1/pic01.html Es un tutorial de 10 páginas sobre los pic y de alli saque el circuito programador (Hardware). Instale todos los programas que estan en la pagina 6, el compilador (Para pasar archivos a hexadecimal) y el programador, pero a la hora de programar me dice que hay un error en el código. El codigo es este:

Código:
;---------------Encabezado-------------

	LIST	p=16f84	     
	radix	hex	     

;------------mapa de memoria---------

estado	equ	0x03	     ; Haciendo asignaciones
TRISB	equ	0x06	      
ptob	equ	0x06	     

reg1	equ	0x0C	     ; Estos 3 registros los utilizaré
reg2	equ	0x0D	     ; para hacer el retardo
reg3	equ	0x0E	     	

;-------Configuración de puertos-------

reset	org	0x00 	     ; origen del programa, aquí comenzará
			     ; siempre que ocurra un reset
	goto 	inicio	     ; salta a "inicio"
inicio	bsf	estado,5  	     ; pone rp0 a 1 y pasa al banco1
	movlw	b'00000000'    ; carga W con 00000000
	movwf	TRISB	     ; y pasa el valor a trisb
	bcf	estado,5  	     ; pone rp0 a 0 y regresa al banco0

;----Aquí enciende y apaga el LED-----

ahora	bsf	ptob,0	     ; pone un 1 en RB0 (enciende el LED)
	call	retardo	     ; llama al retardo

	bcf	ptob,0	     ; pone a 0 RB0 (apaga el LED)
	call	retardo	     ; llama al retardo
	goto 	ahora	     ; repite todo de nuevo

;-----------Rutina de Retardo-----------

retardo	movlw	10	     ; Aquí se cargan los registros
	movwf	reg1	     ; reg1, reg2 y reg3
			     ; con los valores 10, 20 y 30
tres	movlw	20	     ; respectivamente
	movwf	reg2

dos	movlw	30
	movwf	reg3

uno	decfsz	reg3,1	     ; Aquí se comienza a decrementar
	goto	uno	     ; Cuando reg3 llegue a 0 
	decfsz	reg2,1	     ; le quitare 1 a reg2
	goto	dos	     ; cuando reg2 llegue a 0	
	decfsz	reg1,1	     ; le quitare 1 a reg1
	goto	tres	     ; cuando reg1 llegue a 0
	retlw	00	     ; regresare al lugar 
			     ; de donde se hizo la llamada

;------------------------------------------
	end		     ; se acabó
;------------------------------------------
Que es lo que hago mal?, he seguido al pie de la letra los pasos de la pagina pero no consigo programarlo. :cry:
 
Última edición:
#2
La verdad no habia visto ese diseño de programador (puede que sea eso, deberias comprarlo) porque verifique tu programa y se ensamblo sin problemas. Lo unico que te falta es la palabra de control. Por ejemplo yo todos mis programas los comienzo asi:

; ZONA DE DATOS **********************************************************************

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>

CBLOCK 0x20
ENDC

org 00
goto inicio
inicio org 05

;y ya apartir de aqui pones todo tu codigo

En la palabra vienen cuestiones como el nivel de voltaje, tiempo de estabilidad, el watchdog timer, la velocidad (te la da el cristal) y varias cuestiones mas pero con lo que esta en el codigo es suficiente espero te funcione suerte. Ensambla en mplab, carga el .hex en icprog y mejor compra el hardware del programador.;);)
 
#3
Ok, ya veo, insertas antes los fusibles de programación. Claro, se supone que mi programa lo hace por ti pero lo probaré. Muchas gracias ;). Por cierto una cosa más, cuanto me puede llegar a costar el harware? necesito alguno en especial o todos son compatibles con MPlab? Estoy como loco por ver funcionar mi pic. Jajaj es el primero que programo y soy nuevisimo en el tema :O.
 
#4
Mira por el hardware solo debes preguntar si es para el pic que quieres (que es de 18 pines) y pues eso es todo se conecta por cable serial, hay unos mas poderosos que ya son usb. Pero si usas el serial necesitas el icprog y si usas usb necesitas otro que por el momento no recuerdo el nombre pero lo tengo en otra computadora. Y hablando de precio aqui en mexico cuesta aproximadamente $200 pesos (serial) y $350 pesos (usb) asi que echale cuentas. Si necesitas el software ese te lo puedo pasar el que necesites; a por ultimo asegurate de tener bien alambrado el circuito. Suerte y espero que salga tu proyecto.:cool::cool:
 
#6
¿donde venden el programador USB a 350? yo lo compre en STEREN a 650 y con un monton de problemas que porque es Xp, que la actualización del Firmware, que lo drivers requieren actualización hoy y mañana otra vez.......

Me interesa conseguir ese programador de $350.00, favor de informar.

saludos, gracias.

IMS
 
#7
Yo compre un clon del PICKit2 por USD 25, por eBay, y la verdad que son muy buenos, se llama iCA01, es el programador por ICSP y un adaptador para varios PICs.
 
Arriba