Teclados y terminales.

Slides:



Advertisements
Presentaciones similares
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
Advertisements

1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
Madrid, 16 de noviembre de 2010 Estadística sobre las actividades en investigación científica y desarrollo tecnológico (I+D) año 2009.
Los números del 0 al cero uno dos tres cuatro cinco 6 7 8
Universidad San Martín de Porres
RELACIÓN POSTULADOS POR SEXO
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO de Junio de 2005.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 5.- 1ª PARTE. EL A.O. Y SUS APLICACIONES
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Aladdín-respuestas 1.Vivía 2.Era 3.Amaba 4.Quería 5.Gustaban 6.Se sentía 7.Salía 8.Tenía 9.Decidió 10.escapó 11. Se vistió 12. Conoció 13. Vio 14. Pensó
Respuestas Buscando a Nemo.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
SIMATICA V2.0. Automatización de Viviendas con Simatic S7-200
MuestraMétodo a prueba Nominal Ejercicio 1. ¿Es exacto el método?
Objetivo: Los estudiantes van a usar vocabulario del desayuno para comprender un cuento. Práctica: 1. ¿Te gusta comer? 2. ¿Te gusta beber Mt. Dew.
Mulán /75 puntos. 1.Querían 2.Gustaban 3.Escuchó 4.Dijo 5.Tenía 6.Ayudaron 7.Maquillaron 8.Arreglaron 9.Dio 10.Estaba 11.Iba 12.Quería 13.Salió 14.Gritó
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Estructura Económica de México Prof. Abelardo Mariña Flores trimestre 2010-P.
1 XML Extensible Markup Language HTML HyperText Markup Language normas06_01.xml.
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
William Shakespeare ( greg.), fue un dramaturgo, poeta y actor inglés. Conocido en ocasiones como el Bardo de Avon (o.
1 Reporte Componente Impacto Por Orden Territorial Por Departamento No Disponible ND *Los indicadores para el año 2008 no fueron calculados.
Grupos de Edad Ocupación Nivel Socioeconómico.
PROGRESO GENÉTICO Ejercicio 1 DSm = 2,27 x 40 kg. = 90,8 kg.
Autodesk Civil 3D 2007 Essentials
Phone2Wave-Server Manual de Operación.
TELEFONÍA IP.
Evolución Tasas de Interés Promedio del Sistema Financiero *
Parte 3. Descripción del código de una función 1.
Vocabulario querer comerlo -paja por supuesto - madera
CATALOGO DE GARGANTILLAS
Tabla de Multiplicar en Bits de Inteligencia PULSA PARA COMENZAR PULSA PARA COMENZAR PULSA PARA VER INSTRUCCIONES PULSA PARA VER INSTRUCCIONES Elaborada.
FUNCIONES DE UNA VARIABLE REAL
EL OSO APRENDIZ Y SUS AMIGOS
Digital Product Placement (DP2)
1 PROYECTO DE PRESUPUESTO DE EGRESOS DE LA FEDERACION 2002 COORDINACIÓN DE POLITICA ECONOMICA GP-PRD.
Hacer click Hacer click en cualquiera de estos links.
CIERRE CONTABLE 2009 PRINCIPALES VALIDACIONES INCLUIDAS EN EL PROCESO DE ELABORACIÓN DE LA CUENTA 2009 MARZO DE 2010.
Ecuaciones Cuadráticas
¡Primero mira fijo a la bruja!
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
I.Sistemas de coordenadas II. Gráfica de una ecuación y lugares geométricos III. La línea recta IV. Ecuación de la circunferencia V. Transformación de.
MINIMO COMÚN MÚLTIPLO DE DOS NÚMEROS a y b
JORNADA 1 DEL 24 DE MARZO AL 30 DE MARZO EQUIPO 01 VS EQUIPO 02 EQUIPO 03 VS EQUIPO 06 EQUIPO 05 VS EQUIPO 10 EQUIPO 07 DESCANSA EQUIPO 08 VS EQUIPO 13.
Un ejemplo de agrupación de datos Problema 1 del capítulo 2 del libro de texto.
Quetzalpapalotl Quetzalpapalotl – Gevederde Slang, vlindergod.
0 1 ¿Qué hora es? By: Craig Tillmann Revised by: Malinda Seger Coppell High School Coppell, TX.
Módulo 2: Condiciones Generales de Trabajo
Learning Zone Matemáticas 101
By: Nicholas, Rayna, Nathaniel, Calvin
Los números. Del 0 al 100.
MSc. Lucía Osuna Wendehake
Calendario 2009 “Imágenes variadas” Venezuela Elaborado por: MSc. Lucía Osuna Wendehake psicopedagogiaconlucia.com Enero 2009.
LOS NÚMEROS.
Vocabulario: (Los números)
uno cero dos seis siete nueve Los Números DIEZ cinco ocho tres
Los Numeros.
Los resultados de este rating han sido recopilados por la empresa MERCADOS & PROYECTOS QUITO, y están disponibles en su pagina web. RADIO MODELO FM, es.
FACULTAD DE DERECHO PROTAGONISTAS PROMOCIÓN aniversario
1 8 de febrero del Chapter 5 Encoding 3 Figure 5-1 Different Conversion Schemes.
Indicaciones: 1.- Tener en cuenta que esta estrategia, solo funciona asociando las cuentas los días lunes. 2.- Los cálculos son aproximados con un margen.
Herramienta FRAX Expositor: Boris Inturias.
FUNDAMENTOS DE CALIDAD EN LA GESTIÓN PÚBLICA

Transcripción de la presentación:

Teclados y terminales

Entrada/Salida Un terminal es un sistema de Entrada/Salida Entrada -> Teclado, Ratón, Tableta digitalizadora… Salida -> Pantalla, Impresora, Plotter…

Tipos de Terminales Interfaz mapeada a memoria Orientado a carácter Orientado a pixel Interfaz vía red (serie, ethernet, etc.) Tipo tty Tipo “inteligente”

Teclado, construcción física El teclado es esencialmente una matriz en cuyos nodos puede cerrarse un contacto eléctrico. Un procesador integrado en el teclado obtiene un número de 7 bits que depende SÓLO de la posición de la tecla pulsada (no del carácter que tenga dibujado)

25 millones de pulsaciones 0/50º operación -20/-60º almacenaje

Teclado, comunicación El teclado envía el número asociado a la tecla si un semáforo hardware “ad hoc” se lo permite. El número se envía bit a bit, en serie. Los bits se acumulan en un registro. Cuando el registro se llena, se comunica una interrupción al CPI.

Teclado, interfaz (1) La interrupción de teclado pasa el control a la rutina de la BIOS o a la rutina de usuario encargado de leer el código Esta rutina toma el código del puerto 0x60, LO TRADUCE y lo deposita en un “buffer” del S.O.

Teclado, interfaz (2) void interrupt TEC(){ /* leer código del puerto 0x60 */ /* traducir código */ /* colocarlo en el “buffer” */ outportb(0x20,0x20); }

void interrupt TEC_irq9(){ static char flag=0; char t; t=inportb(0x60); switch (t){ case 42: flag=1; break; /* mayusculas */ case -86: flag=0; break; case 56: flag=2; break; /* alt */ case -72: flag=0; break; case 29: flag=3; break; /* control */ case -99: flag=0; break; default :{ if (t>0){ t=tabla[t][flag]; case 1: { QUIT=1; break; } case 5: { TERM_siguiente(); break; } default:{ TEC_procesar_tecla(t); } } outportb(0x20,0x20);

Teclado, interfaz (3) #include <dos.h> int *p=(int *)MK_FP(0,36); … asm cli; *p=FP_OFF(TEC_irq9); *(p+1)=FP_SEG(TEC_irq9); asm sti;

t=inportb(0x60); t=tabla[flag][t]; char tabla[117][4]={ 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 49, 33, 124, 0, 50, 34, 64, 0, 51, 0, 35, 0, 52, 36, 126, 0, 53, 37, 0, 0, 54, 38, 0, 0, 55, 47, 0, 0, 56, 40, 0, 0, 57, 41, 0, 0, 48, 61, 0, 0, 39, 63, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 113, 81, 0, 1, 119, 87, 0, 2, …. t=inportb(0x60); t=tabla[flag][t];

Programación mediante BIOS AH=0x03; L=0x05; BL=frec; BH=ret. 00H 30.0 0BH 10.9 16H 4.3 01 26.7 0C 10.0 17 4.0 02 24.0 0D 9.2 18 3.7 03 21.8 0E 8.6 19 3.3 04 20.0 0F 8.0 1A 3.0 05 18.5 10 7.5 1B 2.7 06 17.1 11 6.7 1C 2.5 07 16.0 12 6.0 1D 2.3 08 15.0 13 5.5 1E 2.1 09 13.3 14 5.0 1F 2.0 0A 12.0 15 4.6 20 Res. 00H 250 ms 01 500 02 750 03 1000

Programación mediante BIOS #include <stdio.h> #include <dos.h> main(){ union REGS pseudo; /* AH|AL */ pseudo.h.al=0x05; /* ------- */ pseudo.h.ah=0x03; /* AX */ pseudo.h.bl=0; pseudo.h.bh=0; int86(0x16,&pseudo,&pseudo); return(0); }

Ergonomía Teclado Sholes, 1876

Ergonomía Teclado Dvorak, 1930

Ergonomía Mejor teclado

Terminales Locales o remotos Pasivos o activos Por interfaz de memoria, puerto serie o red Textuales o gráficos Modo canónico (a línea con confirmación) o modo no canónico (o inmediato)

Terminal ANSI

Termcap, terminfo, curses (1) termcap es una base de datos y librería para acceder a esa base de datos termcap contiene las descripciones de miles de terminales distintos Estas descripciones incluyen información sobre las capacidades del terminal y forma de activarlas

Termcap, terminfo, curses (2) http://www.catb.org/~esr/terminfo/termtypes.master.gz

Termcap, terminfo, curses (3) “curses.h” es una librería UNIX para definir ventanas, escribir en ellas, leer de teclado, cambiar atributos, etc. Existe una capa de más alto nivel implementada en “panel.h ”curses.h” es fácil de portar a otros sistemas. Esto permite portar los programas que se apoyen en ella

Programación en “curses”, 1

Programación en “curses”, 2

Ejemplo de implementación (1) En el AT la memoria de video en modo 80x25, color, se corresponde con la dirección física 0xb8000000 Cada carácter se codifica en dos bytes: el carácter en sí y el atributo El byte de atributos se divide en texto y fondo

Ejemplo de implementación (2) El byte que codifica el carácter indexa una tabla que se encuentra en ROM Cada entrada de la tabla es un conjunto de 16 bytes, que forma una matriz de 16*8 bits que codifican el dibujo del carácter asociado Esta tabla puede copiarse a RAM, modificarse y usarse

Ejemplo de implementación (3) El byte de atributos (cada una de sus partes) indexa una tabla de 16 entradas Cada una de esas entradas indexa una tabla de 256 entradas Cada una de esas 256 codifica el trío RVA que especifica el color