Guía de Prácticas

Anuncio
UNIVERSIDAD DE OVIEDO
Departamento de Ingeniería Eléctrica,
Electrónica, de Computadores y Sistemas
Guía de Prácticas
ASIGNATURA:
CENTRO:
ESTUDIOS:
CURSO:
CARÁCTER:
PROFESORADO:
Informática Industrial y Comunicaciones
Escuela Politécnica de Ingeniería de Gijón
Grado en Ingeniería Electrónica y Automática
3º
CUATRIMESTRE: 1
Obligatoria
CRÉDITOS ECTS: 6
Ignacio Alvarez García, José Mª Enguita González
PRACTICA 06:
Manipulación de bits
1. Ejercicio a realizar. Se dispone de un computador conectado mediante E/S digital a un
conjunto de pulsadores y señalizadores de la manera siguiente.
donde el puerto 0 se ha configurado como salida digital y se han conectado LEDs a los bits de
pesos 0 a 7, y el puerto 1 se ha configurado como entrada digital y se han conectado
pulsadores a los bits de peso 0 a 7.
Se desea un bucle infinito en que el usuario pueda elegir entre las opciones a…h, y a
continuación solicitar un nº de bit (0 a 7). En función de la opción elegida (debe aceptarse
mayúscula o minúscula), realizar sobre el bit correspondiente del dispositivo de entrada ó
salida las siguientes operaciones:
a) Escribir en pantalla el estado (ON/OFF) del pulsador correspondiente.
b) Encender sólo el LED correspondiente (apagar el resto).
c) Apagar sólo el LED correspondiente (encender el resto).
d) Encender el LED correspondiente sin afectar al resto.
e) Apagar el LED correspondiente sin afectar al resto.
f) Cambiar el estado del LED correspondiente sin afectar al resto.
g) Encender el LED si todos los pulsadores de peso inferior o igual están activos.
h) Encender el LED si alguno de los pulsadores de peso inferior o igual está activos.
2. Para la realización de la práctica, será necesario utilizar la librería SimuladorESDigital, cuyos
archivos e instrucciones de uso se encuentran en:
http://isa.uniovi.es/~ialvarez/Curso/infindycom/practicas/SimuladorESDigital.rar
3. Ampliaciones propuestas:
 Añadir opciones i) a l). Para todas ellas, no se solicita nº de bit, sino que se debe chequear
periódicamente cada 200 ms (usar función Sleep(int mseg), que necesita <windows.h>) el
estado de los pulsadores, y:
i) Hacer que los LEDs reflejen el estado de los pulsadores.
j) Encender todos los LEDs que se encuentren entre el 1º y el último pulsador activos.
k) Hacer parpadear todos los LEDs que se encuentren entre el 1º y el último pulsador
activos.
l) Hacer desplazarse la luz desde el 1er LED hasta el último que tengan un pulsador
activo.
Descargar