Logo Studenta

Puertos - Conversor Analogico Digital

¡Estudia con miles de materiales!

Vista previa del material en texto

UTN-FRH Dto. de Ingeniería Electrónica Informática I 
 
 
Preparado por Federico Alejandro Vazquez Saraullo Año 2018_Versión 1 
 
Ejercicio de aplicación de los puertos 
La familia de circuitos integrados ADC 080X es un conjunto de “conversores analógico-
digitales” (o “Analogto Digital Converters” en inglés). Estos chips de 20 pines permiten 
transformar una señal eléctrica analógica, como la proveniente de un sensor de presión o de 
luz, en una señal eléctrica digital de 8 bits, la cual está compuesta por unos (1) y ceros (0). 
 
 
Tomemos por ejemplo la siguiente situación: se dispone de una 
placa de circuitos que sirve para medir la temperatura ambiente de 
una habitación y que está conectada a la computadora por medio de 
los puertos (o “registros”) del puerto paralelo. Estos tienen las 
direcciones: 0x3BC, 0x3BD y 0x3BE. Esta placa posee, entre otras 
cosas, un sensor de temperatura y un ADC 0804. El primero permite 
sensar la temperatura y le envía una señal eléctrica analógica al ADC, 
el cual la transforma en una señal eléctrica digital de 8 bits que 
aparece en 8 de sus pines. Esta señal digital es finalmente enviada al 
puerto 0x3BC para su procesamiento.La placa está configurada para 
que el 0000 0000 se corresponda con 10 °C y por cada incremento de 0,25 °C se suma un 1 a la 
salida digital. Por ejemplo: 
 
 
0000 0000 10°C 
0000 0001 10,25 °C 
0000 0010 10,50 °C 
 
Es importante destacar que el ADC tiene otros 3 pines para controlar la conversión que este 
realice, los cuales están conectados losregistros 0x3BD y 0x3BE. Estos pines se llaman: 
• RD (“Read” o “leer” en español). 
• WR (“Write” o “escribir” en español). 
Corresponde a 
UTN-FRH Dto. de Ingeniería Electrónica Informática I 
 
 
Preparado por Federico Alejandro Vazquez Saraullo Año 2018_Versión 1 
 
• INTR (“Interruptrequest” o “pedido de interrupción” en español). 
 
Los primeros dos son pines de escritura (a donde se envían datos desde la computadora) y el 
segundo es de lectura (desde la computadora se analiza su valor). 
Entonces, para poder recibir un dato digital en el puerto 0x3BC se deben seguir los siguientes 
pasos: 
1. Se pone en 0 al pin WR y en 1 al pin RD. El pin INTR está en 1 
2. Se espera 1µS. 
3. Se pone en 1 al pin WR (esto da comienzo a la conversión). 
4. Se espera a que el pin INTR pase de 1 a 0. Cuando esté en 0 significa que ya se hizo la 
conversión. 
5. Se pone en 0 al pin RD. Esto permite que el dato de 8 bits se pueda leer. 
6. Se espera 1µS. Durante esto, el pin INTR pasa de 0 a 1. 
7. Aparece el dato de 8 bits en el puerto 0x3BC. 
8. Para poder recibir otro dato se repiten los pasos del 1 al 7. 
 
 
La placa está conectada al puerto paralelo de la siguiente forma: 
 
 
 
 
 
 INTR 
 
0x3BD 0x3BC 
 
 
 
 
 
 
0x3BE 
 
 
D7 D6 D5 D4 D3 D2 D1 D0 
 RD WR 
Bits de salida 
para escritura 
(WR) y 
lectura (RD) 
Dato digital de temperatura 
Bit de 
entrada 
(INTR) 
UTN-FRH Dto. de Ingeniería Electrónica Informática I 
 
 
Preparado por Federico Alejandro Vazquez Saraullo Año 2018_Versión 1 
 
 
Tener en cuenta las siguientes cosas: 
• Los puertos 0X3BC y 0x3BD se usan solamente para lectura, por lo que utilizarlos en la 
función “outb()” no tendrá efecto alguno. El puerto 0x3BE es de salida pero se puede 
utilizar la función “inb()” para conocer la salida actual del mismo. 
• Para poder leer el bit “INTR” se debe leer el puerto 0x3BD y aplicar el filtro o máscara 
correspondiente. 
• Para poder escribir correctamente los bits “WR” y “RD” es importante que solo se 
modifiquen estos bits del puerto 0x3BE. Para hacer esto: 
o Primero se debe leer el puerto 0x3BE, obteniendo así un dato de 8 bits. 
o Luego, a ese dato se le deben aplicar las máscaras correspondientes para 
poner en 1 y/o en 0 (según corresponda) los bits “WR” y “RD”. 
o Finalmente, se debe enviar el dato “transformado” por mediod el puerto 
0x3BE. 
 
Se pide entonces: desarrollar un programa que haga 10 mediciones de temperatura por medio 
de la placa y los puertos antes mencionados e informe el promedio de temperatura y los 
valores máximo y mínimo registrados.

Continuar navegando