Utilizar el visualizador LCD
Este ejemplo muestra cómo utilizar un visualizador LCD alfanumérico. Las librerías de funciones simplifican este programa, lo que significa que al final el esfuerzo para crear el software vale la pena.
Un mensaje escrito en dos líneas aparece en el visualizador:
mikroElektronika
LCD example
LCD example
Dos segundos más tarde, el mensaje en la segunda línea cambia, y se visualiza el voltaje presente en la entrada del convertidor A/D (el pin RA2). Por ejemplo:
mikroElektronika
voltage:3.141V
voltage:3.141V
En un dispositivo real se puede visualizar temperatura actual o algún otro valor medido en vez de voltaje.
Para que este ejemplo funcione apropiadamente, es necesario marcar las siguientes librerías en la ventana Library Manager antes de compilar el programa:
- ADC
- LCD
/*Cabecera*****************************************************/ // Conexiones del módulo LCD sbit LCD_RS at RB4_bit; sbit LCD_EN at RB5_bit; sbit LCD_D4 at RB0_bit; sbit LCD_D5 at RB1_bit; sbit LCD_D6 at RB2_bit; sbit LCD_D7 at RB3_bit; sbit LCD_RS_Direction at TRISB4_bit; sbit LCD_EN_Direction at TRISB5_bit; sbit LCD_D4_Direction at TRISB0_bit; sbit LCD_D5_Direction at TRISB1_bit; sbit LCD_D6_Direction at TRISB2_bit; sbit LCD_D7_Direction at TRISB3_bit; // Final de las conexiones del módulo LCD // Declarar variables unsigned char ch; unsigned int adc_rd; char *text; long tlong; void main() { INTCON = 0; // Todas las interrupciones deshabilitadas ANSEL = 0x04; // Pin RA2 se configura como una entrada analógica TRISA = 0x04; ANSELH = 0; // Los demás pines se configuran como digitales Lcd_Init(); // Inicialización del visualizador LCD Lcd_Cmd(_LCD_CURSOR_OFF); // Comando LCD (apagar el cursor) Lcd_Cmd(_LCD_CLEAR); // Comando LCD (borrar el LCD) text = "mikroElektronika"; // Definir el primer mensaje Lcd_Out(1,1,text); // Escribir el primer mensaje en la primera línea text = "LCD example"; // Definir el segundo mensaje Lcd_Out(2,1,text); // Definir el primer mensaje ADCON1 = 0x82; // Voltaje de referencia para la conversión A/D es VCC TRISA = 0xFF; // Todos los pines del puerto PORTA se configuran como entradas Delay_ms(2000); text = "voltage:"; // Definir el tercer mensaje while (1) { adc_rd = ADC_Read(2); // Conversión A/D. Pin RA2 es una entrada. Lcd_Out(2,1,text); // Escribir el resultado en la segunda línea tlong = (long)adc_rd * 5000; // Convertir el resultado en milivoltios tlong = tlong / 1023; // 0..1023 -> 0-5000mV ch = tlong / 1000; // Extraer voltios (miles de milivoltios) // del resultado Lcd_Chr(2,9,48+ch); // Escribir resultado en formato ASCII Lcd_Chr_CP('.'); ch = (tlong / 100) % 10; // Extraer centenas de milivoltios Lcd_Chr_CP(48+ch); // Escribir resultado en formato ASCII ch = (tlong / 10) % 10; // Extraer decenas de milivoltios Lcd_Chr_CP(48+ch); // Escribir resultado en formato ASCII ch = tlong % 10; // Extraer unidades de milivoltios Lcd_Chr_CP(48+ch); // Escribir resultado en formato ASCII Lcd_Chr_CP('V'); Delay_ms(1); } }
No response to “Utilizar el visualizador LCD”
Publicar un comentario