Biblioteca de C para controlador de pantalla LCD HD44780 (3 / 4 paso)

Paso 3: Cómo leer desde la pantalla

readDDRAM.c

Esta pantalla no se parece mucho, pero echa un vistazo a lo que realmente está sucediendo.
Primero escribimos un texto a la pantalla, entonces restablecer la posición inicial de la AC, dirección contraria y leer los caracteres escritos.

A continuación, escribimos los caracteres que se leen hacia atrás a la pantalla.

Veamos el código:

 #include #include "hd44780_4bit_lib.h" #include /* * This code example show how to read text from DDRAM, * in this example we will write some text to the display * then read the text and then write the read text * back to the display. */void main() { WDTCTL = WDTPW | WDTHOLD; // Disable watchdog timer uint8_t rtn = 0; uint8_t readStr[80]; uint8_t *pint; unsigned int cnt = 0; unsigned int charCnt = 0; // according to spec give the display 10ms to come up to voltage __delay_cycles(10000 * CPUSPEED); // set up data length, number of lines and font // notice we have setup the display for 2 lines // and using the 5 x 8 character size hd44780_init(N_2LINE, FONT_8); // turn display on and clear the display // and set cursor to home position 0x00 // hd44780_send_command(HD44780_CMD_DISPLAY_ON); // hd44780_send_command(HD44780_CMD_RETURN_HOME); // hd44780_send_command(HD44780_CMD_CLEAR_DISPLAY); hd44780_setCursorPosition(0, 0); hd44780_write_string("this"); hd44780_setCursorPosition(0, 0); pint = readStr; // reads characters from display while(1) { rtn = hd44780_readByte(); if (rtn == ' ') { break; } *pint = rtn; pint++; charCnt++; } // writes read characters back to display for(cnt = 0; cnt < charCnt; cnt++) { hd44780_write_special_char(readStr[cnt]); } hd44780_send_command(HD44780_CMD_RETURN_HOME); } 

Romper el código y ver lo que está sucediendo:

 uint8_t rtn = 0;uint8_t readStr[80]; uint8_t *pint; unsigned int cnt = 0; unsigned int charCnt = 0;// according to spec give the display 10ms to come up to voltage __delay_cycles(10000 * CPUSPEED);// set up data length, number of lines and font // notice we have setup the display for 2 lines // and using the 5 x 8 character size hd44780_init(N_2LINE, FONT_8); 

En primer lugar off configuramos algunas variables que podemos usar durante la lectura y la escritura de los caracteres extraídos de la pantalla.
Aviso que creamos la pantalla de 2 líneas y caracteres de 5 x 8 puntos patrón.

 hd44780_setCursorPosition(0, 0); hd44780_write_string("this"); hd44780_setCursorPosition(0, 0); pint = readStr; // reads characters from display while(1) { rtn = hd44780_readByte(); if (rtn == ' ') { break; } *pint = rtn; pint++; charCnt++; } 

Ahora fijar la posición del cursor en la pantalla para la fila 0, columna 0 y escribir el texto en la pantalla.
Configuramos un puntero a la matriz readStr. Ahora nos recorrer la DDRAM, asiendo un personaje en un momento y poner el carácter en la matriz.

Si la siguiente recibe el carácter ' ', entonces asumimos que hay no hay mas personajes y salir del bucle.

Esto es sólo un ejemplo, si tiene previsto una serie de palabras y su lógica tendrá que ser un poco más complejo, como el bucle a través de toda la línea, una solución fácil.

 // writes read characters back to display for(cnt = 0; cnt < charCnt; cnt++) { hd44780_write_special_char(readStr[cnt]); } hd44780_send_command(HD44780_CMD_RETURN_HOME); 

Desde la posición del cursor está siendo rastreada por la AC, contador de la dirección, el cursor ya está sentado en una ubicación después del texto leído. Todo lo que tenemos que hacer es leer los caracteres de la matriz y los muestra uno por uno de nuevo a la pantalla.

Artículos Relacionados

Década contador 74LS93 - A clave para controladores de pantalla de 7 segmentos cuenta con Tutorial

Década contador 74LS93 - A clave para controladores de pantalla de 7 segmentos cuenta con Tutorial

Hola a todos!!!!!!Esta es mi Quinta de muchos tutoriales de bloque electrónico para mi próxima electrónica aprender Junta.  Este video muestra la década 74LS93 contador IC.  El propósito de este video es para enseñarte cómo crear el circuito, determi
Barato, rápido y fácil pantalla LCD reemplazo para Samsung Galaxy S3

Barato, rápido y fácil pantalla LCD reemplazo para Samsung Galaxy S3

Habían un incidente y mi teléfono golpeado en el ángulo perfecto para romper la pantalla LCD. Después de muchas búsquedas, decidí que podía sustituirlo yo mismo. Alimentación en la parte inferior fila iluminada y la luz todavía trabajaban. No tengo t
Arduino Temp/humedad con pantalla LCD y la interfaz Web

Arduino Temp/humedad con pantalla LCD y la interfaz Web

recientemente ayudó al cliente moverse de su oficina que incluyó la creación de una nueva sala de informática.Yo quería que ser capaces de controlar la temperatura y la humedad de la habitación tanto marcando una pantalla LCD en la habitación y tambi
Cómo hacer una chaqueta de emoticono con pantalla LCD

Cómo hacer una chaqueta de emoticono con pantalla LCD

Concepto:Me gustaría hacer una chaqueta que tiene una pequeña pantalla de LCD para crear subtextos para la interacción humana interpersonal. El usuario utilizaría un limitada "teclado" con botones y sensores de fuerza bajo las teclas de silicona
Mostrando la ubicación de GPS en una pantalla LCD de

Mostrando la ubicación de GPS en una pantalla LCD de

En este tutorial, será diseñar un receptor GPS para mostrar la latitud y longitud en una Pantalla de cristal líquido (LCD). GPS significa sistema de posicionamiento Global. Fue diseñado originalmente para aplicaciones militares y de inteligencia a la
Conectar una pantalla LCD con Arduino

Conectar una pantalla LCD con Arduino

en este instructable nos va a ver cómo conectar un LCD paralelo a un Arduino. La pantalla LCD que estoy usando utiliza la interfaz de HD44780 común.  Muchos LCDs tienen esto, usted puede decir generalmente por la interfaz de 16 pines. Sólo necesita 1
Forma fácil y más barato para corregir contraluz del LCD TV.

Forma fácil y más barato para corregir contraluz del LCD TV.

Requirement_TV LCDHerramientas para desmontar la pantalla LCDSMD LED no impermeable Flexible tiras de DC12V 5050Alambres, polvo y soldadorPaso 1: Desmontar el LCD TVDesarme completo LCD TV para sustituir luz de fondo utilizando herramientas.Paso 2: T
Termómetro de Arduino, pantalla LCD, termistor

Termómetro de Arduino, pantalla LCD, termistor

*** este proyecto ya no es compatible, el código de arduino es anticuado y ya no funciona, mi arduino se rompió por lo que no puedo arreglarlo, si usted tiene una sensación de solución me libre de PM! ***Su un proyecto de arduino, crear un medidor de
Controlador de pantalla táctil para la lámpara

Controlador de pantalla táctil para la lámpara

Hola chicos,Quiero compartir mi experiencia con AT89LV55 de ATMEL en controlar mi bombilla con touch screeen,la idea es simple, cambiar mi interruptor mecánico para tocar la pantalla para encender mi lámpara.Vamos a empezarPaso 1: Preparar la pieza p
Bomba defuseable de Arduino, perfecto para partidas de airsoft! (con temporizador, pantalla LCD, teclado, sonido y más!)

Bomba defuseable de Arduino, perfecto para partidas de airsoft! (con temporizador, pantalla LCD, teclado, sonido y más!)

HolaEsto es un proyecto que hice hace mucho tiempo, pero decidió subir de todos modos, no dude en preguntarme sobre ello!La bomba tiene varias características:-Entrada contraseña por teclado para armar la bombaCronómetro/cuenta atrás-Sonido-LEDs llam
Biblioteca de Arduino para Motor 28BYJ-48 paso a paso y controlador ULN2003

Biblioteca de Arduino para Motor 28BYJ-48 paso a paso y controlador ULN2003

El motor paso a paso 28BYJ-48 con el controlador ULN2003 ahora parece una configuración común. El motor y el controlador son fácilmente disponibles y baratos. Sin embargo, la biblioteca de motor de pasos de arduino estándar simplemente no funciona co
Pantalla LCD para menores $35 (reciclar viejos ordenadores portátiles)

Pantalla LCD para menores $35 (reciclar viejos ordenadores portátiles)

Hola Instructables he estado acechando alrededor y disfrutar del vasto conocimiento aquí. He decidido tratar de hacer mi instructable para ayudar a otros que están en este sitio. Así que con esto voy hacer un intento de hacer mi primer instructable.
Pantalla lcd chip hd44780 para modding de pc

Pantalla lcd chip hd44780 para modding de pc

con este instructables aprendes cómo una pequeña pantalla de carácter con un ordenador, que muestra información de la interfaz o lo que quierasLo que usted necesita:1. el chip de pantalla whit hd447802. 10kohmTrimmer3. resistencia de 100 ohm4. un vie
Android controlado pantalla LCD/LED - No Andriod para programación, No requiere de soldadura.

Android controlado pantalla LCD/LED - No Andriod para programación, No requiere de soldadura.

IntroductionEsta versión utiliza la plataforma Arduino para controlar un display de LCD/LED desde tu móvil Android.  Es una compilación de listo que requiere Android sin programación, sin soldadura y sin escribir código de Arduino, que no quiere.La e