TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: tavisho en 14 de Mayo de 2008, 03:25:59

Título: Rutina lcd para 16f873
Publicado por: tavisho en 14 de Mayo de 2008, 03:25:59
Saludos foreros, estoy en un problema y espero que puedan ayudarme. Estoy mudándome del pic 16f84 al 16f877; el problema es que la rutina que tengo para manejar el lcd es para 16f84 y no encuentro como arreglarla para que funcione en el nuevo 16f877. Es una rutina de 4bits, bastante conocida de una pagina que es 16f84.com de editorial ra-ma.es
Mi programa es más o menos así
Código: [Seleccionar]
List p=16f877
include "p16f877.inc"
cblock 0x0C
endc

org 0x00
goto Inicio

Mensajes
addwf PCL,1 ; suma w con pcl para extrar un valor de la tabla de mensajes
mensaje1
dt "Codigo CRC",0 ; mensaje a enviar
mensaje2
dt "10110010",0
Inicio
bsf STATUS,RP0; cambia al banco 1 para hacer a puerto a entradas digitales
bcf STATUS,RP1
clrf TRISB
movlw b'00000110' ; puerto a entradas digitales
movwf ADCON1
bcf STATUS,RP0 ; vuelve a banco cero

call LCD_Inicializa
movlw .0
call LCD_PosicionLinea1
movlw mensaje1
call LCD_Mensaje
movlw .1
call LCD_PosicionLinea2
movlw mensaje2
call LCD_Mensaje
sleep
include "LCD_4BIT.INC"
include "LCD_MENS.INC"
include "RETARDOS.INC"
end
Lo del mensaje crc es pura vanidad, aún no escribo el programa, espero puedan ayudarme....muchas gracuas
Título: Re: Rutina lcd para 16f873
Publicado por: firepic en 21 de Mayo de 2008, 22:00:37
Saludos!
Acabo de meterme en la página 16f84.com para ver el código completo y los esquemas, pero me dice que está en venta!  :shock:
Podrías colocar el código completo y los esquemas para el 16f84, y lo que estás montando en el 16f877

Ok nos leemos!  :mrgreen:
Título: Re: Rutina lcd para 16f873
Publicado por: LABmouse en 21 de Mayo de 2008, 22:07:08
En que parte defines las variables usadas?

En el CBLOC

EndC

No tienes nada dentro, y si mas no recuerdo en los PIC 16F877 las posicion de la memoria RAM para los registros de proposito general arrancan desde una posicion distinta a la del 16F84, pero mira el datasheet para verificar eso, tal vez sea eso lo que este mal.

SALUDOS!
Título: Re: Rutina lcd para 16f873
Publicado por: poseidon20 en 22 de Mayo de 2008, 00:49:15
como dice PICmouse, la memoria RAM del pic 16f877 es diferente a la del 16f84a, si no mal recuerdo, el bloque comienza en "20H", prueba cmabiando eso y cuentanos que sucedio :D. Para mas detalles mirar el datasheet del pic en cuestion  :-).
Título: Re: Rutina lcd para 16f873
Publicado por: tavisho en 05 de Junio de 2008, 20:13:18
muchas gracias, es cierto mi error fue considerar la misma memoria ram para el 16f84 y el 16f877
Título: Re: Rutina lcd para 16f873
Publicado por: firepic en 05 de Junio de 2008, 20:24:28
Como dice el maestro nocturno "enhorabuena!".  :D
Felicidades por haber resuelto tu problema tavisho!
Gracias también a picmouse y poseidon por sus aportes acertados!
Saludos, nos leemos!  :mrgreen: