Hola,
Estoy aprendiendo a manejar un LCD 16x2 y haciendo un programa que muestre un texto que se desplaza de izquierda a derecha, el texto estará oculto e irá apareciendo desde la izquierda y desaparecerá por la derecha, lo curioso es que una vez el texto se muestra por completo (coordenada 1,1) se para unos 3 segundos para luego seguir desplazándose hasta desaparecer por la derecha.
Como compilador uso XC8 y el pic 16F84A.
La pregunta evidente es... porque se para???
Tampoco entiendo porque tengo que poner el doble de desplazamientos para ocultar el texto en la izquierda (16 desplazamientos en negativo) cuando el texto son 8 caracteres.
Uso la librería de http://www.micros-designs.com.ar/libreria-generica-en-c-control-lcd/. Funciona perfecta aunque tengo dudas de como hacer borrar pantalla, yo lo hago inicializando el LCD cada vez, es recomendable hacerlo así??
También he visto en algunos ejemplos que se suele usar printf junto con los propios comandos de la librería LCD y en otras ocasiones sólo printf. Que ventajas tiene?? El motivo es para poder usar los comandos \f, \n etc que permiten mayor control del LCD??
Adjunto mi código:
Gracias por la atención.
1 Saludo.
Estoy aprendiendo a manejar un LCD 16x2 y haciendo un programa que muestre un texto que se desplaza de izquierda a derecha, el texto estará oculto e irá apareciendo desde la izquierda y desaparecerá por la derecha, lo curioso es que una vez el texto se muestra por completo (coordenada 1,1) se para unos 3 segundos para luego seguir desplazándose hasta desaparecer por la derecha.
Como compilador uso XC8 y el pic 16F84A.
La pregunta evidente es... porque se para???
Tampoco entiendo porque tengo que poner el doble de desplazamientos para ocultar el texto en la izquierda (16 desplazamientos en negativo) cuando el texto son 8 caracteres.
Uso la librería de http://www.micros-designs.com.ar/libreria-generica-en-c-control-lcd/. Funciona perfecta aunque tengo dudas de como hacer borrar pantalla, yo lo hago inicializando el LCD cada vez, es recomendable hacerlo así??
También he visto en algunos ejemplos que se suele usar printf junto con los propios comandos de la librería LCD y en otras ocasiones sólo printf. Que ventajas tiene?? El motivo es para poder usar los comandos \f, \n etc que permiten mayor control del LCD??
Adjunto mi código:
PHP:
/*
* File: main.c
* Author: nimio
*
* 16F84A
*
* MOSTRAR FRASE POR EL LCD 16x2 E IR MOVIÉNDOLA POR LA PRIMERA FILA Y AL ACABAR
* MOSTRARLA POR LA SEGUNDA FILA.
*
* Created on 30 de marzo de 2013, 3:33
*/
#include <xc.h>
#include "LCD/LCDGeneric.h"
#define _XTAL_FREQ 4000000
#pragma config FOSC=XT, WDTE=OFF, PWRTE=ON, CP=OFF
void main(void) {
signed char x=-16; // VARIABLES PARA LAS COORDENADAS DE ESCRITURA EN LCD.
// x CON SIGNO PARA USAR NÚMEROS NEGATIVOS
// Y PODER MOSTRAR EL FINAL DEL MENSAJE.
char y=1;
do {
while (x<=16) {
vInitLCD(); // INICIALIZACIÓN LCD Y BORRADO.
x++;
vGotoxyLCD(x,y); // POSICIÓN DE ESCRITURA EN LCD.
vPuts_LCD("Probando");
__delay_ms(300);
}
x=-16;
} while(1);
}
Gracias por la atención.
1 Saludo.