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

Temas similares

08/06/2011 #1


Problema con pic 16f84A (No consigo programarlo)
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.
08/06/2011 #2


Pues haber!!!
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.
08/06/2011 #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.
08/06/2011 #4


Pues mas o menos!!
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.
19/06/2011 #5


Gracias, lo intentare y te lo comentare . Perdon por tardar en contestar :S
22/06/2011 #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
22/06/2011 #7

Avatar de soerok

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.
22/06/2011 #8


Mira en la red puedes ver en www.minirobot.com.mx; ve la pagina ahi encuentras todo chekala pagina esta muy buena y es de aki (Mexico)...
Respuesta
¿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.