Microcontroladores: Mensaje con desplazamiento a la izquierda en pantalla LCD

#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.