Logo Studenta

Practica 5 Laboratorio de Microcontroladores

¡Este material tiene más páginas!

Vista previa del material en texto

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO 
FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN
LABORATORIO DE MICROCONTROLADORES
REPORTE DE LA PRACTICA NO.5
“CONEXIÓN CON DISPOSITIVOS DE INTERFAZ”
PROFESORA:
ADDY MARTINEZ DUARTE
ALUMNO:
JORGE ANTONIO JIMENEZ BERNAL
CARRERA:
I.T.S.E
GRUPO:
1809A
SEMESTRE:
2018-I
FECHA DE ENTREGA:
18-10-2017
OBJETIVOS
· El alumno aprenderá a programar el microcontrolador para que interactúe con otros dispositivos haciendo uso de bibliotecas creadas en lenguaje C.
· Hacer uso de los dispositivos más comunes que sirven como interfaz con el usuario como pueden ser el teclado y una pantalla LCD
INTRODUCCIÓN
Existe una gran variedad de aplicaciones en las que el microcontrolador debe proporcionar información del estado de un proceso al usuario o simplemente, mostrar ciertos datos que se le han solicitado. Además de lo anterior, también es deseable que exista la posibilidad de insertar datos de parte del usuario para modificar el comportamiento del programa en curso e incluso cambiar el programa por otro previamente almacenado en la memoria del microcontrolador.
TECLADO MATRICIAL
Hoy día es más frecuente encontrar en el mercado teclados matriciales que teclados tipo telefónico, por esta razón en CCS el enfoque del manejo de los teclados se explica basado en la operación de este tipo de teclado. Si, por otro lado, se trabaja con un teclado telefónico, el procedimiento a seguir es utilizar el CI 74147 y trabajar las entradas como pulsadores. En los teclados matriciales (1x4, 3x4 ó 4x4) su modo de funcionamiento consiste en la unión de una línea continua entre una fila y una columna del teclado por medio de la tecla presionada. Figura 1. 
El compilador de C incluye el driver KBD.c para manejar el teclado matricial (3x4). Las funciones que incorpora son las siguientes:
kbd_init();
Inicializa el sistema, debe ser la primera función en el programa.
kbd_getc()
Devuelve el valor de la tecla pulsada en función de la tabla que tiene programada. El driver KBD.c ya tiene asignados los valores de cada tecla (Figura 2). 
 
DISPLAY LCD 
 El LCD(Liquid Crystal Dysplay) o pantalla de cristal líquido es un dispositivo empleado para la visualización de contenidos o información de una forma gráfica, mediante caracteres, símbolos o pequeños dibujos dependiendo del modelo. Está gobernado por un microcontrolador el cual dirige todo su funcionamiento.
En este caso vamos a emplear un LCD de 16x2, esto quiere decir que dispone de 2 filas de 16 caracteres cada una. Los píxeles de cada símbolo o carácter, varían en función de cada modelo.
Para poder visualizar los caracteres o símbolos en el LCD es necesario que en el programa de código fuente a emplear, incluyamos la librería de este. 
En este caso empleamos la librería "lcd.c", la cual hemos modificado. Siempre que utilicemos una librería de este tipo tendremos que analizarla para saber cuáles son los pines de control y los pines para el Bus de datos, en este caso podemos observar que están definidos al comienzo de la misma.
#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 
En el resto de la librería se puede encontrar todas las estructuras necesarias así como las funciones que nos permiten utilizar nuestro LCD.
Podemos encontrar funciones como:
lcd_init: inicializa el lcd.
lcd_gotoxy: establece la posicion de escritura en el lcd.
lcd_putc: nos muestra un dato en la siguiente posición del lcd, podemos emplear funciones como \f para limpiar el display, \n cambio a la segunda línea, \b mueve una posición atrás.
lcd_getc(x,y): devuelve caracteres a la posición x,y.
Otras funciones: lcd_send_nibble(BYTE n), lcd_send_byte(BYTE address, BYTE n).
PROCEDIMIENTO EXPERIMENTAL
1. Se hizo un programa que incluyera lo siguiente: 
Agenda electrónica que incluya nombre y teléfono de cada miembro del equipo, un familiar de cada uno, un numero de emergencia, el numero de una pizzería y el de un médico; cada uno asociado con una tecla del teclado y cuando se presione la tecla # deberá mostrarse el mensaje de bienvenida y si se presiona la tecla * deberá borrarse por completo la pantalla. El programa debe seguir las siguientes características:
a) Incluir en las directivas del pre-procesado las bibliotecas de control del teclado y del display.
b) Mostrar el mensaje de bienvenida
c) Crear un ciclo continuo que va a contener la agenda.
d) El programa debe de tener un segundo ciclo que debe estar pendiente del momento en que se presione una tecla.
e) Si no se presionó nada, el programa debe regresar a la revisión del puerto del teclado.
f) Al presionarse cualquier tecla el programa debe identificar cual fue, esto se puede lograr de diferentes maneras, por lo que no hay una solución única.
g) Con la tecla identificada, mostrar la información asociada en el display
h) Se repite todo el ciclo desde lo que se indica en el inciso d.
2. Una vez realizado el programa tal cual lo indican las actividades previas, con ayuda del programador de Luis , procedimos a quemar el firmware al PIC.
3. Posteriormente se observó el funcionamiento correcto del circuito, mostrado en las siguientes imágenes:
Presionando la tecla 1
Presionando la tecla 2
Presionando la tecla 3
Presionando la tecla 4
Presionando la tecla 5
Presionando la tecla 6
Presionando la tecla 7
Presionando la tecla 8 
Presionando la tecla 9
Presionando la tecla *
Presionando la tecla 0
Presionando la tecla #
CUESTIONARIO
1) ¿Qué diferencia existe entre un display de 14 pines con respecto al de 16 pines?
La diferencia es que en el display 16x2 se anexa un LED que ilumina la pantalla, siendo el pin 15 voltaje positivo del LED y el pin 16 es su tierra, haciendo que se vea mejor el display, en cambio el 14x2 no posee un led interno que ilumine la pantalla por lo que se verá más oscura.
2) Investigue en manuales y hojas técnicas al menos dos tipos de memorias que podrían ser adicionadas al sistema de modo que se pueda ampliar la capacidad de almacenamiento de datos en la agenda. Indique las principales características de cada una.
EEPROM: Fueron el sustituto natural de las memorias EPROM, la diferencia fundamental es que pueden ser borradas eléctricamente, por lo que la ventanilla de cristal de cuarzo y los encapsulados cerámicos no son necesarios.
MEMORIA FLASH: En el campo de las memorias reprogramables para microcontroladores, son el último avance tecnológico en uso a gran escala, y han sustituido a los microcontroladores con memoria EEPROM.
A las ventajas de las memorias flash se le adicionan su gran densidad respecto a sus predecesoras lo que permite incrementar la cantidad de memoria de programas a un costo muy bajo. 
3) Investigue si existen otros dispositivos de interfaz que puedan conectarse directamente a alguno de los puertos de un microcontrolador e indique cuáles son las bibliotecas en C, sí existen, que los controlan.
Se puede modificar el PIC para tener una interfaz USB en donde existen varias bibliotecas en C:
CONCLUSIONES
Esta práctica consistió en integrar un pequeño sistema que funcionara como una agenda telefónica, en donde el PIC funciono como memoria de almacenamiento de varios números telefónicos, a los cuales se ingresaba mediante un teclado y se mostraban en un display LCD de 16x2. La práctica permitió que pudiera conocer la forma en que se hace la conexión con dispositivos de interfaz que en este caso fue un teclado y un display, mediante código, el cual fue sencillo, pues para facilitar el programa se añadió la librería correspondiente del teclado y del display, y solo fue necesario designar que se mostraría para cada tecla. Finalmente comprendí que los dispositivos de interfaz son necesarios para poder manipular información y datos dentro de un microcontrolador.
BIBLIOGRAFÍA
· Hoja de datos del PIC16F887

Continuar navegando