REPORTE INFORMATIVO DEL TERCER TRABAJO DE ARQUITECURA DE COMPUTADORAS
Enviado por wisimaro98 • 7 de Noviembre de 2015 • Informe • 2.280 Palabras (10 Páginas) • 231 Visitas
REPORTE INFORMATIVO DEL TERCER TRABAJO DE ARQUITECURA DE COMPUTADORAS
Integrante 1 (Augusto Valverde del Aguila)
e-mail: Augusto.ValverdeD@urp.pe
Integrante 2 (Diego Berrú Puchurí)
e-mail: diegoberru@gmail.com
Escuela Profesional de Ingeniería Informática
Universidad Ricardo Palma
ABSTRACT: In the following inform we are going to tell the basic procedures that we had to go through in order to finish succesfully the Third Work of the subject Computers’ Architecture, in which we implemented a program that is able to control LED switch using a PC’s parallel ports.
RESUMEN: En el presente informe describiremos los procedimientos básicos que hicimos para poder culminar el tercer trabajo del curso de Arqitectura de Computadoras, en el cual se implementó un programa que controlará LEDs por medio del puerto paralelo de una PC:
- DESCRIPCIÓN DEL PROGRAMA
El programa que usamos está creado usando C# (.NET) y es una modificación de un programa ya creado anteriormente, pero que no tenía restricciones al momento de efectuar las acciones, es decir, al momento de hacer un conteo de binarios, no había manera de detener el conteo, por lo tanto hemos modificado dicho programa para que sea lo más mínimo posible propenso a errores y excepciones. Además también lo hemos hecho un poco más “amigable”, ya que anteriormente tenía los botones en inglés y algunos estaban de más.
[pic 1]
Interfaz del programa
- SALIDA DEL PROGRAMA
Lo que hace el programa es, como se dijo anteriormente, controlar los LEDs. Para ello en el programa tenemos las siguientes opciones:
- Encender LEDs: Por medio de los checkbox podremos encender y apagar diferentes LEDs.
- Enviar: Esta opción nos permitirá ingresar un número en la caja de texto y convertirlo en binario para así encender los LEDs correspondientes.
- Bailar los LEDs: Esta opción hará que los LEDs se prendan y empiecen a “bailar” hasta que todos estén encendidos.
- Contar en binario: Esta opción hará que los LEDs cuenten desde el 0 hasta el 255 en binario.
- Parar: Este botón detendrá la acción elegida anteriormente (Contar o Bailar).
- Resetear LEDs: Este botón apagará los LEDs para que puedan volver a usarse.
[pic 2]
LEDs apagados
[pic 3]
LEDs encendidos
- CÓDIGO DEL PROGRAMA
El programa consta de dos clases: La clase PortAccess.cs, que es el puente entre el programa y los puertos paralelos, y el form FormLED.cs donde se encuentra el código principal de la pantalla.
- CLASE PORTACCESS.CS
using System;
using System.Runtime.InteropServices;
public class PortAccess
{
[DllImport("inpout32.dll", EntryPoint="Out32")]
public static extern void Output(int adress, int value);
}
- CLASE FORMLED.CS
Por motivos de espacio sólo pondremos el código de las funciones principales.
public Form1() //Lo que ocurre cuando iniciamos el programa
{
InitializeComponent();
Reset_LEDs();
boton_Parar.Enabled = false;
}
private void Reset_LEDs()
{
PortAccess.Output(adress, 0);
boton_Parar.Enabled = false;
EnabledCheckBox();
}
void onCheckBoxClick(object sender, EventArgs e) //Establece los valores cuando se hace click a los checkbox
{
int value = 0;
if(checkBox_Pin1.Checked)
{
value += (int)Math.Pow(2,0);
LoadNewPict_D0();
}
else
LoadOldPict_D0();
value += 0;
if(checkBox_Pin2.Checked)
{
value += (int)Math.Pow(2,1);
LoadNewPict_D1();
}
else
LoadOldPict_D1();
value += 0;
if(checkBox_Pin3.Checked)
{
value += (int)Math.Pow(2,2);
LoadNewPict_D2();
}
else
LoadOldPict_D2();
value += 0;
if(checkBox_Pin4.Checked)
{
value += (int)Math.Pow(2,3);
LoadNewPict_D3();
}
else
LoadOldPict_D3();
value += 0;
if(checkBox_Pin5.Checked)
{
value += (int)Math.Pow(2,4);
LoadNewPict_D4();
}
else
LoadOldPict_D4();
value += 0;
if(checkBox_Pin6.Checked)
{
value += (int)Math.Pow(2,5);
LoadNewPict_D5();
}
else
LoadOldPict_D5();
value += 0;
if(checkBox_Pin7.Checked)
{
value += (int)Math.Pow(2,6);
LoadNewPict_D6();
}
else
LoadOldPict_D6();
value += 0;
if(checkBox_Pin8.Checked)
...