Libreria Lcd

download Libreria Lcd

of 7

description

lcd libreria

Transcript of Libreria Lcd

LcdBibliotecaEl PRO mikroC para PIC proporciona una biblioteca para la comunicacin con los LCD (controladores compatibles con HD44780) a travs de la interfaz de 4 bits.Un ejemplo de conexiones Lcd se da en el esquema de la parte inferior de esta pgina.Para la creacin de un conjunto de caracteres personalizados Lcd utilizarcaracteres Lcd personalizadade herramientas.Biblioteca Dependencia rbol

Las dependencias externas de Lcd BibliotecaLas siguientes variables se deben definir en todos los proyectos que utilizan Lcd Biblioteca:Descripcin:Ejemplo:

extern sbit sfrLCD_RS:Registrar Seleccionar lnea.sbitLCD_RSenRB4_bit;

extern sbit sfrLCD_EN:Habilitar lnea.sbitLCD_ENenRB5_bit;

extern sbit sfrLCD_D7;Datos 7 lnea.sbitLCD_D7enRB3_bit;

extern sbit sfrLCD_D6;Datos 6 lnea.sbitLCD_D6enRB2_bit;

extern sbit sfrLCD_D5;Datos de 5 lneas.sbitLCD_D5enRB1_bit;

extern sbit sfrLCD_D4;Datos de 4 lneas.sbitLCD_D4enRB0_bit;

extern sbit sfrLCD_RS_Direction;Registrar Select pin direccin.sbitLCD_RS_DirectionenTRISB4_bit;

extern sbit sfrLCD_EN_Direction;Habilitar direccin pin.sbitLCD_EN_DirectionenTRISB5_bit;

extern sbit sfrLCD_D7_Direction;Datos 7 pin direccin.sbitLCD_D7_DirectionenTRISB3_bit;

extern sbit sfrLCD_D6_Direction;Datos de 6 pines direccin.sbitLCD_D6_DirectionenTRISB2_bit;

extern sbit sfrLCD_D5_Direction;Datos 5 pines direccin.sbitLCD_D5_DirectionenTRISB1_bit;

extern sbit sfrLCD_D4_Direction;Datos de 4 pines direccin.sbitLCD_D4_DirectionenTRISB0_bit;

Rutinas Biblioteca Lcd_Init Lcd_Out Lcd_Out_Cp Lcd_Chr Lcd_Chr_Cp Lcd_CmdLcd_InitPrototipovoidLcd_Init ();

DevolucionesNada.

DescripcinInicializa el mdulo LCD.

RequiereLas variables globales: LCD_D7:Bit de datos 7 LCD_D6:bits de datos 6 LCD_D5:bits de datos 5 LCD_D4:Bit de datos 4 LCD_RS:Register Select (datos / instrucciones) pin de seal LCD_EN:Habilitar pin de seal

LCD_D7_Direction:Direccin del pasador de datos 7 LCD_D6_Direction:Direccin del pasador de Datos 6 LCD_D5_Direction:Direccin del pasador de datos 5 LCD_D4_Direction:Direccin del pasador de datos 4 LCD_RS_Direction:Direccin del pasador Regstrate Seleccionar LCD_EN_Direction:Direccin del pasador Habilitar sealdebe definirse antes de usar esta funcin.

Ejemplo// Pinout Lcd settings sbit LCD_RS at RB4_bit; sbit LCD_EN at RB5_bit; sbit LCD_D7 at RB3_bit; sbit LCD_D6 at RB2_bit; sbit LCD_D5 at RB1_bit; sbit LCD_D4 at RB0_bit;

// Pin direction sbit LCD_RS_Direction at TRISB4_bit; sbit LCD_EN_Direction at TRISB5_bit; sbit LCD_D7_Direction at TRISB3_bit; sbit LCD_D6_Direction at TRISB2_bit; sbit LCD_D5_Direction at TRISB1_bit; sbit LCD_D4_Direction at TRISB0_bit;...

Lcd_Init ();

Lcd_OutPrototipovoidLcd_Out (carbnfila,carbncolumna,Char* texto);

DevolucionesNada.

DescripcinImprime el texto en la pantalla LCD a partir de la posicin especificada.Ambas variables de cadena y literales se pueden pasar como un texto.Parmetros: fila:empezando nmero de fila posicin columna:empezando nmero de columna posicin texto:el texto que se escribir

RequiereEl mdulo Lcd necesita ser inicializado.VerLcd_Initrutina.

Ejemplo// Escribir el texto "Hola!" en la pantalla LCD a partir de la fila 1, columna 3: Lcd_Out (1, 3, "Hola");

Lcd_Out_CpPrototipovoidLcd_Out_Cp (Char* texto);

DevolucionesNada.

DescripcinImprime el texto en la pantalla LCD en la posicin actual del cursor.Ambas variables de cadena y literales se pueden pasar como un texto.Parmetros: texto:el texto que se escribir

RequiereEl mdulo Lcd necesita ser inicializado.VerLcd_Initrutina.

Ejemplo// Escribir texto "Here!" en la posicin actual del cursor: Lcd_Out_Cp ("Aqu!");

Lcd_ChrPrototipovoidLcd_Chr (carbnfila,carbncolumna,carbnout_char);

DevolucionesNada.

DescripcinCarcter imprime en la pantalla LCD en la posicin especificada.Ambas variables y literales se pueden pasar como un personaje.Parmetros: fila:la escritura nmero de fila posicin columna:la escritura nmero de columna posicin out_char:carcter para ser escrito

RequiereEl mdulo Lcd necesita ser inicializado.VerLcd_Initrutina.

Ejemplo// Escribir el carcter "i" en la fila 2, columna 3: Lcd_Chr (2, 3, 'i');

Lcd_Chr_CpPrototipovoidLcd_Chr_Cp (carbnout_char);

DevolucionesNada.

DescripcinCarcter imprime en la pantalla LCD en la posicin actual del cursor.Ambas variables y literales se pueden pasar como un personaje.Parmetros: out_char:carcter para ser escrito

RequiereEl mdulo Lcd necesita ser inicializado.VerLcd_Initrutina.

Ejemplo// Escribir el carcter "e" en la posicin actual del cursor: Lcd_Chr_Cp ('e');

Lcd_CmdPrototipovoidLcd_Cmd (carbnout_char);

DevolucionesNada.

DescripcinEnva comando para Lcd.Parmetros: out_char:comando que se enviarNota:Las constantes predefinidas se pueden pasar a la funcin, veaComandos LCD disponible.

RequiereEl mdulo Lcd necesita ser inicializado.VerLcd_Initmesa.

Ejemplo// Pantalla Clear LCD: Lcd_Cmd (_LCD_CLEAR);

Comandos LCD disponibleComando LcdPropsito

_LCD_FIRST_ROWMover el cursor a la primera fila

_LCD_SECOND_ROWMover el cursor a la segunda fila

_LCD_THIRD_ROWMover el cursor a la tercera fila

_LCD_FOURTH_ROWMover el cursor a la cuarta fila

_LCD_CLEARBorrar pantalla

_LCD_RETURN_HOMECursor Volver a la posicin inicial, devuelve una pantalla desplazado a su posicin original.RAM de datos de pantalla no se ve afectada.

_LCD_CURSOR_OFFApague cursor

_LCD_UNDERLINE_ONSubrayar cursor en

_LCD_BLINK_CURSOR_ONBlink cursor sobre

_LCD_MOVE_CURSOR_LEFTMove cursor hacia la izquierda sin cambiar de pantalla RAM de datos

_LCD_MOVE_CURSOR_RIGHTMover el cursor hacia la derecha sin cambiar de pantalla RAM de datos

_LCD_TURN_ONGire la pantalla Lcd en

_LCD_TURN_OFFGire la pantalla LCD apagada

_LCD_SHIFT_LEFTPantalla Shift dej sin cambiar de pantalla RAM de datos

_LCD_SHIFT_RIGHTShift pantalla derecha sin cambiar de pantalla RAM de datos

Ejemplo BibliotecaEl cdigo siguiente muestra el uso de las rutinas Lcd Biblioteca:Cdigo Copiar al portapapeles// Mdulo LCD connections 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; // Conexiones del mdulo LCD End

Char txt1 [] = "mikroElektronika"; Char txt2 [] = "EasyPIC6"; Char txt3 [] = "Lcd4bit"; Char txt4 [] = "ejemplo";

charlas i; // variable de bucle

sin efecto Move_Delay () { // Funcin utilizada para el texto en movimiento Delay_ms (500); // Puede cambiar la velocidad de movimiento aqu}

void main () { ANSEL = 0; alfileres // Configurar un AS / S digital ANSELH = 0; C1ON_bit = 0; // Deshabilitar los comparadores C2ON_bit = 0;

Lcd_Init (); // Inicializar LCD

Lcd_Cmd (_LCD_CLEAR); // Borrar pantalla Lcd_Cmd (_LCD_CURSOR_OFF); // Cursor fuera Lcd_Out (1,6, txt3); // Escribir texto en primera fila

Lcd_Out (2,6, txt4); // Escribir texto en segunda fila Delay_ms (2000); Lcd_Cmd (_LCD_CLEAR); // pantalla Clear

Lcd_Out (1,1, txt1); // Escribir texto en primera fila Lcd_Out (2,5, txt2); // Escribir texto en segunda fila

Delay_ms (2000);

// Texto en movimiento para (i = 0; i