Proves

Solo disponible en BuenasTareas
  • Páginas : 5 (1158 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de noviembre de 2011
Leer documento completo
Vista previa del texto
Entradas y salidas por el puerto paralelo

Al hablar de operaciones de entrada y salida por el puerto paralelo no debe olvidarse que, inicialmente, este elemento se desarrolló de acuerdo con el están dar Centronics con el fin, casi exclusivo, de que el PC pudiese enviar datos en paralelo a la impresora conectada, no se pensó en la posibilidad inversa: que el PC pudiese recibir datos a través deese puerto.
Las operaciones de entrada y salida de información a través del puerto paralelo en el PC las realizaremos gestionando el puerto paralelo en el nivel de registros, es decir, programando directamente los circuitos integrados o chips que constituyen la tarjeta de interface, lo cual permitirá aprovechar al máximo todas las posibilidades que ofrezca realmente el hardware de la tarjeta deinterface.
La tarjeta de E/S que se va a utilizar es un simulador de impresora, donde se pueden activar los 8 bits de datos y realizar lecturas del registro de control.
Las instrucciones en Turbo C que dan acceso a los puertos están en la librería conio.h y son, para escribir, outp (puerto ,dato), y para leer inp (puerto).
La tarjeta consta de 2 búferes para aislar las conexiones desde al PC yel exterior. Cada Led representa 1 bit del registro de datos, siendo el Led superior el correspondiente a D0 y el inferior al D7. Debemos pensar que si tenemos 8 bits de datos, cada uno de ellos se encendería de acuerdo a la potencia de 2 que nos da su peso, así los datos 1,2,4,8,16,32,64 y 128, encenderían cada uno de los Leds D0 aD7. Si queremos activar el Led de D3 escribiríamos la siguienteinstrucción en C:

outp ( 0x378, 8)
↑instrucción ↑puerto ↑dato

Uso de la tarjeta como secuenciador
Si utilizamos una tarjeta de E/S nos podemos olvidar de la Eprom e implementarla mediante una matriz. Podemos declarar una matriz de caracteres, cuyos valores están dentro del rango de 8 bits y se puedeinicializar la matriz con el programa o secuencia que necesitemos. Luego mediante bucles del tipo for o while se puede recorrer la matriz, e incluso variar el recorrido y el programa en función de ciertas condiciones.

Un ejemplo :

• Recorrido del puerto:

#include <conio.h>
void main (void)
{
char i=0;
for (i=0;i<256;i++)
outp (0x378,i);
}

•Parpadeo de todos los leds deforma simultánea durante 10 veces:

#include <conio.h>
void main (void)
{
char i;
for (i=0;i<10;i++)
outp (0x378,255);
outp (0x378,0);
}

Encendido secuencial ascendente – descendente
#include <conio.h>
void main (void)
{
char datos [ ]={1,2,4,8,16,32,64,128};
char i;
outp (0x378,0);
for (i=0,i<8,i++) // Recorrido ascendente
outp(0x378,datos[i]);
outp (0x378,0);
for (i=7,i<0,i--)
outp (0x378,datos[i]); // Recorrido descendente
}
Cálculo y conversión de señales analógicas

Medir una temperatura con un PC es relativamente fácil. Necesitamos un sensor que traduzca los grados centígrados a un voltaje y seguidamente convertir ese voltaje en una secuencia de ceros y unos, lo que se conoce como conversiónanalógica/digital (AD). El problema es que, al igual que ocurre con muchos ordenadores, en un portátil de 1,5 Kg. y 25 cm. de largo no se puede insertar ninguna tarjeta comercial, lo que obliga a una profunda reflexión para encontrar soluciones. Para complicar más las cosas, tampoco se dispone de ninguna fuente de alimentación a mano, a excepción de las baterías, Las cuales no podemos utilizar.Finalmente debemos proporcionar unos valores fiables y útiles. Así, un conversor AD de 10 bits, nos proporciona, en un rango de 0 a 100 grados, una resolución de una décima de grado, aunque también dependerá de los componentes.
Todos los convertidores AD necesitan una tensión de referencia que es aquella que equivale al fondo de escala del convertidor. Si el circuito es de 10 bits podemos alcanzar...
tracking img