Microcontroladores: Mensaje con desplazamiento a la izquierda en pantalla LCD

Comparte en tus redes sociales.

#INCLUDE <16F887.h>: Es la librería que se va a necesitar, en este caso, es la del pic16F887.

#USE DELAY(CLOCK=4000000): Se activa la frecuencia del reloj del sistema a 4MHZ.

#FUSES NOWDT:  Son los fusibles o bits de configuración. 

  •  El #FUSES NOWDT: Se deshabilita el Watch Dog Timer.
  • El #FUSES XT: Se activa el oscilador del sistema. 

#INCLUDE<lcd.c>: Es la librería que se utiliza para el uso de la pantalla LCD. 

INT i: Se define la “i”  como una variable tipo entera. 

WHILE(1): Bucle o ciclo infinito. 

 for (i=19; i>0;–i) : La variable “i” empieza hasta desde 19 hasta llegar a cero. 

lcd_init(): Es la función para inicializar la pantalla LCD.

lcd_gotoxy(i,1): Es la función que indica la posición del cursor definida por los parámetros X y Y.

  • X: Indica número de carácter.
  • Y: Indica número de línea. 

printf(lcd_putc “Sensoricx”): Permite la escritura de cadena de caracteres en la pantalla LCD. 

delay_ms(10):  Indica un retardo de 10 ms.

Código

//Texto moviéndose  a la izquierda

# include <16F887.h>
# USE DELAY (CLOCK=4000000)
# FUSES XT,NOWDT
# include <lcd.c>

void main() {
WHILE (1) {
INT i;
FOR(i = 19; i > 0; i–) {
lcd_init(); //inicia la pantalla LCD
printf(lcd_putc””);
lcd_gotoxy(1,1); //control del desplazamiento
printf(lcd_putc “sensoricx”);
delay_ms(10);
     }
   }
}

Explicación del circuito 

En una pantalla LCD 16×2 se visualiza, un mensaje desplazándose hacia la izquierda. La pantalla LCD, está conectado en el puerto D del pic16F887.

Materiales

  • Un pic16F887.
  • Una pantalla LCD.

 

Simulación.

Si se requiere conectar la pantalla LCD al puerto B, solo en el código se define los pines que hacen parte del puerto B.

 

//Texto moviéndose  a la izquierda

# include <16F887.h>
# USE DELAY (CLOCK = 4000000)
# FUSES XT,NOWDT
# DEFINE lcd_RS_PIN PIN_B1
# DEFINE lcd_RW_PIN PIN_B2
# DEFINE lcd_ENABLE_PIN PIN_B3
# DEFINE lcd_DATA4 PIN_B4
# DEFINE lcd_DATA5 PIN_B5
# DEFINE lcd_DATA6 PIN_B6
# DEFINE lcd_DATA7 PIN_B7
# INCLUDE<lcd.c>

void main() {
WHILE (1) {
INT i;
FOR (i=19; i>0; i–) {
lcd_init (); //inicia LCD
printf(lcd_putc””);
lcd_gotoxy(1,1); //control del desplazamiento
printf(lcd_putc “sensoricx”);
delay_ms(10);
     }
   }
}

CIRCUITO.

 

CONTENIDOS MÁS RELEVANTES.

 

soy el administrador del sitio web. si tienes alguna duda, no dudes en contactarme

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *