Presentacion proyecto sistema de alarma

4,450 views

Published on

Proyecto de implementación de un sistema de alarma de una casa controlado por puerto paralelo de un computador y implementación con un programa en Assembler

Published in: Technology
  • Be the first to comment

Presentacion proyecto sistema de alarma

  1. 1. INTEGRANTES:ARQUITECTURA DEL COMPUTADOR MEDINA CONGORA, Ronald QUISPE HUAMAN, Víctor Antonio ZARATE MARQUEZ, David
  2. 2. • Los sistemas de información tratan el desarrollo, uso y administración de la infraestructura de la tecnología de la información en una organización. Bajo este enfoque el presente proyecto de investigación estaría estrechamente relacionado con los sistemas de información ya que como en este y otros casos proporcionan herramientas tecnológicas que servirán para el diseño, creación y aplicación de productos, el sistema de alarma en si, un prototipo que serviría de simulación de una casa en miniatura para una posterior implementación en un proyecto de mayor magnitud.
  3. 3. • El diseño del proyecto consiste en una maqueta en miniatura que representa un inmueble de un piso, con una puerta principal y siete ventanas, dándonos en total 8 puntos de alarmas; las ventanas tienen los pulsadores en sus bases, mientras que la puerta tiene el pulsador en la parte superior, estos pulsadores están conectados mediante un cable que conforma un circuito prediseñado. Todas las alarmas comparten el mismo cable a tierra, y para enviar señales envían una señal de 5V al multiplexor que está instalado en una pequeña placa perforada situada dentro de la casa.• Para enviar 5 voltios y alimentar el circuito utilizamos un pin del puerto paralelo, al cual le enviamos el estado 1 de manera permanente.
  4. 4. DECLARACION DE MACROS DECLARACION DE VARIABLES INICIOBucle línea vertical izquierda Bucle línea vertical derecha Bucle línea horizontal superior Bucle línea horizontal inferior Selector de alarma 1 Imprime alarma 1 Imprime alarma 1 Compara bit activa desactivada Selector de alarma 2 Imprime alarma 2 Imprime alarma 2 Compara bit activa desactivada Selector de alarma 3 Imprime alarma 3 Imprime alarma 3 Compara bit activa desactivada Selector de alarma 4 Imprime alarma 4 Imprime alarmas 4 Compara bit activa desactivada Selector de alarma 5 Imprime alarma 5 Imprime alarma 5 Compara bit activa desactivada Selector de alarma 6 Imprime alarma 6 Imprime alarmas 6 Compara bit activa desactivada Selector de alarma 7 Imprime alarma 7 Imprime alarma 7 Compara bit activa desactivada Selector de alarma 8 Imprime alarma 8 Imprime alarmas 8 Compara bit activa desactivada
  5. 5. • El primer bloque de macros está compuesto por todas las macros utilizadas en el programa.• La macro mensaje, se utiliza para mostrar en pantalla un mensaje, utilizando la función 09h de la interrupción 21h.• La macro cursor, se utiliza para determinar la ubicación del cursor, en un punto determinado de la pantalla, utilizando la función 02h de la interrupción 10h.• La macro lectura, se utiliza para capturar los datos del puerto 379h y guardarlos en el registro bl, luego utilizamos el comando and para filtrar los datos ingresados y solo utilizar los bits de datos del puerto paralelo, que en este caso son los unos de la línea de bits 01111000b.• La macro control, se utiliza para enviar datos al puerto 378h, para que el puerto paralelo controle el multiplexor 8:1 y este controle el estado de los 8 puntos.
  6. 6. • La macro mover, se utiliza para mover datos entre registros.• La macro publicar, se utiliza para mostrar los mensajes del nombre de las puertas y de las alarmas activadas de los puntos, utilizando otras macros definidas anteriormente, además de incrementar una variable, que en este caso es del número de ventana que tenemos en el sistema.• Las macros ubicar y ubicar1, son utilizadas para determinar la posición del cursor y para dibujar las líneas que simbolizan ventana abierta o cerrada y para incrementar una variable.• Las macros lineg y lineg1, son utilizadas para dibujar las líneas horizontales y verticales de la casa.
  7. 7. • El bloque 2 determina el modelo y el segmento de pila a utilizar en el programa.• En el bloque 3 se definen las variables utilizadas en el programa, constantes como las mens, mensa1, mensa2, mensa3 y mensa5 y las variables v, línea, a, b.
  8. 8. • El bloque de código define las instrucciones que se utilizan en el programa para controlar las alarmas de los 8 puntos establecidos en el proyecto.• Se mueven los datos al registro de ax a ds, se ubica el símbolo ASCII a utilizar para dibujar el perímetro de la casa que para nuestro proyecto es B1h “▒”, se ubica el cursor para escribir el mensaje título del proyecto, se ubica el punto de inicio para comenzar a dibujar las líneas verticales luego las horizontales.• Se ubica el cursor, luego se empieza a dibujar la línea comparando el límite inferior que es la línea 21, y de la misma forma, se dibujan las demás líneas.
  9. 9. • El bucle1 permite el ingreso a la verificación de las alarmas en la ventana uno de los 8 puntos, 7 ventas y una puerta.• Movemos al registro bl el byte 10000000b, que será enviado al puerto de salida 378h utilizando la macro control, utilizamos el bit más significativo, para mantener un punto con 5V en el circuito implementado, que será utilizado para mandar los 5V en el caso que la ventana este abierta, los últimos 3 bits del grupo de bytes, se utilizaran para el control del multiplexor de 8:1
  10. 10. • Una vez enviado el control para verificar el punto 000 del multiplexor, que es en nuestro caso para verificar la puerta número 1, captamos el puerto de entrada del puerto paralelo, el 379h a través del registro de estado E3, de donde capturamos el estado del bit número 4 00000000b o 00001000b, y luego lo comparamos con el byte almacenado en bl, para determinar si el punto está activado o desactivado, luego de la comparación, pasara al mensaje 1 o mensaje 2.• El mensaje 1 se ejecuta si es que el bit está en 0, que nos indica que la ventana está cerrada, ubicamos el símbolo a dibujar en la línea de la ventana, que indique ventana cerrada, para esto utilizamos el caracter ASCII CCh “╠” para las ventanas 1 y 5 y el caracter ASCII 0Fh “☼” para las ventanas 2, 3, 4, 6 y 7, para la puerta se utilizara el carácter ASCII B0h “░”.• El mensaje 2 se ejecuta si es que el bit de comparación es igual a 1, entonces se ubica el caracter a imprimir para este caso utilizamos el ASCII 1Ah “→” que nos indicara que la ventana está abierta(para las otras ventanas y la puerta utilizaremos respectivamente el 18h “↓”, 19h “↑”), ubicamos el cursor, y luego imprimimos el símbolo en una línea, luego ubicamos el cursor para borrar el mensaje antes escrito y escribir el mensaje de alarma “Alarma V-1”, luego pasa a la segunda ventana, a la tercera y hasta el final termina con la puerta para luego volver a verificar en un bucle cerrado. Este procedimiento se repite con cada uno de los puntos a verificar, de manera permanente.
  11. 11. • Aprendimos a hacer uso del puerto paralelo y sus pines reconociendo los registros de estado de datos y de control para enviar y recibir señales desde y hacia la computadora.• Para la creación del programa tuvimos que hacer uso del asembler y programar en bajo nivel, haciendo uso de dos puertos 378 y 379 para envió y captación de datos.• Descubrimos que no era necesario el uso del protoboard para la implementación ya que bastaba con una pequeña placa perforada para el montaje del circuito.• El objetivo inicial era hacer un sistema de alarma con mínimo 4 puntos y si era posible extenderlo a 6, esta barrera fue superada, ya que haciendo uso del multiplexor pudimos extenderlo hasta 8 puntos. Dejando la puerta abierta a poder inclusive llegar a implementar un sistema con 16 o mas puntos.• Cabe resaltar que en una de nuestras pruebas al poner todas las alarmas apagadas el programa en ejecución mostraba lo contrario como si todas estuvieran encendidas.• El problema identificado era que las resistencias (1kΩ) eran el problema ya que al estar instaladas en paralelo la unión de 8 reducía la resistencia en general, y esto al comparar con la resistencia del multiplexor, era menor, entonces el sistema elegía el camino de menor resistencia y enviaba 5V como si todo estuviera activo, para esto cambiamos las resistencias por otras de 10kΩ y el programa nos dio el resultado esperado.
  12. 12. Enlace del video de explicación del proyectohttp://www.youtube.com/watch?v=9LwV-ETiMc4&feature=youtu.be

×