# Pic 16f628a No programa un solo codigo



## zidaemon (Oct 21, 2006)

Les comento que ya van dos programas que me pasan lo mismo, hace tiempo que programo pic, solo tenia un solo dispositivo debido a que no se dañaba, pero con un codigo en especial, se daño.

Despues, compre otro y probe otros codigos que ya tenia, los programo sin problemas, pero cargue de nuevo el codigo y no grabo nada, solo el error en " la famosa direccion 0x00...".

Hoy , me paso lo mismo, habia programado otros codigos en este pic, pero le meti un codigo de teclado y de nuevo, lo quemo, por que despues de programar este "programa pirata" ya no graba nada.

Utilizo el programador Pablin II y el MPLAB. Creo yo, que auque mi codigo este mal, no es como para que los queme, por cierto, siempre utilizo el reloj interno, y desactivo todas las casillas de la s opciones de WDT y CP y esas cosas que habilita el IC PROG 1.5

Por cierto, la primera ocasion, decidi programar el codigo "pirata" en una tienda que tiene un programador "profesional", que costo $20, y si funciono sin ningun problema. Sera defecto del programador? les dejo el codigo para que observen. 

PORQUE CON CODIGOS ESPECIFICOS, SE QUEMA EL PIC?

```
LIST P=16F628A
#INCLUDE <P16F628A.INC>

#DEFINE		Q1		PORTA,2
#DEFINE		Q2		PORTA,4
#DEFINE		Q3		PORTB,0
#DEFINE		Q4		PORTB,2
#DEFINE		D1		PORTA,3
#DEFINE		D2		PORTA,5
#DEFINE		D3		PORTB,1
#DEFINE		D4		PORTB,3
AUX			EQU		0X20


		ORG		0X00
		MOVLW	0X07
		MOVWF	CMCON
		BSF		STATUS,5
		MOVLW	B'00101000'
		MOVWF	TRISA
		MOVLW	B'00001010'
		MOVWF	TRISB
		BCF		STATUS,5
		CLRF	PORTA
		CLRF	PORTB
	
MAIN	CALL 	TECLADO
		MOVWF	AUX
		BTFSC	AUX,7
		GOTO	MAIN
		CALL 	SACARUNO
MAIN2	CALL	TECLADO
		MOVWF	AUX
		BTFSC	AUX,7
		GOTO 	MAIN2	
		CALL	SACARDOS
		GOTO	MAIN


;******************************
TECLADO	BSF		Q1
		BTFSC	D1
		RETLW	0X0C
		BTFSC	D2
		RETLW	0X0D
		BTFSC	D3
		RETLW	0X0E
		BTFSC	D4
		RETLW	0X0F
	
		BCF		Q1
		BSF		Q2
		BTFSC	D1
		RETLW	0X08
		BTFSC	D2
		RETLW	0X09
		BTFSC	D3
		RETLW	0X0A
		BTFSC	D4
		RETLW	0X0B
	
		BCF		Q2
		BSF		Q3
		BTFSC	D1
		RETLW	0X04
		BTFSC	D2
		RETLW	0X05
		BTFSC	D3
		RETLW	0X06
		BTFSC	D4
		RETLW	0X07

		BCF		Q3
		BSF		Q4
		BTFSC	D1
		RETLW	0X00
		BTFSC	D2
		RETLW	0X01
		BTFSC	D3
		RETLW	0X02
		BTFSC	D4
		RETLW	0X03

		BCF		Q4
		RETLW	0XFF
;***********************************
SACARUNO	BTFSC	AUX,0
			BSF		PORTA,1
			BTFSC	AUX,1
			BSF		PORTA,0
			BTFSC	AUX,2
			BSF		PORTA,7
			BTFSC	AUX,3
			BSF		PORTA,6
			RETURN
;**********************************
SACARDOS	BTFSC	AUX,0
			BSF		PORTB,4
			BTFSC	AUX,1
			BSF		PORTB,5
			BTFSC	AUX,2
			BSF		PORTB,6
			BTFSC	AUX,3
			BSF		PORTB,7
			RETURN
;**********************************
END
```


----------



## zidaemon (Dic 12, 2006)

Por fin solucionado, aun desconocido, pero el problema es el programador. por que proble con un programador por puerto serie, y funcionaron muy bien los chips, tal vez un error por ahi en los voltajes, pero aun se me hace extraño. 

Que tengan un buen dia Zidaemon


----------



## del Amo (Jul 20, 2007)

Desde que se hizo esta pregunta se que ha pasado mucho tiempo, pero hoy me he decido ha entrar en el Foro.    El problema que ocurre al grabar el Pic 16F628 por el puerto paralalo, es que hutilizamos VPP es decir 13 V. Si configuramos la linea RA5 o PORTA 5 como I/O en el momento de hacer la gravación el chip se resetea con lo cual siempre nos dara el error ya que esta linea es la hutilizada para la gravación del chip por el modo VPP. Lo aconsejable es grabar este chip por el puerto serie COM1 o Com2. siempre que hutilicemos esta linea como I/O,  NO obstante y si no es demasiado tarde comprueba los chips ya que es posible que no esten estropeados.    Estoy trabajando en este asunto para tratar de resolver el problema ya que que considero mas fiable el puerto parelelo LPT1 que el COM.


----------



## remramon2007 (Ene 31, 2008)

buenas como estan?
ya habia leido esto y no lo conteste en su momento porque tambien me pasaba algo parecido y me volvi loco jaja, paso a contarte y a tirarte un par de respuestas
borralo
(fijate si esta bien grabado (osea que aparesca 3FFF en cada direccion del pic) si te aparece 0000 o algo raro en cada direccion volve a borrar)
ahora lo volvemos a grabar
si tenes habilitada la opcion de verificar despues de grabar y te tira error cuando esta verificando proba el micro en la placa es muy probable que ande bien y que genere un conflicto al querer leerlo ya que si usas oscilador interno el micro como te dijieron mas arriba se reinicia y sale andando

resumiendo:

borra
graba
verifica si da error mandalo a la placa y fijate que onda

bueno fijate y espero que te sirva

por cierto yo tambien uso el programador pablin II con el IcProg

un abrazo y cualquier cosa avisa


----------



## esteban zapata (Oct 22, 2011)

Hola tengo un problema con el ejercicio siguiente, en Pic16f628a, capaz que alguien tiene este programa, lo necesito, gracias. Un módulo automatiza el movimiento de un alza cristal eléctrico. Controla el motor según el comando, que esta formado por dos pulsadores, que no pueden presionarse al mismo tiempo,
activos en L. El circuito tiene además un sensor de exceso de corriente para proteger al motor,
activo en L. Al presionar la tecla de subir / bajar el vidrio, el motor se enciende en el sentido que sube / baja el vidrio. Si se suelta la tecla antes de 0,5 seg. el módulo continua activando el motor en el sentido
indicado. Este lo mantiene activado (estado automático) hasta que ocurra uno de estos hechos
I) Pasen 8 segundos, detener el motor.
II) Se vuelva a presionar la misma tecla, se pase a modo manual. Cuando se
suelta, se detiene. Durante este estado se ignorara la otra tecla.
Si se mantiene presionada más de 0,5 seg. el motor se detendrá cuando se suelte la tecla
(estado manual). Cuando el sensor de consumo detecte aumento de corriente se detendrá el motor y se ignorará cualquier orden durante 3 segundos. Si se estaba en modo automático se volverá a manual.
Diseñar un programa que atienda estas condiciones.
No descuidar el ahorro de energía y condiciones de seguridad.


----------



## lubeck (Oct 22, 2011)

Estas de suerte!!!....

yo lo tengo...

https://www.forosdeelectronica.com/f19/eleva-cristales-one-touch-uc-uaporte-54593/

solo le falta lo del interlock, eso lo hice por codigo en otra version pero no esta dificil intentalo...


----------



## andyt (Abr 8, 2012)

hola muchachos
tengo un problema con el puerto B ...
mando un pulso por el pin 2 del puerto b, y me lo envia a todo el puerto b... que sera que pasa?

clrf portb 
bsf portb ,2
call retardo_1s
bcf portb ,2
call retardo_1s
.
.
gracias por su colaboracion

saludos


----------

