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

Temas similares

31/08/2009 #1


como hacer una tabla muy extensa con un pic
Hola he sido autodidacta hasta ahora porque no tengo a nadie que me enseñe a usar pics asi que espero que alguien me pueda ayudar con un problema por favor, mi problema es el siguiente:
Estoy usando un pic 16f877A al cual le asigno una entrada en el puerto B y quiero que para cada cambio de un bit me genere una salida de 19.16 osea que vaya desde cero a 4905, estos valores los debo mostrar en 4 dispalys de 7 segmentos.
Lo que estoy haciendo es poner 2 tablas muy extensas de 256 valores hexadecimales por los puertos C (unidades y decenas) Y D (centenas y millares), esto lo mando a decoders y de ahi a los displays, pero llega un momento que el pic se "traba" desde un valor en adelante, no se si se llene la memoria o que pasa porque no me marca error ni nada. Por favor quien me pueda ayudar con mi problema o decirme de que otro modo lo puedo resolver estare muy agradecido. aqui esta el programa por si lo quieren checar
31/08/2009 #2
Moderador

Avatar de Chico3001

Respuesta: como hacer una tabla muy extensa con un pic
el manejo de tablas extensas en un PIC requiere de ciertos cuidados... veo en tu programa que solo estas cargando PCL y esa es la razon de que se pierda el programa... para que funciones primero tienes que cargar PCLATH con la parte alta de la direccion de la tabla y despues hacer la busqueda con PCL del modo siguiente:

Código:
	ORG 0x0200	;Se obliga al compilador a escoger una direccion definida

tabla1:	movlw	h'02'		;cargamos parte alta de la direccion en pclath
		movwf	pclath		;
		movf	salto,w		;cargamos el valor de busqueda en w
		addwf	pcl,f		;salta a buscar valor
		retlw	(valor1)
		retlw	(valor2)
		retlw	(valor3)
		....
		....
		....
		retlw	(valor251)	;ojo, como ya se usaron 4 direcciones para hacer
							;el preparativo de salto solo podemos tener una
							;tabla de 251 valores (251+4=255)

	ORG 0x0300	;Se obliga al compilador a escoger una direccion definida

tabla2:	movlw	h'03'		;cargamos parte alta de la direccion en pclath
		movwf	pclath		;
		movf	salto,w		;cargamos el valor de busqueda en w
		addwf	pcl,f		;salta a buscar valor
		retlw	(valor1)
		retlw	(valor2)
		retlw	(valor3)
		....
		....
		....
		retlw	(valor251)	;ojo, como ya se usaron 4 direcciones para hacer
							;el preparativo de salto solo podemos tener una
							;tabla de 251 valores (251+4=255)
01/09/2009 #3

Avatar de Meta

Respuesta: como hacer una tabla muy extensa con un pic
Mira esto en PDF aquí.

http://www.pic16f84a.org/index.php?o...id=3&Itemid=59

Saludo.
03/09/2009 #4


Respuesta: como hacer una tabla muy extensa con un pic
Muchas gracias por sus respuestas de verdad aclararon mis dudas

rifan la neta
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.