Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porNicolás Ortiz de Zárate Torres Modificado hace 8 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.