Lo de la página de Berty no es más que un ejemplo para que veas el funcionamiento del LCD. En cambio, la rutinas en C son una librería para el control y el otro un ejemplo donde se hace uso de esa librería.
Si te fijas, el de berty escribe la fecha repetidamente:
Codigo:
adata movlw 1FH ;date
movwf afisaj
call lcdta
movlw 05H ;date
movwf afisaj
call lcdta
movlw 07H ;date
movwf afisaj
call lcdta
Lo que hace el programa es inicializar y demás, se posiciona y luego escribe la fecha una y otra vez.
De ahí puedes usar todo excepto la parte que está aquí pegada, modificando un poco, claro. Por ejemplo te creas una función init, que es la misma pero termina con un return, creo que era. Así luego, en tu programa sólo harás call init. Y así con el resto. Te crea tu librería que luego incluyes en tu programa.
Lo de los puntos... a ver... Imagina esto:
||||||||||
||||||||||
||||||||||
Cada | es un byte. Así es como es la matriz del LCD. Osea, cada | son 8 pixels, verticales. Así si quieres por ejmplo crear el caracter ":" sería 00100100 por ejemplo. Mejor así no?
Tu direccionas y luego escribes. El puntero se va incrementando sólo.
Y por tanto, si quieres escribir texto, tendrás que crea tú las letras. Eso es lo que hago en mis tablas.
La cosa es que si no sabes C se complica para explicarte, pero a ver..
Yo mando la orden de escribir la A, que en ascii es el 40. Mi función lo que hace es convertir ese cuarenta en los puntos que deben de encenderse y apagarse.
Yo he escogido para cada símbolo 8x5pixels, osea |||||, Bien, pues la A será 0x7e,0x11,0x11,0x11,0x7e. Toma un cuaderno de esos de cuadrículas, y monta toma un cadrado de 8x5 cadraditos. Y ahora rellena cada cuadrado que tenga un 1 y verás que sale... la A.
La función lo que hace es direccionar sobre esa tabla, tomando la trama para ese caracter y lo envía al LCD.
En cuanto a lo del controlador, sí, es ese.
Lo mejor, bajo mi opinión es que conectes el LCD, cargues el programa de berty, compruebes que funciona y en base a él te montes tu propia librería.