Autor Tema: Trasladar programa hecho en 16F877a para 18LF4550  (Leído 1506 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado P@tolin

  • PIC10
  • *
  • Mensajes: 13
Trasladar programa hecho en 16F877a para 18LF4550
« en: 23 de Julio de 2011, 02:36:44 »
Hola amigos.

Estoy haciendo un proyecto, en el cual debo manejar un menu con botones (pulsadores), desplegarlo en un lcd. Todo eso lo tengo listo y funcionando sin problemas en un pic16f877.

Lo que si requiero, es que se conecte via usb a un programa de visual basic. Basicamente, es controlar ese mismo menu, y por decirlo de alguna manera, que esos interruptores sean activados via usb.
En realidad, es modificar el valor de las variables asociadas a los pulsadores.

Podria utilizar en su defecto, un circuito integrado, que tiene interfaz usb y la convierte en una rs232, pero , ya que tengo un 18f4550, quiero usar todo su potencial , en especial aprender a manejarlo por usb


El programa, funciona sin problemas en un 16f877, y "retoque" algunas lineas de programa que al parecer no eran compatibles, por ejemplo el registro OPTION_REG.

Pero lo demas lo deje tal cual.

En mi circuito (aprovechando que por lo menos pin a pin es casi identico al 877), y utilizando el lcd a 8bits por el puerto A (debere estudiar mas si utilizando este puerto, tendre problemas con el usb), y lo tengo trabajando con un cristal de 4 mhz.

El asunto, es que echo a correr el programa, y la primera pantalla que se despliega es un "inicializando", pero, revisando el mplab (solo se programar en asm), y con la ayuda de un debugger mdc2, me dspliega en el LCD "IINNIICCIIAALLIIZZAANNDDOO", QUEDANDOSE EN ESA PANTALLA, Y NO APARECE LAS FUNCIONES que vienen a continuacion.

Logicamente, he utilizado las famosas tablas de datos para desplegar en un lcd, con el comando ADDWF PCL,1.

Baje el datasheet del 18F4550, por lo que debo leerlo, pero revisando, justamente la tabla se repite, a pesar que el incremento de la direccion es correcta, y no deberia repetirse.

Por eso acudo a ustedes como expertos, si es compatible usar ese tipo de tablas, o requiero modificarlas.

Tambien, algun consejo para usar el usb, ya que de partida, no requiero que el circuito funcione con el voltaje usb (tiene fuente propia, y el uso del pc es opcional pero necesario para algunas funciones escondidas).

Tambien, compre hace un tiempo, un LCD chino chino chino, y por mas que trate de interceptar el bit de busy no fue posible, solo uso delays, y tambien , en otros proyectos, usando un LCD Stanley, nunca tuve problemas para hacerlo funcionar a 4 bits, pero en este lcd no puedo. ¿Alguien ha tenido ese problema?.

Muchas gracias