Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• Radiofrecuencia
Inalámbricos
• Infrarrojos
• Bola
Mecánicos
• Sensores de contacto
Detección del movimiento
S1
+5 V
S2
Codificador horizontal
S1 S1
S2 S2
Izquierda Derecha
Procesador de imagen
• 15 MIPS
Sensor de imagen
Secuencia de imágenes
CD = Carrier detect
RxD = Received Data DSR = Data Set Ready
TxD = Transmitted Data RTS = Request to Send
DTR = Data Terminal Ready CTS = Clear to Send
Gnd = Masa RI = Ring Indicator
PC Ratón
TxD TxD
RxD RxD
DTR DTR (alimentación)
RTS RTS
Gnd Gnd
X7 .. X0 = Desplazamiento en X (Mickeys)
Y7 .. Y0 = Desplazamiento en Y (Mickeys)
L = 1 Botón izquierdo pulsado
D = 1 Botón derecho pulsado
640 x 200 80 x 25
(Tamaño casilla de carácter 8 x 8 pixels)
B800:0000
RAM
de
Vídeo
FILA 24
FFFF:FFFF
ATRIBUTOS ASCII
B b b b f f f f ASCII
b b b
Color f f f f . Color f f f f .
Negro 0 0 0 0 = 0 Gris 1 0 0 0 = 8
Azul 0 0 0 1 = 1 Azul claro 1 0 0 1 = 9
Verde 0 0 1 0 = 2 Verde claro 1 0 1 0 = 10
Cyan 0 0 1 1 = 3 Cyan claro 1 0 1 1 = 11
Rojo 0 1 0 0 = 4 Rosa 1 1 0 0 = 12
Magenta 0 1 0 1 = 5 Magenta claro 1 1 0 1 = 13
Marrón 0 1 1 0 = 6 Amarillo 1 1 1 0 = 14
Blanco 0 1 1 1 = 7 Negro 1 1 1 1 = 15
Máscara de Máscara de
AND XOR =
Pantalla Cursor
XOR
XOR
11111111 00000000 Máscara de cursor (Cursor Mask)
=
11110001 01000001 ‘A’ Azul sobre Blanco (parpadeo)
La función cero devuelve el estado del hardware y de las rutinas de control del ratón. Si se ha
instalado el ratón y se han cargado las rutinas, el valor retornado en el registro AX será FFFFh.
Si la función retorna 0000h puede ocurrir que no hay ratón instalado o bien que no se han
instalado las rutinas de control.
Entrada: AX = 00h
Salida : AX = FFFFh - Hay un ratón instalado
= 0000h - No hay un ratón instalado
BX = Número de botones del ratón
Esta función incrementa el indicador interno del ratón en 1. Normalmente este contador tiene el
valor –1; Después de la llamada a esta función el cursor del ratón se hace visible en la
pantalla. A partir de ese momento sigue los movimiento del ratón.
Entrada: AX = 01h
Salida : No tiene
La llamada a esta función devuelve la posición actual del cursor del ratón en la pantalla
y el estado de los diferentes botones del ratón.
Entrada: AX = 03h
Salida : BX = Estado de los botones del ratón
Bit Significado
0 1 = pulsado botón izquierdo
1 1 = pulsado botón derecho
2 1 = pulsado botón central
3–15 no tienen ningún significado
CX = Posición horizontal del cursor del ratón
DX = Posición vertical del cursor del ratón
Con la llamada a esta función se sitúa el cursor del ratón en una posición de la pantalla pasada como
parámetro, sino ha sido desactivado utilizando la función 02h o si todavía no ha sido activado con la
función 01h.
Entrada: AX = 04h
CX = Posición horizontal virtual del cursor del ratón
DX = Posición vertical virtual del cursor del ratón
Salida: No tiene
Define la zona de movimiento horizontal, dentro de la cual se puede mover el cursor del ratón.
Para el usuario no existe ninguna posibilidad de situar el cursor del ratón fuera de esta zona. En
combinación con la función 08h se puede definir una ventana de movimiento del ratón.
Entrada: AX = 07h
CX = Posición virtual mínima del cursor del ratón
DX = Posición virtual máxima del cursor del ratón
Salida: No tiene
Define la zona de movimiento vertical, dentro de la cual se puede mover el cursor del ratón.
Para el usuario no existe ninguna posibilidad de situar el cursor del ratón fuera de esta zona.
En combinación con la función 07h se puede definir una ventana de movimiento del ratón.
Entrada: AX = 08h
CX = Posición vertical mínima del cursor del ratón
DX = Posición vertical máxima del cursor del ratón
Salida: No tiene
Esta función determina la forma y el modo de proceder del cursor en modo gráfico. La mascara
de pantalla y la mascara de cursor son suministradas en este orden dentro de un buffer1.
Entrada: AX = 09h
BX = Punto activo horizontal
CX = Punto activo vertical
ES = Dirección del segmento donde se encuentra el buffer1
DX = Desplazamiento dentro del segmento
Salida: No tiene
Define el cursor de ratón que se va a usar en modo texto (hardware o software) y también
determina las mascaras de pantalla y cursor.
Entrada: AX = 0Ah
BX = Tipo de cursor
0 Cursor software
1 Cursor hardware
CX = Máscara de pantalla para el cursor software o línea inicial
del cursor hardware
DX = Máscara de cursor para el cursor software o línea final del
cursor hardware
Entrada: AX = 0Ch
Bit Significado
0 1 = movimiento del ratón
1 1 = pulsado botón izquierdo
2 1 = liberado botón izquierdo
3 1 = pulsado botón derecho
4 1 = liberado botón derecho
5 1 = pulsado botón central
6 1 = liberado botón central
7-15 No tienen significado
Bit Significado
0 1 = pulsado botón izquierdo
1 1 = pulsado botón derecho
2 1 = pulsado botón central
3–15 no tienen ningún significado
IRQ3 o IRQ4
Botones L, R
desplazam. X
desplazam. Y
evento
IRET
Controlador de eventos
INT 33h
Esta función define la relación entre mickeys y pixeles, que desde el punto de vista del
usuario determina la sensibilidad del ratón, y por tanto la velocidad con la que se mueve
el cursor del ratón en la pantalla.
Entrada: AX = 0Fh
CX = Número de mickeys horizontales
DX = Número de mickeys verticales
Salida: No tiene
Esta función define el umbral en mickeys por segundo para el cual la velocidad del
cursor en la pantalla pasa a duplicarse. El valor por defecto del umbral es 64.
Entrada: AX = 13h
DX = Valor del umbral (mickeys por segundo)
Salida: No tiene
El ratón PS/2
8042/8742
Entrada
60h
Buffer
Puerto
Salida
60h
Salida
Buffer
Teclado
64h
Registro
Control
Entrada
Puerto
64h
Registro
Estado
Ratón PS/2
IRQ1
5 6
Pin Señal
1 Datos
2 N/C
3 Masa
4 + 5 Vcc
5 Reloj
6 N/C
Ratón PC
Idle
CLOCK
Idle
DATA START STOP
0 1 2 3 4 5 6 7 P
PC Ratón
Idle
CLOCK
Idle
DATA START 0 1 2 3 4 5 6 7 P STOP ACK
PC
00h
YOV = Y-Data overflow
YOV XOV YNG XNG res res RIG LEF
XOV = X-Data overflow
01h Reserved YNG = Y-Value Negative
XNG = X-Value Negative
02h X-Data (Motion units)
RIG = Rigth Button Pressed
03h Reserved LEF = Left Button Pressed
res= Reserved (00h)
04h Y-Data (Motion units)
05h Reserved
06h Z-Data (00h)
07h
Reserved
Modos de funcionamiento:
Stream Mode
Remote Mode
Modos de funcionamiento:
• Stream Mode:
• El ratón transmite los datos de forma continua
a la velocidad programada.
• Remote Mode:
• El ratón sólo envía los datos a petición del softawar
mediante la orden ‘Read data’.
Habilita o inhabilita el ratón. Antes de habilitar el ratón PS/2 hay que pasar la dirección del
manejador de eventos mediante la subfunción 07H y también inicializar el ratón mediante la
subfunción 05h
Entrada: AX = C2h
AL = 00h
BH = 00h Habilita el ratón
= 01h Inhabilita el ratón
Salida : C (Acarreo) <> 0 = Error
Esta función determina el estado del ratón PS/2 y establece el factor de escala.
Entrada: AX = C2h
AL = 06h
BH = Función
00h = Obtener estado
01h = Factor de escala a 1:1.
02h = Factor de escala a 2:1.
Salida : C (Acarreo) <> 0 = Error
BL = 1er byte de estado.
CL = 2o byte de estado.
DL = 3er bye de estado.
Esta función pasa a la BIOS la dirección de la rutina de manejo de los eventos del ratón. Esta
rutina será llamada por la BIOS cada vez que se reciba una información del ratón motivada por
algún evento en el mismo.
Entrada: AX = C2h
AL = 07h
BX = Segment
BX = Offset (Rutina de manejo del ratón PS/2)
Salida : C (Acarreo) <> 0 = Error
Cada vez que la BIOS llama al manejador de eventos del ratón le pasa los parámetros en la
pila (SP) de la siguiente forma: