Sustituir PIC16F84 por PIC16A628A

Ok amigo mabauti gracias por tu colaboracion y por estar atento a mis preguntas ya resolvi el problema de porque me aparecia esa raya en la parte donde llamo a la rutina desplazar_32 en lugar de cargar el literal 6 era cargar literal 5, ya tengo la matriz 100 % funcionando con el pic 16F628A porcia hay algun usuario interezado les dejo el codigo final .asm y el achivo .inc con los retardos anexo circuito y archivo leeme donde aparecen los valores de todos los componentes a y por ultimo recuerden colocar la R de 10 K en RA4 que es salida de colector abierto " :LOL: por fin mi matriz funciona :LOL: " a el mensaje que puse para que mostrara la matriz es personal lo pueden cambiar por cualquiera que deseen suerte y de nuevo gracias por tu atensión mabauti. suerte y disfrutenla.
 

Adjuntos

  • nueva_carpeta_143.rar
    196.4 KB · Visitas: 35
Hola a todos talvez peque de metido se que no es el tema pero por lo que veo dominan el pic 16F628 no entiendo bien si el codigo que se utiliza para el pic 16F84 sirve para el pic 16F628A necesito hacer un de un motor a pasos con un pic y el que he conseguido es el pic 16F628A que debo hacer
 
hola amigo este es el codigo que tengo para el pic 16F84 seria posible que me ayudes para poder pasarlo a el pic 16F628A el archivo retardos es solo una libreria de tiempos no te la incluyo porque no suben los archivos .inc tambien a ver que puedes hacer para ayudarme lo simule no me da error pero la logica no estoy muy seguro
el objetivo del programa es que con un pulsante le de el inicio RA0 y dependiendo del estado de RA4 gira horaria o antiorariamnete...por favor si no es mucho pedir para que me ayudes en eso para poder grabarlo en el pic 16F628A. A la libreria de tiempos la he hecho un .txt
 

Adjuntos

  • motor_161.asm
    1 KB · Visitas: 25
  • retardos_148.txt
    1.7 KB · Visitas: 32
las modificaciones son pocas

Código:
		;suppress bank selection messages

	list      p=16f628A            ; list directive to define processor
	#include <p16f628A.inc>        ; processor specific variable definitions
	ERRORLEVEL	0,	-302			;suppress bank selection messages
	
  __CONFIG _CP_OFF & _WDT_OFF & _BOREN_OFF & _PWRTE_ON & _MCLRE_OFF & _LVP_OFF & _XT_OSC	

	cblock 	0x20 	;start of general purpose registers
	ENDC
#DEFINE EntradaMarcha	PORTA,0
#DEFINE EntradaSentido	PORTA,4

	ORG	0
	
	movlw	0x07				;Turn comparators off and
	movwf	CMCON				;enable pins for I/O functions
	
Inicio
	bsf		STATUS,RP0
	bsf 	EntradaMarcha
	bsf 	EntradaSentido
	clrf 	PORTB
	bcf		STATUS,RP0
Principal
	btfss	EntradaMarcha
	goto	Gira
	clrf	PORTB
	goto	Fin
Gira	btfsc	EntradaSentido
		goto	A_Izquierda
		call	GiroDerecha
		goto	Fin
A_Izquierda
		call	GiroIzquierda
Fin		goto	Principal

;Subrutina"GiroIzquierda"

GiroIzquierda
		movlw	b'00110101'
		call	ActivaSalida
		movlw	b'00110110'
		call	ActivaSalida
		movlw	b'00111010'
		call	ActivaSalida
		movlw	b'00111001'
		call	ActivaSalida
		return

;Subrutina"GiroDerecha"		

GiroDerecha
		movlw	b'00111001'
		call	ActivaSalida
		movlw	b'00111010'
		call	ActivaSalida
		movlw	b'00110110'
		call	ActivaSalida
		movlw	b'00110101'
		call	ActivaSalida
		return

;Subrutina"ActivaSalida"

ActivaSalida

		movwf	PORTB
		call	Retardo_10ms
		return	
		
		INCLUDE<RETARDOS.INC>
		END

postea el resultado
 
hola disculpen como me debo dar cuenta que cambios debo hacer de un pic 16F84 o 16F84A a un pic 16F628A tengo una gran duda porque lo que hace el amigo con su matriz de leds hace unos cambios esos cambios son genricos con eso quiero decir que si hago esos cambios puedo implementar cualquier codigo del 16F84 y poderlo hacer a un 16F628A....les agradeceria mucho que me respondan
 
si mas o menos me ubico como hacerlo pero la verdad soy nuevo en lo de los pics y me gustaria aprender como hacerlo....me han mencionado eso de utilizar la hoja de datos pero la verdad no se como hacerlo que debo buscar que debo comparar no se..si me podriaas dar la pauta...talvez son preguntas tontas pero trato de auto educarme en lo de los microcontroladores por necesidad porque necesite para el proyecto que me ayudaste a pasar del pic 16F84 al 16F628A por el cual te agradezco muchisimo y te comento que con los cambios que le hiciste me queda 100 funcional...pero el otro semestre ya me toca esa materia y no quiero entrar perdido y este tema me gusta mucho...si me pudieras guiar un poco mas te lo agradeceria..por cierto en estos dias pondre el resultado de mi trabajo no lo he hecho porque he estado en examenes y el tiempo no me ha dado disculpas mabauti ...muchas gracias por todo y estar tan al pendiente y responder tan rapido
 
esos cambios son genricos con eso quiero decir que si hago esos cambios puedo implementar cualquier codigo del 16F84 y poderlo hacer a un 16F628A....les
si , si lo puedes hacer ; hay que ver que cambios de hardware tiene el 628a con respecto al 84a y hacer lo correspondiente con el software.

pero el otro semestre ya me toca esa materia y no quiero entrar perdido y este tema me gusta mucho.
si quieres avanzar, te recomendaria que compres el libro http://www.pic16f84a.org/ ; es bueno para principiantes e intermedios trae muchos ejemplos y ejercicios, desde luego si tienes dudas postealas

Suerte!
 
hola ,son muy pocos los cambios del 84 al 628
el primero y logico incluir la libreria del pic que sea
y el segundo y mas importante para que te quede como el 84
es desacitvar los compardores ,ya que el 628 los trae,,, en el banco 0 tenes que poner asi
MOVLW 0X07
MOVWF CMCON ;DESACTIVO COMPARADORES
ahi ya te queda igualito al 84
tambien despues tenes la opcion para usar el oscilador interno,y te ahorras de poner el cristal
cualquier cosa avisa,,,saludos
 
muchas gracias hare la prueba con los cambios que menciona harleytronics y les comento....si la verdad que me han dicho que es un buen libro como para comenzar lo voy a tratar de buscar o comprar para practicar mucho mas sobre los microcontroladores...gracias cualquier duda estare molestandolos saludos a todos....ahhhhh si el pana que ofrece buscar el libro lo hace que por favor se postee el link
 
hola a todos aqui molestando alguien me puede ayudar explicandome que significa esa linea del codigo la verdad busque información pero solo me dice que es para el grabador la verdad que no entiendo

__CONFIG _CP_OFF & _WDT_OFF & _BOREN_OFF & _PWRTE_ON & _MCLRE_OFF & _LVP_OFF & _XT_OSC
 
CONFIG _CP_OFF = codiggo de programa protejido -apagado
WDT_OFF = watchdog- apagado (esto es para que el pic no se tilde en algun bucle infinito)
_BOREN_OFF=reinicializacion por caida de tension -apagado
_PWRTE_ON=temporizacion al encendido -encendido (esto le da tiempo al pic para que se alimente bien))
MCLRE_OFF =circuito de reinicializacion-apagado
_XT_OSC = oscilador en baja frecuencia
_LVP_OFF=programacion en bajo voltaje-apagado (se usa en las notbooks)
todo esto lo podes progrmar en el asm o sino directamente del programa quemador como el winpic800
yo lo hago desde el winpic se me hace mas comodo
igualmente es importante que estudies bien de que se trata cada punto mencionado para que uses tu pic de la mejor manera
en internet hay mucha ifo sobre esto y si ya tenes algun llibro o tutorial de pic seguro que tambien esta,,
cualquier cosa avisa ,,saludos
 
muchisimas gracias amigo voy a ponerle cabeza para estudiar eso pero ya me queda claro un poco mas de lo que se trata muchisimas gracias y por la respuesta tan rapida eres un gran pana como decimos en mi pais. y te tomo la palabra he de estar molestando mucho espero no se cansen de apoyar al que no sabe ya que me tocan hacer unos programillas en el pic 16F877A y mas o menos ya estoy buscando información. gracias nuevamente
 
Atrás
Arriba