Detección de una tecla pulsada.

Slides:



Advertisements
Presentaciones similares
Procesador El sistema computador se centra en un procesador Aparece la Entrada /Salida Pero un procesador es una piedra si no se comunica con el exterior.
Advertisements

Fernando Escribano Pro 1º de Bachillerato
Informática Aplicada a la Gestión de Empresas (IAGE) Parte III Excel e Internet Tema 2.
Arquitectura de computadoras
IES PEDRO ESPINOSA Curso: 2013/14
Automatización Industrial
Instalación de computadoras
MATRIZ DE CHEQUEO DE PARIDAD
Resolución de Problemas y Algoritmos Buffer - Read & Readln
El Centro Empresarial de Tlaxcala, inicia la actual administración con: 35 socios Sin servicios que proporcionar a los afiliados. Para iniciar el proceso.
LAS TOPOLOGÍAS DE REDES
COMPONENTES FISICOS Y LÓGICOS DE LA PC
2007 Connecting North America Tour
Arquitectura del Computador
Diana Katherine Mosquera Vente María Elizabeth Angulo.
Programación de código reubicable
TRADUCTOR DE UN PROGRAMA
Microcontroladores PIC16F84A.
Prácticas de Teoría de Circuitos: Teorema de superposición
Demultiplexor y Chip 74LS154
DR. ERNESTO SUAREZ.
 LOPEZ MENDOZA CORINA AMALINALLI  GRUPO 304.  Una base de datos o banco de datos (en ocasiones abreviada BB.DD.) es un conjunto de datos pertenecientes.
Procesador Introducción - Funcionamiento - Memoria caché
Respaldando la información
ASI FUNCIONAN LOS BITS Y LOS BYTES
FUNCIONAMIENTO BÁSICO Fuente inicial:. Arquitectura de computadores Los computadores digitales utilizan como modelo para su funcionamiento y organización.
Bus I2C Bus serie síncrono. (+-) SDA: datos SLC: reloj kbits/s (pero también kbits/s y 3.4Mbits/s)
TAMAÑO Y ORIENTACIÓN DEL PAPEL
Conceptos Arquitectónicos del computador
Tablas de datos en ensamblador de microcontroladores PIC
CONTROLES DE PROCESO EQUIPO SHIMADEN SERIE 90.
Hanna y Dima. Definición Funciones Básicas -La unidad CENTRAL (CPU. Central Proceising Unit) -La memoria principal -Dispositivos de Entrada y Salida Tratamiento.
DECODIFICADOR -García Rosas Oscar -Landeros Jaime Francisco
En electrónica, una fuente de alimentación es un dispositivo que convierte la tensión alterna de la red de suministro, en una o varias tensiones, prácticamente.
Cómo leer las especificaciones de memoria RAM
Capítulo 7 Gestión de memoria.
UNIVERSIDAD DE ORIENTE NÚCLEO ANZOÁTEGUI UNIDAD DE ESTUDIOS BASICOS DEPARTAMENTO DE CIENCIAS ASIGNATURA: FISICA II PROFESOR: JAIRO MANTILLA PUENTE DE WHEATSTONE.
M.C. Juan Carlos Olivares Rojas

Tecnologías de las computadoras
Lógica Programable Electrónica Digital
Multiplicación de matrices
PROYECTO CON EL MICROCONTROLADOR PIC 16F84A
Módulo LCD Controlador HD44780.
Diagrama de Contexto.
Los cambios bruscos de temperatura nunca serán buenos para su CPU
Sesión 6: Repaso LCD - Keyboard. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo.
FUNCIÓN OR Una O otra, para que funcione. Función suma OR abS Es aquella función que es cierta (1), si una o las dos entradas son ciertas.
Introducir Fórmulas y Funciones:
MULTIVIBRADORES Oscar Ignacio Botero H..
PROGRAMACIÓN ESTRUCTURADA LOS DIAGRAMAS DE ESTADO
LENGUAJE ENSAMBLADOR TIPOS DE LENGUAJES ENSAMBLADORES
PICmicro GAMA MEDIA: PIC16F84 [I]
Introducción al lenguaje PROCESSING para ARDUINO
Hardware Ada García 2º D.
ESTADO Registro de ESTADO más utilizado  Es el registro más utilizado.  Ocupa la dirección 03 H tanto del Banco 0 como el Banco 1 de la Memoria de Datos.
EL CÁLCULO DE LA MULTIPLICACIÓN COMO OBJETO DE ESTUDIO
Unidad de transferencia de memoria
CB303 Es un módulo de sonido analógico, en el que se ha intentado mantener el sonido duro y la estética en la serigrafía de la maravillosa máquina de los.
1 Introducción de datos Modelo de presentación para adaptación y uso en el taller de formación para personal de la encuesta de precios y disponibilidad.
Rafael Luis Camiña Cultrera
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
FUNDAMENTOS DE PROGRAMACIÓN Unidad II. Un array bidimensional o matriz es un conjunto de datos homogéneos (todos del mismo tipo), cada uno de los cuales.
Arquitectura de Computadores Clases Interrupciones de software y hardware IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica.
PRINCIPALES Pasos para
Método Singapur: Capítulo 2
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
BUCLES – SUBRUTINAS – RETARDOS MICROCONTROLADORES.
Transcripción de la presentación:

Detección de una tecla pulsada. Teclado Detección de una tecla pulsada.

Estructura de un teclado I Se trata de una matriz de pulsadores. Las columnas están pulled up a una tensión de referencia. X están configuradas como salida Y estánconfiguradas como entrada X Y Y Y Y 5V

Estructura de un teclado II En las intersecciones están los pulsadores. El pulsador pone en contacto la fila con la columna correspondiente X Y Y Y Y 5V

Funcionamiento I En estado de reposo las columnas reciben toda la tensión de referencia El estado de las entradas Y es de 1 lógico X 1 1 1 1 5V

Funcionamiento II Al pulsar una tecla se establece un puente entre la fila y la columna. Si la X correspondiente está a tierra toda la corriente derivará hacia ella quedando la entrada Y respectiva en contacto con tierra X 1 1 0 1 5V

Procedimiento. El procedimiento para trabajar con el teclado es activar todas las salidas (0 lógico) y esperar a que una de las entrada se active 1 1 1 1 5V

Procedimiento Cuando se ha detectado una entrada activa, se vuelven a desactivar todas las salidas y se procede a explorar el teclado fila a fila 1 1 0 1 5V

Procedimiento 1 1 1 1 1 5V 1 1 1 1 1 5V 1 1 1 1 1 5V 1 1 1 0 1 5V

Procedimiento Al detectar la columna ya tenemos identificada la tecla pulsada con un “código de tecla” XXXXYYYY 1 1 0 1 1 1 0 1 1 1 1 0 1

Procedimiento Este código de tecla debe luego traducirse al código del carácter asignado a la tecla 11011101 -----> 9 Código ascii del 9: 00111001 (39h) 1 2 3 4 5 6 7 8 C A B F E D 9

Conexión al PIC Las ocho líneas del teclado están conectadas al Puerto B RB0..RB3 se deben configurar como entrada RB4..RB7 se deben configurar como salida RB4 RB5 RB6 RB7 RB0 RB1 RB2 RB3 5V

Conexión al PIC Para proporcionarle tensión al sistema las líneas de salida del puerto B deben estar activadas a pull up

Rebotes La pulsación es un hecho eléctrico que puede causar cierta inestabilidad. Cuando se detecta una pulsación hay que distinguirla de un rebote producido por una pulsación previa 5v 0v 0v 5v

Antes de que la señal se estabilice podemos hacer muchas lecturas Rebote Si cada ciclo de instrucción dura un micro segundo, es posible muestrear (leer por el puerto) 1000 veces la señal. Antes de que la señal se estabilice podemos hacer muchas lecturas 0v 5v 1ms

Rebote La manera de evitar los rebotes es esperar un cierto retardo tras haber detectado la pulsación de una tecla y comprobar nuevamente su estado 0v 5v Detección errónea de pulsación de tecla Comprobación de la pulsación 5ms

Fin de pulsación Otro problema es el de las lecturas múltiples de la misma pulsación. Para evitarlo hay que esperar a que la tecla deje de estar pulsada antes de devolver el código 0v 5v Tecla pulsada fin de pulsación

Programación. Tablas inicio movlw 34h movwf numero movlw 0ffh movwf cont otro incf cont,1 Call codigonumero subwf numero,0 btfss STATUS,Z goto otro ;En W queda el numero que designa el código ascii 34h fin goto fin codigonumero movf cont,w addwf PCL retlw 30h; código ascii del cero retlw 31h; código ascii del uno retlw 32h retlw 33h retlw 34h retlw 35h retlw 36h retlw 37h retlw 38h retlw 39h; código ascii del nueve En la programación el aspecto más relevante es el de la traducción de código de tecla a código ascii Para ello lo más cómodo es emplear tablas

Programación. Tablas inicio movlw 34h movwf numero movlw 0ffh movwf cont otro incf cont,1 Call codigonumero subwf numero,0 btfss STATUS,Z goto otro ;En W queda el numero que designa el código ascii 34h fin goto fin codigonumero movf cont,w addwf PCL retlw 30h; código ascii del cero retlw 31h; código ascii del uno retlw 32h retlw 33h retlw 34h retlw 35h retlw 36h retlw 37h retlw 38h retlw 39h; código ascii del nueve Mediante las instrucciones de sumar a PCL y retlw se van recuperando valores y comparándolos con el de referencia. Cont va llevando la cuenta y al final indicará la posición del valor encontrado

Programación.Tablas 0000 0001 PCLATH=0 0002 0003 ...... 00ff 0100 0101 PCLATH=1 0102 0103 01ff 0200 0201 PCLATH=2 0202 0203 02ff 0300 0301 PCLATH=3 0302 0303 03ff Hay que tener cuidado con el manejo de PCL como mecanismo de salto. PCL solo actúa en ámbito de página PCLATH !cuidado¡

Programación. Tablas inicio movlw 34h movwf numero movlw 0ffh movwf cont MOVLW HIGH codigonumero MOVWF PCLATH otro incf cont,1 Call codigonumero subwf numero,0 btfss STATUS,Z goto otro ;En W queda el numero que designa el código ascii 34h fin goto fin codigonumero movf cont,w addwf PCL retlw 30h; código ascii del cero retlw 31h; código ascii del uno retlw 32h retlw 33h retlw 34h retlw 35h retlw 36h retlw 37h retlw 38h retlw 39h; código ascii del nueve Si la tabla se encuentra en una página diferente a la 0 es necesario actualizar previamente el PCLATH antes de saltar a la tabla

Programación. Tablas 0000 0001 PCLATH=0 0002 0003 ...... 00ff 0100 PCLATH=1 0101 0102 0103 01ff 0200 PCLATH=2 0201 0202 0203 02ff 0300 PCLATH=3 0301 0302 0303 03ff Las tablas no pueden saltar los límites de una página PCLATH. Ubicar las tablas de forma segura usando la directiva org codigonumero movf cont,w addwf PCL retlw 30h; retlw 31h; retlw 32h retlw 33h retlw 34h retlw 35h retlw 36h retlw 37h retlw 38h retlw 39h;

FIN