Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
GUÍA RÁPIDA PARA TRABAJAR CONLA LCD Y EL TECLADOGUÍA RÁPIDA PARA TRABAJAR CONLA LCD Y EL TECLADOPROF. LUIS ZURITA
Pantalla LCD• Conexionado:El conexionado de la LCD viene dado en el driver respectivo, enel caso de: ˂LCD.c˃ tenemos://// ...
Pantalla LCDPaso 1. Incluir el driver de la LCD en la zona dedeclaraciones:#include <LCD.c>Si se va a trabajar con teclado...
Pantalla LCDEjemplo:#include <16f877.h>#fuses XT,NOWDT,NOLVP#use delay (clock=4000000)#BYTE TRISD=0x88#BYTE PORTD=0x08#BYT...
Paso 3. Crear mensaje estático• Tipo funciónvoid MENSAJE( ) {lcd_gotoxy (1,1); //Línea 1printf (lcd_putc, “AQUI COLOCO”);l...
Paso 3. Crear mensaje estático• Tipo ProcedimientoSe crea el mensaje con instrucciones normales.Ejemplo:BOMBA=0;lcd_gotoxy...
¿Cuándo y cómo limpiar la LCD?• Se recomienda limpiar la LCD antes de mostrar unmensaje diferente al que se esté mostrando...
Paso 3. Crear mensaje dinámico• Tipo funciónvoid MENSAJE( ) {lcd_gotoxy (1,1); //Línea 1printf (lcd_putc, “VISITA=%d”,CONT...
Paso 3. Crear mensaje dinámicovoid mostrar(){lcd_gotoxy(1,1);printf(lcd_putc,"%02u : %02u %02u",hr,min,dia);lcd_gotoxy(1,2...
TECLADO MATRICIAL• Conexionado:El conexionado del teclado viene dado en eldriver respectivo, en el caso de utilizar un tec...
TECLADO MATRICIAL• Conexionado:El conexionado del teclado viene dado en el driver respectivo, en el caso deutilizar un tec...
TECLADO MATRICIALPaso 1. Incluir el driver del teclado en la zona dedeclaraciones:#include <KBD.c> // Opción A. Para tecla...
TECLADO MATRICIALPaso 3. Después de configurar los puertos comoentradas o salidas con los registros TRIS, y lasresistencia...
TECLADO MATRICIALPaso 4. Leer el teclado y obtener la tecla pulsada.TECLA= kbd_getc ( );El registro “TECLA” se debe declar...
#INCLUDE <16F877.h>#FUSES XT,NOWDT,NOLVP#USE DELAY(CLOCK=4000000)#BYTE TRISB=0X86#BYTE TRISD=0X88#BYTE PORTB=0X06#BYTE POR...
void main(){TRISB=0xF0; //Configuración del PORTBTRISD=0;port_b_pullups(TRUE); //Activamos las resistencias “Pullups”lcd_i...
Ejemplo 1. Leer Tecla y mostrarla en LCDProf. Luis Zurita Microcontroladores II
#INCLUDE <16F877.h>#FUSES XT,NOWDT,NOLVP#USE DELAY(CLOCK=4000000)#BYTE TRISB=0X86#BYTE TRISD=0X88#BYTE PORTB=0X06#BYTE POR...
void main(){TRISB=0xF0; //Configuración del PORTBTRISD=0;port_b_pullups(TRUE); //Activamos las resistencias “Pullups”lcd_i...
Ejemplo 2. Leer Tecla y mostrarla en LCDNota: El driver KBD4x4d.c lo puedes descargaren la carpeta de archivos del blog.Pr...
Upcoming SlideShare
Loading in …5
×

Guía rápidalcd y teclado

9,517 views

Published on

Published in: Education
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Guía rápidalcd y teclado

  1. 1. GUÍA RÁPIDA PARA TRABAJAR CONLA LCD Y EL TECLADOGUÍA RÁPIDA PARA TRABAJAR CONLA LCD Y EL TECLADOPROF. LUIS ZURITA
  2. 2. Pantalla LCD• Conexionado:El conexionado de la LCD viene dado en el driver respectivo, enel caso de: ˂LCD.c˃ tenemos://// Example of pin access: //////// #define LCD_ENABLE_PIN PIN_D0 //////// #define LCD_RS_PIN PIN_D1 //////// #define LCD_RW_PIN PIN_D2 //////// #define LCD_DATA4 PIN_D4 //////// #define LCD_DATA5 PIN_D5 //////// #define LCD_DATA6 PIN_D6 //////// #define LCD_DATA7 PIN_D7 ////Prof. Luis Zurita Microcontroladores II
  3. 3. Pantalla LCDPaso 1. Incluir el driver de la LCD en la zona dedeclaraciones:#include <LCD.c>Si se va a trabajar con teclado y LCD, especificar elpuerto con el cual se trabajará cada periféricoantes de la inclusión del driver:antes de la inclusión del driver:#define use_PORTD_LCD true#include <LCD.c>Paso 2. Después de configurar los puertos comoentradas o salidas con los registros TRIS, se debeinicializar la LCD=lcd_init ( );Prof. Luis Zurita Microcontroladores II
  4. 4. Pantalla LCDEjemplo:#include <16f877.h>#fuses XT,NOWDT,NOLVP#use delay (clock=4000000)#BYTE TRISD=0x88#BYTE PORTD=0x08#BYTE PORTD=0x08#define use_PORTD_LCD true#include <LCD.c>void main (){TRISD=0b00000000;lcd_init();Prof. Luis Zurita Microcontroladores II
  5. 5. Paso 3. Crear mensaje estático• Tipo funciónvoid MENSAJE( ) {lcd_gotoxy (1,1); //Línea 1printf (lcd_putc, “AQUI COLOCO”);lcd_gotoxy (1,2); //Línea 2printf (lcd_putc, “MI MENSAJE”);printf (lcd_putc, “MI MENSAJE”);}Luego durante el programa se llama a la funcióncreada. Ejemplo:BOMBA=0;MENSAJE ( );BOMBA=1;Nota= los mensajes en cada línea no deben pasarde la cantidad de caracteres que tiene la lcd, en elcaso de una LCD 16x2, el número de caracteres porlínea es de 16. Si es mayor a este número setruncará a 16.Prof. Luis Zurita Microcontroladores II
  6. 6. Paso 3. Crear mensaje estático• Tipo ProcedimientoSe crea el mensaje con instrucciones normales.Ejemplo:BOMBA=0;lcd_gotoxy (1,1); //Línea 1printf (lcd_putc, “AQUI COLOCO”);lcd_gotoxy (1,2); //Línea 2printf (lcd_putc, “MI MENSAJE”);BOMBA=1;Prof. Luis Zurita Microcontroladores II
  7. 7. ¿Cuándo y cómo limpiar la LCD?• Se recomienda limpiar la LCD antes de mostrar unmensaje diferente al que se esté mostrando, paraborrar cualquier carácter residual del mensajeanterior. Se puede limpiar con f en el nuevomensaje de la primera línea. (El símbolo seobtiene con Alt+92). Ejemplo:obtiene con Alt+92). Ejemplo:lcd_gotoxy (1,1); //Línea 1printf (lcd_putc, “fAQUI COLOCO”);o enviar sólo el comando (f):lcd_putc ( f );Prof. Luis Zurita Microcontroladores II
  8. 8. Paso 3. Crear mensaje dinámico• Tipo funciónvoid MENSAJE( ) {lcd_gotoxy (1,1); //Línea 1printf (lcd_putc, “VISITA=%d”,CONTA1);lcd_gotoxy (1,2); //Línea 2printf (lcd_putc, “LOCAL=%Lu”,CONTA2);Registros a mostrarprintf (lcd_putc, “LOCAL=%Lu”,CONTA2);}Define el formato según se hayadeclarado el registro a mostrar. Ejemplo:%d= Registro tipo entero con signo%Ld= Registro tipo entero largo con signoProf. Luis Zurita Microcontroladores II
  9. 9. Paso 3. Crear mensaje dinámicovoid mostrar(){lcd_gotoxy(1,1);printf(lcd_putc,"%02u : %02u %02u",hr,min,dia);lcd_gotoxy(1,2);printf(lcd_putc,"%02u/%02u / %02u",diasem,mes,annio);Registros a mostrarprintf(lcd_putc,"%02u/%02u / %02u",diasem,mes,annio);}Define el formato según se hayadeclarado el registro a mostrar. Ejemplo:%u= Registro tipo entero sin signo02 indica la cantidad de dígitos que sevan a mostrar.Prof. Luis Zurita Microcontroladores II
  10. 10. TECLADO MATRICIAL• Conexionado:El conexionado del teclado viene dado en eldriver respectivo, en el caso de utilizar un teclado4x3 con el driver ˂KDB.c˃ tenemos:#define COL0 (1 << 5)#define COL1 (1 << 6)#define COL2 (1 << 7)#define COL1 (1 << 6)#define COL2 (1 << 7)#define ROW0 (1 << 1)#define ROW1 (1 << 2)#define ROW2 (1 << 3)#define ROW3 (1 << 4)Prof. Luis Zurita Microcontroladores II
  11. 11. TECLADO MATRICIAL• Conexionado:El conexionado del teclado viene dado en el driver respectivo, en el caso deutilizar un teclado 4x4 con el driver ˂KDB4x4d.c˃, facilitado en clasestenemos:#define COL0 (1 << 0)#define COL1 (1 << 1)#define COL2 (1 << 2)#define COL3 (1 << 3)#define ROW0 (1 << 4)#define ROW1 (1 << 5)#define ROW2 (1 << 6)#define ROW3 (1 << 7)No existe un teclado 4x4 comercial en el simulador Proteus, sin embargo elcomponente KEYPAD-SMALLCALC, nos puede ayudar a simular el teclado4x4. Independientemente de cómo sea colocado, se deben respetar lasconexiones mostradas anteriormente en cuanto al orden de las columnas(COL) (1,2,3,4) y de las filas (ROW) (A,B,C,D), y las teclas se corresponderánal orden mostrado en el recuadro azul.Prof. Luis Zurita Microcontroladores II
  12. 12. TECLADO MATRICIALPaso 1. Incluir el driver del teclado en la zona dedeclaraciones:#include <KBD.c> // Opción A. Para teclado 4x3 ó#include <KBD4x4d.c> // Opción B. Para teclado 4x4Si se va a trabajar con LCD y teclado, especificar el puerto conel cual se trabajará cada periférico antes de la inclusión deldriver:#define use_PORTD_LCD true#define use_PORTD_LCD true#define use_PORTB_KBD true#include <LCD.c>#include <KBD4x4d.c> //ó <KBD.c> Para teclado 4x3Paso 2. Configurar el puerto B, con RB7-RB4 como entradas yRB3-RB0 como salidas y habilitar las resistencias “Pull-Ups”:TRISB=0xF0;port_b_pullups(TRUE);Prof. Luis Zurita Microcontroladores II
  13. 13. TECLADO MATRICIALPaso 3. Después de configurar los puertos comoentradas o salidas con los registros TRIS, y lasresistencias “Pull-Ups”, se debe inicializar elteclado=kbd_init ( );Paso 4. Leer el teclado y obtener la teclapulsada.Con la función kbd_getc ( ); logramosfácilmente esta tarea:TECLA= kbd_getc ( );Prof. Luis Zurita Microcontroladores II
  14. 14. TECLADO MATRICIALPaso 4. Leer el teclado y obtener la tecla pulsada.TECLA= kbd_getc ( );El registro “TECLA” se debe declarar tipo char al iniciodel programa.Puede declararse un registro adicional, por ejemplo xtipo int o byte para obtener la tecla en decimal, previaconversión:conversión:x= TECLA – 48, con lo que se convierte el dato delcódigo ASCII a decimal.Es importante destacar que esta función kbd_getc(); noaplica la interrupción RB4-RB7, sino que realiza unescaneo de las teclas, por lo que se debe estarllamando cada vez que se desee leer el teclado.Prof. Luis Zurita Microcontroladores II
  15. 15. #INCLUDE <16F877.h>#FUSES XT,NOWDT,NOLVP#USE DELAY(CLOCK=4000000)#BYTE TRISB=0X86#BYTE TRISD=0X88#BYTE PORTB=0X06#BYTE PORTD=0X08#define use_PORTD_LCD true //Puerto D controlará la LCD#define use_PORTB_KBD true //Puerto B controlará el teclado 4x3Ejemplo 1. Leer Tecla y mostrarla en LCD#define use_PORTB_KBD true //Puerto B controlará el teclado 4x3#include <LCD.c> //Driver de la LCD#include <KBD.c> //Driver del Teclado 4x3int x; //Variable para guardar la tecla en decimalChar k; // Variable para guardar la tecla en caráctervoid MOSTRAR( ) { //función para visualizar la tecla en LCDlcd_gotoxy(1,1);printf(lcd_putc,"TECLADO 4x3=");lcd_gotoxy(1,2);printf(lcd_putc," %d ",x); //La tecla se visualizará en formato char}Prof. Luis Zurita Microcontroladores II
  16. 16. void main(){TRISB=0xF0; //Configuración del PORTBTRISD=0;port_b_pullups(TRUE); //Activamos las resistencias “Pullups”lcd_init(); //Inicializamos la LCDkbd_init(); //Inicializamos el tecladowhile (true){Ejemplo 1. Leer Tecla y mostrarla en LCDwhile (true){k=kbd_getc(); //Escaneamos a ver si se ha pulsado una teclax=k-48; //Se lleva k de ASCII a decimalif ((k!=0)&&(x<=9)){ //Si k es distinto de cero, se ha pulsado una tecla// Con estas condiciones se visualizará del 0 al 9 únicamenteMOSTRAR(); //Visualizamos la tecla en la LCD}}//true //Seguimos escaneando el teclado}//mainProf. Luis Zurita Microcontroladores II
  17. 17. Ejemplo 1. Leer Tecla y mostrarla en LCDProf. Luis Zurita Microcontroladores II
  18. 18. #INCLUDE <16F877.h>#FUSES XT,NOWDT,NOLVP#USE DELAY(CLOCK=4000000)#BYTE TRISB=0X86#BYTE TRISD=0X88#BYTE PORTB=0X06#BYTE PORTD=0X08#define use_PORTD_LCD true //Puerto D controlará la LCD#define use_PORTB_KBD true //Puerto B controlará el teclado 4x4Ejemplo 2. Leer Tecla y mostrarla en LCD#define use_PORTB_KBD true //Puerto B controlará el teclado 4x4#include <LCD.c> //Driver de la LCD#include <KBD4x4d.c> //Driver del Teclado 4x4int x; //Variable para guardar la tecla en decimalChar k; // Variable para guardar la tecla en caráctervoid MOSTRAR( ) { //función para visualizar la tecla en LCDlcd_gotoxy(1,1);printf(lcd_putc,"TECLADO 4x4=");lcd_gotoxy(1,2);printf(lcd_putc," %c ",k); //La tecla se visualizará en formato char}Prof. Luis Zurita Microcontroladores II
  19. 19. void main(){TRISB=0xF0; //Configuración del PORTBTRISD=0;port_b_pullups(TRUE); //Activamos las resistencias “Pullups”lcd_init(); //Inicializamos la LCDkbd_init(); //Inicializamos el tecladowhile (true){Ejemplo 2. Leer Tecla y mostrarla en LCDwhile (true){k=kbd_getc(); //Escaneamos a ver si se ha pulsado una teclax=k-48; //Se lleva k de ASCII a decimalif (k!=0){ //Si k es distinto de cero, se ha pulsado una teclaMOSTRAR(); //Visualizamos la tecla en la LCD}}//true //Seguimos escaneando el teclado}//mainProf. Luis Zurita Microcontroladores II
  20. 20. Ejemplo 2. Leer Tecla y mostrarla en LCDNota: El driver KBD4x4d.c lo puedes descargaren la carpeta de archivos del blog.Prof. Luis Zurita Microcontroladores II

×