Teclado y Display Ing. Marcelo Trujillo Profesor Asociado

Slides:



Advertisements
Presentaciones similares
SISTEMA DE MEDICION REGISTRO Y CONTROL PARA HUMEDAD Y TEMPERATURA
Advertisements

Estructura de Datos Unidad 4. Recursividad Dra. María Lucía Barrón Estrada Enero-Junio 2007.
HARDWARE.
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS CONTROL DE BARRERA DE PARKING
Funciones y recursividad
Procedimientos y Funciones
Curso de Programación I Parte I
Comparador de iluminación Sensor de puerta Potencia Iluminación Generador Alarma.
INFORMATICA I Funciones CLASE 13.
Archivos Programación.
Tema 7c Entrada y salida de funciones. Funciones Funcion Entradas SalidasTareas.
Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.
Introducción al Minikernel
Transmisión Serial de Datos en Sistemas de Instrumentos Digitales Ing. Juan Vizcaya LABORATORIO DE INSTRUMENTACION Y CONTROL U.N.E.T.
Entrada y Salida de Archivos
INTRODUCCIÓN AL HARDWARE DE LA COMPUTADORA PERSONAL
PIC16F877 Timers.
Physical Computing Clase 4. Memoria y Variables decimal, binario, hexadecimal Ver anexo 4.1. por favor.
Conceptos básicos de computadoras
Comparador A Integrantes Álvaro Bravo Domingo Devotto Nelson Figueroa.
Detección de una tecla pulsada.
Diagrama de Distribucion
Diagrama de Componentes
Presentación Que es informática Sistema informático Que es un computador Dispositivos de entrada Dispositivos de salida SOFTWARE Y HARDWARE SOFTWARE Y.
Mapa Conceptual Edgar Barrera Meza ICA.
QUE ES PNL. CONCEPTO La programación neurolingüística es un proceso mental, mediante el cual utilizamos los sentidos con los cuales percibimos el mundo,
Parte I Pines de E/S Interrupciones
ESPECIFICACIONES DE OPERACIÓN DEL MICROCONTROLADOR
Ordenador ● Dispositivo electrónico capaz de realizar operaciones lógicas y matemáticas de manera programada y a gran velocidad, consta de circuitos integrados.
ARDUINO INTRODUCCIÓN Y PROGRAMACIÓN. Podemos tener Señales analógicas y digitales. INTRODUCCIÓN.
Paul Leger Modelo OSI Paul Leger
Informática.
ARDUINO El proyecto Arduino: Recordando… - Pines de entrada
Nombre del profesor | número de curso
Implementación de algoritmos de Procesamiento Digital de Señales
Fase de analisis Proyecto de software.
Programación Avanzada
Ordenador Dispositivo electrónico capaz de realizar operaciones lógicas y matemáticas de manera programada y a gran velocidad, consta de circuitos integrados.
Etapa Final del Proyecto
Colecciones Carlos Fontela, 2008.
Thalía Compán Santiago
EQUIPO No 3.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Monitores Mecanismo sincronización de nivel más alto que semáforos Construcción a nivel de lenguaje de programación que controla el acceso a datos compartidos.
Arquitectura 2013 Explicación 6.
MC Beatriz Beltrán Martínez Primavera 2016
Exígete mucho a ti mismo y espera poco de los demás.
Continuación Unidad 4. Control de flujo
¿Qué es un Ordenador? Ordenador :es una máquina electrónica que recibe y procesa datos para convertirlos en información útil.
Continuación Unidad 4. Control de flujo
¿Para que sirve la informatica?
1-ORDENADOR -Es una máquina electrónica programable que recibe y procesa datos para convertirlos en información útil -Esta compuesta por un software y.
Autor: Antonio Manuel Gutiérrez
PICOBLAZE RESUMEN.
Scratch Presentado por: Sharon Daniela Bustos Barón. 901 J.M.
INNOVACION TECNOLOGICA ELECTRONICA ESTUDIANTIL EN CIENCIAS
ABSTRACCION DE DATOS   Estructura de Datos Básicos: En programación una estructurad de datos, es una forma particular de organizar datos en una computadora.
Tema 9. Estructuras de repetición. Clase 3
PICOBLAZE RESUMEN.
ConMaYDis Proyecto para consultas de personas mayores y Personas con capacidades diferentes.
Tema: Componentes lógicos de un ordenador. Mediante el sistema de numeración binario, es decir, usando los dígitos 0 y 1. Lo único que transmite,
Nombre del profesor | Número del curso
Sistema de Seguridad para un Laboratorio
SOFTWARE Y HARDWARE.
INTRODUCCIÓN A LA INFORMÁTICA
Teclado y Display Ing. Marcelo Trujillo Profesor Asociado
Control De Interrupción En El Sistema Operativo Alumno: Juan Gómez v Ángel Dávila v-xxxxxxxx Profesor República Bolivariana de Venezuela Ministerio.
Implementación del analizador léxico Prácticas EDI - © Juan Ramón Pérez1.
SISTEMAS OPERATIVOS Estudiante: Rojas De la Cruz Jesus Manuel. Ciclo: VI. Turno: Noche.
ARDUINO ARDUINO El proyecto Arduino: Recordando… - Pines de entrada - Pines de salida - Microcontrolador - Conexión USB - IDE de arduino.
Transcripción de la presentación:

Teclado y Display Ing. Marcelo Trujillo Profesor Asociado

Teclado Ing.Marcelo Trujillo

Recordamos: Panorama general Info II-UTN-FRBA @2011-Ing. Mandrut & M. Prieto @2009-Ings. Marcelo Trujillo & Marcelo Giura @2009-Ings. Marcelo Trujillo & Marcelo Giura 3

Teclado Vcc Input Hay Tecla Hay Tecla Hay Tecla 1 1 1 1 1 1 Input 1 1 Hay Tecla Hay Tecla Hay Tecla Ing.Marcelo Trujillo

Teclado controlado Vcc Input output 1 1 1 1 1 1 1 1 1 1 1 Ing.Marcelo Trujillo

Teclado controlado Vcc Input output Hay Tecla Hay Tecla Hay Tecla 1 1 1 1 Input 1 1 Hay Tecla Hay Tecla Hay Tecla output Ing.Marcelo Trujillo

Y si tengo un montón de teclas ?????? Teclado controlado Y si tengo un montón de teclas ?????? Cuantos pines uso ?????? Ing.Marcelo Trujillo

Barrido Teclado Matricial output Input 1 Y cómo la identifico? 1 Y cómo la identifico? output 1 Input Hay Tecla Ing.Marcelo Trujillo

Teclado Matricial 1 output Input Código de tecla Ing.Marcelo Trujillo

Teclado Matricial output Input col0 col1 col2 col3 1 2 3 1 fila0 4 5 6 1 2 3 1 fila0 4 5 6 7 fila1 output 8 9 10 11 Código de tecla 12 fila2 12 13 14 15 fila3 1 Input Ing.Marcelo Trujillo

Abstracción de software Teclado Matricial Hardware dependiente Abstracción de software Ing.Marcelo Trujillo

Tenemos que independizar uno de otro Para optimizar la portabilidad Teclado Matricial Tenemos que independizar uno de otro Para qué ? Para optimizar la portabilidad Ing.Marcelo Trujillo

Implementación del barrido Ing.Marcelo Trujillo

Defines teclado #define NO_KEY (uint8_t) 0XFF #define fila0 PORTn,m #define fila1 PORTn,m #define fila2 PORTn,m #define fila3 PORTn,m #define col0 PORTn,m #define col1 PORTn,m #define col2 PORTn,m #define col3 PORTn,m #define fila0_OFF Set_PIN (fila0, OFF) #define fila0_ON Set_PIN (fila0, ON) #define fila1_OFF Set_PIN (fila1, OFF) #define fila1_ON Set_PIN (fila1, ON) #define fila2_OFF Set_PIN (fila2, OFF) #define fila2_ON Set_PIN (fila2, ON) #define fila3_OFF Set_PIN (fila3, OFF) #define fila3_ON Set_PIN (fila3, ON) #define Col0 Get_PIN (col0, ACTIVO_BAJO) #define Col1 Get_PIN (col1, ACTIVO_BAJO #define Col2 Get_PIN (col2, ACTIVO_BAJO #define Col3 Get_PIN (col3, ACTIVO_BAJO #define NO_KEY (uint8_t) 0XFF 14

uint8_t TecladoHW(void) { fila0_ON; fila1_ON; fila2_OFF; fila3_ON; if ( (Col0) ) return 8 ; if ( (Col1) ) return 9 ; if ( (Col2) ) return 10 ; if ( (Col3) ) return 11; fila2_ON; fila3_OFF; if ( (Col0) ) return 12 ; if ( (Col1) ) return 13 ; if ( (Col2) ) return 14 ; If ( (Col3) ) return 15; fila0_OFF; fila1_ON; fila2_ON; fila3_ON; if ( (Col0) ) return 0 ; if ( (Col1) ) return 1 ; if ( (Col2) ) return 2 ; if ( (Col3) ) return 3 ; fila0_ON; fila1_OFF; if ( (Col0) ) return 4 ; if ( (Col1) ) return 5 ; if ( (Col2) ) return 6 ; if ( (Col3) ) return 7 ; // y si no return NO_KEY; }

Teclado Matricial – Tiempo de demora al barrido 1 output t0 t0: tiempo que demora en llegar el cero a puerto de entrada 1 Input Ing.Marcelo Trujillo

Teclado Matricial – Tiempo de ejecución del barrido t1: tiempo que demora en ejecutarse el barrido Ing.Marcelo Trujillo

El cero se recibe después de realizar la lectura. Que pasa si ….. para tener en cuenta … t0 > t1 fila0_OFF; fila1_ON; fila2_ON; fila3_ON; if ( (col0) ) return 1 ; if ( (col1) ) return 2 ; if ( (col2) ) return 3 ; if ( (col3) ) return A ; El cero se recibe después de realizar la lectura. Tenemos entonces un problema de tiempos y habrá que modificar el algoritmo…

t0 > t1 Teclado Matricial – Driver de lectura del código Que pasa si ….. Pierdo tiempo t0 > t1 No vamos a llegar a tiempo para leer el => Problemas Tenemos que perder un poco de tiempo !!!!!! Ing.Marcelo Trujillo

Rebote - Bounce contactos Ing.Marcelo Trujillo

Ing. Marcelo Ángel Trujillo Rebote - Bounce Presiono Suelto Lo tenemos que eliminar!! 30/05/2011 Ing. Marcelo Ángel Trujillo

Recordando: Debounce en entradas digitales Ing.Marcelo Trujillo

Informática II - UTN-FRBA - Ing. Electrónica Técnicas Digitales II - R4052 - Práctica de Laboratorio - 2010 2323 8 de Mayo de 2010 Informática II - UTN-FRBA - Ing. Electrónica Informática II - UTN-FRBA - Ing. Electrónica Ing. Juan Manuel Cruz Diagrama de Estados y Transiciones Teclado codAct == NO_KEY / ___ RESET / codAct == NO_KEY codAct != codAnt / ___ REPOSO codAct != codAnt / codAnt = codAct !cont / buffKey = codAct codAnt = NO_KEY DETECCION codAct != codAnt / codAnt = codAct CHEQUEO codAct == codAnt && cont > 0) / cont-- codAct == codAnt / cont= CANT_REBOTES InfoII-UTN-FRBA Gracias Ing. Juan Cruz Curso R2001 - Ing. M. Giura Curso R2001 - Ing. M. Giura 23

Teclado Matricial Driver de Rebote Ing.Marcelo Trujillo

Teclado – parte Firmware void DriverTeclado(void) { uint8_t codAct ; codAct = TecladoHW( ); TecladoSW( codAct ); //DebounceTeclado(codAct) } buffer void SysTick_Handler (void) { ……………… DriverTeclado(); BarridoDisplay(); ……………….. } tecla ¿Quién lo lee? Hardware 30/05/2011 Ing. Marcelo Ángel Trujillo 25 @2009-Ings. Marcelo Trujillo & Marcelo Giura

Teclado – Primitiva de teclado y su uso en el main() Ing.Marcelo Trujillo

Teclado – Resumen Aplicación buffer tecla Primitiva Hardware Ing.Marcelo Trujillo

Teclado – Diagrama de capas Aplicación Primitiva tecla Buffer Driver Hardware Ing.Marcelo Trujillo

Agradecimientos Ing. Gabriel Mandrut Ing. Marcelo Giura Ing.Marcelo Trujillo