Reporte Practica 9 Uso de Teclado y display LCD PDF

Title Reporte Practica 9 Uso de Teclado y display LCD
Course Microcontroladores
Institution Instituto Tecnológico de Tijuana
Pages 15
File Size 366.3 KB
File Type PDF
Total Downloads 44
Total Views 575

Summary

Tecnológico Nacional de MéxicoInstituto Tecnológico de TijuanaIngeniería BiomédicaMicrocontroladoresPractica 9. Uso del teclado matricial y display LCD con el PIC16F877A programando sufuncionalidad usando lenguaje CCalvillo López Alejandro – 16212214Sánchez Saavedra Eduardo Francisco – 16212267Mayo,...


Description

Tecnológico Nacional de México Instituto Tecnológico de Tijuana

Ingeniería Biomédica

Microcontroladores

Practica 9. Uso del teclado matricial y display LCD con el PIC16F877A programando su funcionalidad usando lenguaje C

Calvillo López Alejandro – 16212214 Sánchez Saavedra Eduardo Francisco – 16212267

Mayo, 2019

Objetivo. Crear un sistema basado en el PIC16F877A que haga uso de un teclado para leer los valores presionados por el usuario y desplegar dicha información en un display LCD.

Marco teórico Teclado Matricial El uso del teclado es muy importante en la electrónica, ya que a través de estos se puede introducir datos numéricos o hacer que los circuitos hagan algo de acuerdo al número que se presione en el teclado. Un teclado matricial es un simple arreglo de botones conectados en filas y columnas, de modo que se pueden leer varios botones con el mínimo número de pines requeridos. Un teclado matricial 4x4 solamente ocupa 4 líneas de un puerto para las filas y otras 4 líneas para las columnas, de este modo se pueden leer 16 teclas utilizando solamente 8 líneas de un microcontrolador. Si asumimos que todas las columnas y filas inicialmente están en alto (1 lógico), la pulsación de un botón se puede detectar al poner cada fila a en bajo (0 lógico) y checar cada columna en busca de un cero, si ninguna columna está en bajo entonces el 0 de las filas se recorre hacia la siguiente y así secuencialmente.

Un modo simple de detectar la tecla presionada es incrementar una variable con la cuenta de las teclas revisadas, de este modo al detectar una pulsación el valor de la cuenta será el valor de la tecla presionada. Si al final no se presionó ninguna tecla la variable se pone a cero y la cuenta vuelve a comenzar. El puerto B del microcontrolador 16f628 (así como en el 16f877) viene preparado especialmente para el control de un teclado matricial 4x4. Para tener siempre un valor de 1 lógico en las colúmnas del teclado (parte alta del puerto B del pic) es necesario conectar resistencias de pull-up, sin embargo el puerto B cuenta con resistencias de pull-up integradas, de ese modo es posible trabajar con un teclado matricial sin necesidad de ningún componente externo. Las resistencias de pull-up del puerto B se habilitan poniendo en 0 el bit NOT_RBPU del registro OPTION_REG, método para detectar la pulsación de una tecla en un teclado matricial conocido como muestreo secuencial. Existen otros, sin embargo esté es tal vez el más sencillo. Para utilizar el teclado matricial con el microcontrolador, en este caso (puede ser de otra manera, eso depende de lo que se decida) se conectarán los 4 pines de las filas, a 4 pines contiguos de un mismo puerto del microcontrolador los que se programarán como entradas

digitales, a la vez que se programarán sus resistencias pull up; y los 3 pines de las columnas a 3 pines contiguos del mismo puerto del microcontrolador los que se programaran como salidas digitales. Todas las entradas que está conectadas a las filas estarán a 1, esto por sus resistencias pull up, en las salidas se irán alternando en forma muy rápida, dependiendo de la velocidad de reloj del microcontrolador, los valores 011, 101, y 110 para las columnas, esto hará que si por ejemplo en la salidas del microcontrolador está el valor 011, esto es al pin 5 que es la columna 1 le llega un 0, al pin 6 que es la columna 2 le llega un 1 y al pin 7 que es la columna 3 le llega un 1, en ese momento si se presiona la tecla 4, al que le llega el pin 5 del teclado que está a 0, a la entrada conectada al pin 2 del teclado le llegará un 0, lo que detectará el microcontrolador por la resistencia pull up, si se presionara la tecla 9 por ejemplo como el pin 7 estará a 1 la entrada conectada al pin 3 no detectará nada ya que esta estará permanentemente a 1 a través de su resistencia pull up. Al presionar una tecla cuando a su columna le esté llegando un cero se enviará ese cero a su fila correspondiente, el microcontrolador detectará el cero por medio de su pin conectado a la fila, de esta manera se detecta que tecla se ha presionado, todo este proceso ocurre en forma muy rápida.

Pantalla LCD Una LCD es una pantalla delgada y plana formada por un número de píxeles en color o monocromos colocados delante de una fuente de luz o reflectora. A menudo se utiliza en pilas o dispositivos electrónicos, ya que utiliza cantidades muy pequeñas de energía eléctrica. Estos dispositivos se basan en el empleo de cristales líquidos (LC). Son materiales que no tienen un punto de fusión definido. Es decir, por debajo de un valor característico de la temperatura fluyen como los líquidos, pero guardando las moléculas entre sí una ordenación como la que se da en los cristales. Sus propiedades se ven afectadas por las

fuerzas mecánicas, los campos eléctricos o magnéticos, el entorno químico o el nivel térmico. Cada píxel de un LCD típicamente consiste de una capa de moléculas alineadas entre dos electrodos transparentes, y dos filtros de polarización, los ejes de transmisión de cada uno que están (en la mayoría de los casos) perpendiculares entre sí. Sin cristal líquido entre el filtro polarizante, la luz que pasa por el primer filtro sería bloqueada por el segundo (cruzando) polarizador. La superficie de los electrodos que están en contacto con los materiales de cristal líquido es tratada a fin de ajustar las moléculas de cristal líquido en una dirección en particular. Este tratamiento suele ser normalmente aplicable consiste en una fina capa de polímero que es unidireccionalmente frotada utilizando, por ejemplo, un paño. La dirección de la alineación de cristal líquido se define por la dirección de frotación. Antes de la aplicación de un campo eléctrico, la orientación de las moléculas de cristal líquido está determinada por la adaptación a las superficies. En un dispositivo twisted nematic, TN (uno de los dispositivos más comunes entre los de cristal líquido), las direcciones de alineación de la superficie de los dos electrodos son perpendiculares entre sí, y así se organizan las moléculas en una estructura helicoidal, o retorcida. Debido a que el material es de cristal líquido birefringent, la luz que pasa a través de un filtro polarizante se gira por la hélice de cristal líquido que pasa a través de la capa de cristal líquido, lo que le permite pasar por el segundo filtro polarizado. La mitad de la luz incidente es absorbida por el primer filtro polarizante, pero por lo demás todo el montaje es transparente. Cuando se aplica un voltaje a través de los electrodos, una fuerza de giro orienta las moléculas de cristal líquido paralelas al campo eléctrico, que distorsiona la estructura helicoidal (esto se puede resistir gracias a las fuerzas elásticas desde que las moléculas están limitadas a las superficies). Esto reduce la rotación de la polarización de la luz incidente, y el dispositivo aparece gris. Si la tensión aplicada es lo suficientemente grande, las moléculas de cristal líquido en el centro de la capa son casi completamente desenrolladas y la polarización de la luz incidente no es rotada ya que pasa a través de la capa de cristal líquido. Esta luz será principalmente polarizada perpendicular al segundo

filtro, y por eso será bloqueada y el píxel aparecerá negro. Por el control de la tensión aplicada a través de la capa de cristal líquido en cada píxel, la luz se puede permitir pasar a través de distintas cantidades, constituyéndose los diferentes tonos de gris. El efecto óptico de un dispositivo twisted nematic (TN) en el estado del voltaje es mucho menos dependiente de las variaciones de espesor del dispositivo que en el estado del voltaje de compensación. Debido a esto, estos dispositivos suelen usarse entre polarizadores cruzados de tal manera que parecen brillantes sin tensión (el ojo es mucho más sensible a las variaciones en el estado oscuro que en el brillante). Estos dispositivos también pueden funcionar en paralelo entre polarizadores, en cuyo caso la luz y la oscuridad son estados invertidos. La tensión de compensación en el estado oscuro de esta configuración aparece enrojecida debido a las pequeñas variaciones de espesor en todo el dispositivo. Tanto el material del cristal líquido como el de la capa de alineación contienen compuestos iónicos. Si un campo eléctrico de una determinada polaridad se aplica durante un período prolongado, este material iónico es atraído hacia la superficie y se degrada el rendimiento del dispositivo. Esto se intenta evitar, ya sea mediante la aplicación de una corriente alterna o por inversión de la polaridad del campo eléctrico que está dirigida al dispositivo (la respuesta de la capa de cristal líquido es idéntica, independientemente de la polaridad de los campos aplicados). Cuando un dispositivo requiere un gran número de píxeles, no es viable conducir cada dispositivo directamente, así cada píxel requiere un número de electrodos independiente. En cambio, la pantalla es multiplexada. En una pantalla multiplexada, los electrodos de la parte lateral de la pantalla se agrupan junto con los cables (normalmente en columnas), y cada grupo tiene su propia fuente de voltaje. Por otro lado, los electrodos también se agrupan (normalmente en filas), en donde cada grupo obtiene una tensión de sumidero. Los grupos se han diseñado de manera que cada píxel tiene una combinación única y dedicada de fuentes y sumideros. Los circuitos electrónicos o el software que los controla, activa los sumideros en secuencia y controla las fuentes de los píxeles de cada sumidero.

Procedimiento Primeramente, se requisio modificar las librerías correspondientes al Teclado matricial para permitir la lectura de datos por parte de un teclado matricial de 4x4. /////////////////////////////////////////////////////////////////////////// ////

KBD4x4_1.C

////

////

Generic keypad scan driver

////

////////////////// The following defines the keypad layout on port D // Un-comment the following define to use port B // #define use_portb_kbd TRUE // Make sure the port used has pull-up resistors (or the LCD) on // the column pins #if defined(__PCH__) #if defined use_portb_kbd #byte kbd = 0xF81

// This puts the entire structure

#else #byte kbd = 0xF83

// This puts the entire structure

#endif #else #if defined use_portb_kbd #byte kbd = 6

// on to port B (at address 6)

#else #byte kbd = 8 #endif

// on to port D (at address 8)

#endif #if defined use_portb_kbd #define set_tris_kbd(x) set_tris_b(x) #else #define set_tris_kbd(x) set_tris_d(x) #endif //Keypad connection: (for example column 0 is B2) //

Bx:

#ifdef blue_keypad ///////////////////////////////////// For the blue keypad #define COL0 (1...


Similar Free PDFs