Post on 19-Jun-2015
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
PRACTICA 5TEMA: TECLADOS
INTENGRANTES
- PEDRO FONSECA- EDISON ORTEGA
- CHRISTIAN SIMBAÑA
Ing. LUIS OÑATE
2010
1
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Practica N° 5OBJETIVO: Utilizar el microcontrolador con teclados matricial y PS2
Ejercicio 1.
Problema:
Visualizar en un display LCD el valor ingresado por un teclado matricial
Algoritmo
Entrada:
Ingresar datos por medio de un teclado matricial
Proceso:
Configurar la salida del LCD en el Puerto B
Configura el Teclado en el Puerto C
Leer el Ingreso del teclado matricial
Escribir en el LCD el valor de la posición del botón en la matriz colocado en el teclado matricial
Salida:
Visualizar en un LCD el valor de la posición de la matriz correspondiente a cada pulsador
Diagrama de Flujo
2
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Código:
3
INICIO
Configurar Puerto B LCD
Puerto C Teclado
Definir variables a y b
Visualizo el dato en el LCD
Leer datos del tecladoA=keypad_read
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Esquemático
Fotos
4
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Ejercicio 2.
Problema:
Escribir un programa para realizar las siguientes operaciones suma, resta, multiplicación, división y
Log base 10 de dos números o un número según sea el caso.
Para escoger la operación utilizar la opción case-select
Operación Símbolo de la operación Números de la operación
Suma 1 2Resta 2 2
Multiplicación 3 2División 4 2Log10 5 1
5
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
El LCD debe mostrar el siguiente mensaje ingrese el número de la operación a realizar:
Al ingresar por ejemplo el numero 1
En el LCD aparece el mensaje ingrese N1
Luego de ingresar el número aparece el mensaje ingrese el N2
Luego aparece el mensaje 3+2=5
Algoritmo
Entrada:
Ingreso de datos por medio de un teclado matricial
Proceso:
Configuro el LCD en el Puerto B
Configuro la entrada del teclado matricial en el Puerto C
Comparo el valor 1 Ingresado para determinar que operación debe realizar
Realizar la operación de Suma si es 1
Realizar la operación de Resta si es 2
Realizar la operación de Multiplicación si es 3
Realizar la operación de División si es 4
Realizar la operación de Log10 si es 5
Desplegar en el LCD el resultado de cada operación
Salida:
Visualizar en el LCD el resultado de cada operación
6
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Diagrama de Flujo
7
INICIO
Configurar Puerto B LCD
Puerto C Teclado
Definir variables a y b
Leer datos del tecladoA=keypad_read
If A
A=1
Ingresar N1 y N2
Res= N1+N2
Resultado=R
A=2
Ingresar N1 y N2
Res= N1-N2
Resultado=R
A=3
Ingresar N1 y N2
Res= N1*N2
Resultado=R
A=4
Ingresar N1 y N2
Res= N1/N2
Resultado=R
A=5
Ingresar N1
Res= Log10 N1
Resultado=R
Visualizar en el LCD Resultado
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Código:
8
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
9
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Esquemático
10
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Fotos
11
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Ejercicio 3.
Problema:
Elaborar un programa para mostrar los caracteres ingresados desde un teclado PS2
Descripción y funcionamiento a “alto nivel”Un teclado PS/2 de 104 teclas para PC es un dispositivo razonablemente inteligente.Esto quiere decir que él mismo se encarga de la parte hardware del rastreo de teclas, evitar los insufribles rebotes y de trasmitirnos, mediante una trama perfectamente establecida, de los resultados, de los resultados de nuestras manipulaciones sobre sus teclas. El teclado PS/2 tiene un mapa de teclas a las que se las asigna un código, de uno o dos bytes, para cada una de ellas y que son los códigos que nos va a trasmitir para indicarnos que se está pulsando un tecla determinada. A estos códigos les vamos a llamar códigos de rastreo de teclado. Más abajo se muestra una imagen de un teclado estándar donde se muestra los códigos de rastreo de todas y cada una de lasTeclas:
12
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
El teclado PS/2 envía el código de rastreo asociado a una tecla al ser ésta pulsada, tantas veces como sea necesario si se mantiene pulsada con una cadencia tal como indique su tiempo de repetición, que es programable, y el mismo código de rastreo con el prefijo del byte F0h al ser soltada, también conocido como break code.Por ejemplo: Para conseguir la letra G Mayúscula debemos pulsar la tecla shift y mientras la mantenemos pulsada, pulsada, pulsar la tecla G, soltar la tecla G y soltar la tecla shift. Esa secuencia de pulsaciones nos va a hacer que el teclado trasmita la siguiente secuencia de Bytes:Pulsar Shift-> 12hPulsar “G” -> 34hSoltar “G” -> F0h 34hY soltar Shift -> F0h 12hO escribiendo solo los bytes que vamos a recibir:1h, 34h , f0h ,f0h ,12h.
Nuestro cometido va a ser recibir e implementar esta secuencia de bytes a actuar en consecuenciaEl teclado PS/2 también admite comandos. Dispone de funciones Build-in que podemos disparar mediante el envió del comando correspondiente. Abajo muestra una tabla con los comandos
13
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
disponibles que podemos enviar a nuestro teclado. (Nosotros, en este proyecto no vamos a utilizarlos, pero ahí quedan por si alguno de mis amables visitantes desea ampliar la funcionalidad.
Conexionado eléctricoEl teclado PS/2 se conecta mediante cuatro hilos. Dos de ellos son para alimentación Vcc a 5V y GND y otros dos para las señales Data y Clock. El pinout de los conectores Midi-Din PS/2 tanto hembra, los del PC, como machos los del teclado, es tal como se muestra en la imagen inferior
Keyboard 6 pin (PS/2)(6p Midi-Din male at cable7 Keyboard)1-23-45-6(6p Mini-Din Female (PS/2) at PC)2-14-36-5
14
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Algoritmo
Entrada:
Ingresar los datos por medio de un teclado PS2
Proceso:
Configurar el LCD en el Puerto B
Configurar el teclado PS2 en el Puerto C
Deshabilito todas las interrupciones
Retardo para que estabilice el teclado
Configuro en Enter y backspace
Despliego datos en el LCD
Salida:
Visualizar en el LCD los datos ingresados por medio del teclado PS2
15
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Diagrama de Flujo
16
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Código:
Esquemático
17
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
Fotos
18
UNIVERSIDAD POLITECNICA SALESIANA 2010SISTEMAS MICROPROCESADOS I
CONCLUSIONES
Aprendimos la utilización de los teclados matriciales como para poder realizar un calculadora con las operaciones básicas
Conocimos la programación para poder habilitar el ingreso de datos a través de teclado PS2 en el cual solo utilizamos los pines de Clock y data para poder ingresar y visualizar los datos en el LCD
Debemos darnos cuenta de la configuración del Teclado PS2 que vayamos a conectar para conectar los pines que deben ser conectados al microcontrolador (Clock y data) pin RC0 y RC1 respectivamente
BIBLIOGRAFIA
Datasheet PIC16F877A
Sistemasmicroprocesadosi.nin.com
Angulo Usategui José María, Microcontroladores PIC. Diseño práctico deaplicaciones. Segunda Parte: PIC16F87x,PIC18F7x
Hojas guías de Prácticas de Laboratorio, Ing. Luis Oñate, UPS 2010
19