La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sesión 6: Repaso LCD - Keyboard. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo.

Presentaciones similares


Presentación del tema: "Sesión 6: Repaso LCD - Keyboard. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo."— Transcripción de la presentación:

1 Sesión 6: Repaso LCD - Keyboard

2 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II A continuación… Keyboard Introducción a los LCDs LCD

3 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Introducción a los LCDs  Con los LCDs, se puede representar cualquier caracter alfanumérico.  Vienen con toda la lógica de control lista para su operación, donde, colocar un caracter en el display es realmente sencillo.  Tienen un consumo de corriente muy reducido.

4 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II 2 Filas 16 caracteres/línea Conexión Introducción a los LCDs  Aspecto físico  Circuito impreso que tiene: Microcontrolador. Memorias. Display de Cristal Líquido con “Back Light”. Conexiones. S I S T E M A S D I G I T A L E S Display Real más Display Virtual. Normalmente se tienen 2 x 16 (2 x 40) Normalmente manejan caracteres ASCII junto con otros propios del LCD o personalizados por el usuario.

5 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Introducción a los LCDs  DD RAM (Data Display RAM)  Los caracteres que se visualizan en el LCD están ubicados dentro de esta memoria.  Es normalmente de 80 posiciones: 40 para la primera fila y 40 para la segunda. Parte visible más parte virtual.  El caracter más a la izquierda es la posición 1 de la memoria, mientras que el más a la derecha es la posición 40 de la memoria para una fila.

6 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Introducción a los LCDs  DD RAM (Data Display RAM)  Fila 1: 0x00 a 0x27.  Fila 2: 0x40 a 0x67. ‘S’ 0x00 ‘I’ 0x01 ‘S’ 0x02 ‘T’ 0x03 ‘E’ 0x04 ‘ ’ 0x40 ‘ ’ 0x41 ‘D’ 0x42 ‘I’ 0x43 ‘G’ 0x44 SIS D T I E G M I A T S ALES 2012 16 caracteres/línea

7 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Introducción a los LCDs No.NombreI/OFunción 1VSSAlimentaciónTierra para el LCD 2VDDAlimentaciónAlimentación del LCD (3V – 7V ó más) 3VeeAlimentaciónAjuste del contraste (Se ajusta con potenciómetro) 4RSEntrada 0 indica entrada de una instrucción, 1 indica entrada de un dato 5R/WEntrada 0 indica escritura en el LCD a través de DBx, 1 indica lectura a través de DBx 6EEntrada Habilitación del Módulo LCD (Cuando se envía una instrucción o dato) 7DB0Entrada/SalidaLínea del bus de datos 0 (LSB) 8DB1Entrada/SalidaLínea del bus de datos 1

8 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Introducción a los LCDs Nro.NombreI/OFunción 9DB2Entrada/SalidaLínea del bus de datos 2 10DB3Entrada/SalidaLínea del bus de datos 3 11DB4Entrada/SalidaLínea del bus de datos 4 12DB5Entrada/SalidaLínea del bus de datos 5 13DB6Entrada/SalidaLínea del bus de datos 6 14DB7Entrada/SalidaLínea del bus de datos 7 (MSB) 15AAlimentaciónVoltaje positivo para la alimentación del Back-Light 16KAlimentaciónVoltaje negativo para la alimentación del Back-Light

9 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Introducción a los LCDs

10 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Operación de un LCD  Pines de Conexión (4 líneas de datos)

11 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Operación de un LCD  Pines de Conexión (8 líneas de datos)

12 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Funciones en C  Biblioteca LCD:  El compilador de C incluye el driver que permite trabajar con un LCD.  El archivo es LCD.C y debe llamarse como un #include. Este archivo dispone de varias funciones ya definidas: Icd_init(); Lcd_gotoxy(byte x, byte y); Icd_getc(byte x, byte y); Icd_putc(char s); printf(string, valores); printf(fname, cstring, valores);

13 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Funciones en C  lcd_init();  Es la primera función que debe ser llamada.  Función: Borra el LCD Lo configura en el formato de 4 bits Dos líneas Caracteres de 5 x 8 puntos Modo encendido Cursor apagado y sin parpadeo Autoincremento del puntero de direcciones Sin desplazamiento del display real.

14 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Funciones en C  lcd_gotoxy(byte x, byte y);  Indica la posición de acceso al LCD. X: columna Y: línea  Por ejemplo: (1,1) indica la primera posición dela primera línea (1,2) indica la primera posición de la segunda línea.  lcd_getc(byte x, byte y);  Lee el carácter de la posición (x, y).

15 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Funciones en C  lcd_putc(char s);  s es una variable de tipo char.  Esta función escribe la variable en la posición correspondiente. Si, además, se indica: \f se limpia el LCD. \a el cursor va a la primer posición \n el cursor va a la posición (1,2). \b el cursor retrocede una posición.  printf (string, valor); printf (fname, string, valor);  string es una cadena o un array de caracteres  valor es una lista de variables separadas por comas  fname es una función.

16 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Funciones en C  Driver LDC:  El driver LCD.C está pensado para trabajar con el PORTD o el PORTB.  Por defecto, utiliza el PORTD a menos que le indiquemos lo contrario mediante: #define use_portb_lcd TRUE  Usa siete terminales para la comunicación entre el LCD y el PIC. D0: Enable D1: RS D2: R/W D4 – D7: Bus de datos D4 – D7

17 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II A continuación… Keyboard LCD Keyboard

18 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Introducción Keyboard  Teclado Matricial  Las entradas a través de un pulsador son muy habituales en los sistemas con microcontroladores.  Sin embargo para trabajar con una mayor información o información alfanumérica se utilizan los teclados matriciales de 1x4, 3x4 o 4x4

19 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Módulo KBD  CCS  El compilador de C incluye el driver KBD.C para manejar el teclado (3x4). Las funciones que incorporan son las siguientes: kbd_init() kbd_getc()  Existen drivers para manejar teclados (4x4) desarrollados por la comunidad (kbd_lib.c). Las funciones que incorporan son las siguientes: kbd_init() kbd_getc()

20 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Módulo KBD  kbd_init()  Inicializa el sistema, debe ser la primera función en el programa.  kbd_getc()  Devuelve el valor de la teda pulsada en función de la tabla que tiene programada: char const KEYS[4][3] = {{'1','2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; char const KEYS[4][4] = {{'1','2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; kbd.c Kbd_lib.c

21 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Módulo KBD  Puertos  El archivo KBD.C está pensado para trabajar con el PORTD o el PORTB.  Como seleccionarlo: Activando la siguiente líneausaremos el PORTB: #define use_portb_kbd TRUE

22 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo Tomás Sistemas Digitales II Módulo KBD  Configuración del KBD  Incluir biblioteca: #include #include “kbd_lib.c”  Inicializar módulo: kbd_init();  ¿Tiene polarización? Debemos asegurarnos que los puertos de las columnas tengan resistencias de pull-up. ¿Cómo? Físicamente port_b_pull_ups (0x0F);  Comenzar a capturar: k = kbd_qetc();

23 Fin de la sesión 6


Descargar ppt "Sesión 6: Repaso LCD - Keyboard. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo."

Presentaciones similares


Anuncios Google