”control de eventos on/off basado en un …148.206.53.84/tesiuami/uami10858.pdf · la unidad de...

309
CIENCIAS BÁSICAS E INGENIERÍA. PROYECTO TERMINAL. ”CONTROL DE EVENTOS ON/OFF BASADO EN UN MICROCONTROLADOR PIC 18F8720”. Ideal para un sistema de iluminación Presentan: Andrade Jiménez Carlos Ernesto. Pérez Alfaro Juan Carlos. Asesor: Ing. Laura Ortiz Balbuena. México, D.F. Junio de 2003.

Upload: trinhnhi

Post on 01-Dec-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

CIENCIAS BÁSICAS E INGENIERÍA. PROYECTO TERMINAL.

”CONTROL DE EVENTOS ON/OFF BASADO

EN UN MICROCONTROLADOR PIC 18F8720”.

Ideal para un sistema de iluminación

Presentan: Andrade Jiménez Carlos Ernesto.

Pérez Alfaro Juan Carlos.

Asesor:

Ing. Laura Ortiz Balbuena.

México, D.F. Junio de 2003.

Control de Eventos On/Off Ideal para un sistema de iluminación

Índice. CAPITULO I.

1.1.Objetivos.----------------------------------------------------------------------------------------- 3 1.2.Características del sistema.------------------------------------------------------------ 3 1.3.Justificación. ----------------------------------------------------------------------------------- 4

CAPITULO II.

2.1.Introducción.------------------------------------------------------------------------------------ 5 • 2.1.1.PIC.------------------------------------------------------------------------------------------ 6 • 2.1.2.Historia.------------------------------------------------------------------------------------- 7

2.2.Propuesta.---------------------------------------------------------------------------------------- 8 CAPITULO III.

3.1.Arquitectura y descripción del sistema.----------------------------------------- 9 • 3.1.1.Unidad de alimentación.-------------------------------------------------------------- 11 • 3.1.2.Unidad de Control.--------------------------------------------------------------------- 12 • 3.1.3.Unidad de Entradas.------- ----------------------------------------------------------- 16 • 3.1.4.Unidad de Salidas.--------------------------------------------------------------------- 18 • 3.1.5.Unidad interactiva de visualización y control centralizado.------------------ 21

CAPITULO IV.

4.1.Manual del Usuario.----------------------------------------------------------------------- 25 4.2.Índice del Manual del Usuario.----------------------------------------------------------------- 26

CAPITULO V.

5.1.Conclusión.------------------------------------------------------------------------------------ 53 5.2.Bibliografía y Fuentes. ------------------------------------------------------------------ 54

CAPITULO VI. 6.1. Código del programa-------------------------------------------------------------------- 55

2

Control de Eventos On/Off Ideal para un sistema de iluminación

1.1. Objetivos.

El proyecto consiste en el desarrollo de un sistema de atención a varios eventos de

tipo ON/OFF, ideal para un sistema de iluminación por medio de la implementación de un

PIC (controlador de periféricos integrados) 18F6720. Éste sistema se caracteriza por tener

disponible una interfaz a usuario por medio de un teclado y un display con la posibilidad de

monitorear o atender el estado de éstos mismos ya sea de manera independiente, o sujetos

a sensores de entrada (movimiento).

1.2. Características del sistema.

Este sistema de control de eventos ON/OFF cuenta con las siguientes características

a mencionar.

• El sistema tiene la capacidad de retener claves de usuario mediante una memoria

EEPROM, así como guardar configuraciones durante la ejecución del mismo.

• El número de entradas y salidas, en un principio va en una proporción de 3 a 1.

• Se debe tener la opción de programar o elegir cuales puertos serán los de las señales

de entrada y salida.

• La activación de sistemas ON/OFF se pueden realizar mediante temporización, de

sensores o directamente con el teclado.

• El uso de un teclado hexadecimal facilitando así, la acción de ON/OFF de los eventos

a controlar.

• Facilita la administración o control de procesos mediante un display 4x20.

• El uso de un microcontrolador PIC 18F6720, el cual aporta unas serie de ventajas

sobre los microcontroladores existentes en el mercado.

3

Control de Eventos On/Off Ideal para un sistema de iluminación

1.3. Justificación.

El diseño y desarrollo de dicho control de eventos ON/OFF surgió de la necesidad de

crear una herramienta que ayudase a una mejor administración y ahorro energético de un

sistema de iluminación, pudiendo ser también, cualquier evento de encendido / apagado

(motores, ventiladores, equipos electrónicos, etc).

Uno de los grandes problemas a la hora de afrontar el ahorro de energía en las

comunidades, es el hecho de que al encenderse la luz en las zonas comunes, se iluminan

las luces de todo el edificio, con lo que se está derrochando la mayor parte de la energía

utilizada. La solución a este problema es la inclusión de un económico sistema de ahorro

racional del consumo eléctrico.

La tarea de encendido y apagado se optimiza mediante este control, reduciendo

costos en tiempo, eliminado interruptores, ahorrando energía y teniendo un mayor control de

las terminales activas.

Para el control de eventos se diseñó una tarjeta económica y sencilla. Para ello se

utilizó un teclado hexadecimal, display 20x4 y una serie de relevadores.

Para que el usuario pudiera programar el sistema fácilmente, se elaboró un manual

de usuario practico y sencillo.

4

Control de Eventos On/Off Ideal para un sistema de iluminación

2.1. Introducción.

La Automatización es algo prácticamente imprescindible en el mundo de la Industria

actual, dados los niveles de productividad, fiabilidad y rentabilidad que han de cumplir los

productos elaborados a fin de ser competitivos en el mercado.

Los sistemas propuestos por el mercado actual están apoyados por el empleo de las más

conocidas marcas en lo que respecta a Sensores. Estos elementos se conectan a potentes

unidades PLC que son las encargadas de procesar la información del mundo exterior en

tiempo real, soportando además las comunicaciones con un Centro de Control y aceptando

las más diversas topologías de conectividad.

Las aplicaciones típicas para estos sistemas son las de automatización de procesos,

aplicaciones para Control, Telemando y Telemetría en instalaciones fabriles, hidráulicas y

residenciales.

Los controladores lógicos programables (PLC’s) presentan una serie de ventajas de control

que posibilitan amortizar su valor a muy corto plazo.

Ofrecen un completo rango en los últimos avances de la tecnología de automatización.

El uso de Controladores Lógicos Programables (PLC), comienza en las plantas

envasadoras, automotrices o de procesos químicos, y actualmente se extiende más allá del

contexto de las industrias hacia aplicaciones tales como sistemas de alarmas, controles de

iluminación de centros comerciales o controles de temperatura y humedad en invernaderos.

En este momento se puede comentar que en procesos industriales complejos, en los que

interviene información de varios sensores, los sistemas de control combinan una gran

cantidad de bloques funcionales para controlar que las diferentes máquinas (cintas

5

Control de Eventos On/Off Ideal para un sistema de iluminación

transportadoras, grúas, estampadoras, brazos mecánicos, etc.) funcionen siguiendo una

determinada secuencia de trabajo. Cuando es necesario realizar cambios en la secuencia

del proceso (para introducir modificaciones en los productos) es preciso diseñar y construir

nuevos circuitos y nuevos cableados entre los elementos de control: esta tarea lleva tiempo

y en la producción todo tiempo tiene su costo. ¿Cómo se resuelve esto en la industria?

Existen dispositivos electrónicos que permiten modificar conexiones entre elementos

simplemente pulsando las teclas en un teclado. Las conexiones se "programan". Estos

dispositivos reciben la información de los sensores y envían la información a los elementos

de salida, de acuerdo con el programa almacenado.

2.1.1. PIC.

Un microcontrolador es un Circuito Integrado Programable o Programable Integrated Circuit

(PIC) que contiene todos los componentes de un computador, se emplea para realizar una

tarea determinada para la cual ha sido programado.

• Dispone de procesador, memoria para el programa y los datos, líneas de entrada y

salida de datos y suele estas asociado a múltiples recursos auxiliares.

• Puede controlar cualquier cosa y suele estar incluido en el mismo dispositivo que

controla.

- Maquinas expendedora de productos.

- Controles de acceso tanto de personas como de objetos

- Maquinas herramientas, motores, temporizadores.

- Sistemas autónomos de control, incendio, humedad, temperatura. etc.

- Telefonía, Automatismos, Medicina, Automoción, etc. etc.

Básicamente consta de un programa más o menos complejo que da las pautas para realizar

un trabajo ayudado por unos sensores y actuadores que recogen la información y transmiten

las instrucciones.

6

Control de Eventos On/Off Ideal para un sistema de iluminación

2.1.2. Historia.

En finales de los 1960 se introdujeron por primera vez los PLC’s. La razón principal para

diseñar un dispositivo como el PLC fue reducir los altos costos altos que involucraban el

reemplazar los sistemas base de retardo en el control de las máquinas. Bedford Associates

(Bedford, MA) propuso algo llamado a un Controlador Modular Digital (MODICON) a un

fabricante automotriz en los Estados Unidos. Otras compañías de aquél tiempo proponían

esquemas basados en las computadoras, uno de los cuales fue nombrado PDP-8. El

MODICON 084 fue el primer PLC comercial del mundo.

Cuando las necesidades de producción cambiaron, se hicieron necesarios los sistemas de

control. Esto llegaría a ser muy caro, sobretodo cuando había cambios frecuentes en los

procesos. Desde que los relevadores (relays) se usan como dispositivos mecánicos, también

se ha limitado su tiempo de uso, lo cual implica una gran restricción en el mantenimiento

programado de algún proceso.

Estos nuevos controladores (PLC's) muestran como importantes ventajas la facilidad de

programación en el mantenimiento de las plantas de ingeniería. No tienen una vida de uso

limitada y los cambios en los procesos son fáciles, sólo se reprograma el PLC.

En los 70's la tecnología de los PLC's era ya dominante en la organización de los procesos,

las máquinas de estado y los programas de control basados en CPU. Algunos de los

modelos que tomaron gran relevancia en esta década fueron los AMD 2901 y AMD 2903 de

MODICON. Para la década de los 80 se vio un intento de estandarizar las comunicaciones

con el Protocolo de Automatización de Manufactura (MAP, por sus siglas en inglés).

Fue en estos años en que surgió la necesidad de reducir considerablemente el tamaño de

los PLC's y hacer de ellos receptores de instrucciones de control programadas desde una

computadora.

7

Control de Eventos On/Off Ideal para un sistema de iluminación

Los 90 han visto una reducción gradual en la introducción de nuevos protocolos, y la

modernización de las capas físicas de algunos de los protocolos más populares que

sobrevivían en los 1980. La última norma (IEC 1131-3) ha intentado unir los lenguajes de

programación bajo una norma internacional.

2.2. Propuesta.

Mediante estas nuevas propuestas se pretende que en la actualidad a partir de la realización

de un conjunto de actividades de análisis y diseño de circuitos y sistemas de control lógico,

los nuevos desarrolladores preparen proyectos de investigación que les permita reconocer

que:

• Los sistemas de control lógico pueden implementarse mediante circuitos eléctricos

(interruptores), electromecánicos (relays) o electrónicos (circuitos integrados). En

todos los casos el programa de acciones del sistema se determina mediante la

estructura particular del circuito: cambiando la estructura se modifica el

comportamiento;

• Con el desarrollo de los microprocesadores surgen los sistemas programables (los

PLC, por ejemplo) en los que el programa no está determinado por un circuito sino

que puede modificarse mediante un teclado, sin necesidad de cambiar conexiones ni

elementos físicos;

• Estas innovaciones, al incorporarse a los sistemas de producción, generan profundas

modificaciones que impactan sobre los procesos, sobre los productos y sobre los

roles de las personas que trabajan en ellos.

8

Control de Eventos On/Off Ideal para un sistema de iluminación

3.1. Arquitectura y descripción del sistema.

Por sus características, este sistema de control permite su reprogramación de manera fácil y

rápida, adaptándose a las nuevas necesidades o exigencias que pudieran presentarse.

El sistema está formado por las siguientes unidades funcionales:

• Unidad de alimentación.

• Unidad de control.

• Unidad de entradas.

• Unidad de salidas.

• Unidad interactiva de visualización y control centralizado.

Estas unidades se pueden observar físicamente en la tarjeta impresa de dicho proyecto

denominada “centro de mensajes y control” versión 1.0, la cual se elaboro para este

proyecto.

El diseño de la arquitectura de la tarjeta “centro de mensajes y control” se realizo sobre una

plataforma del software ORCAD, teniendo como ventajas la opción de elaborar nuestros

propios componentes a utilizar, archivándolos como librerías para utilizarlos en un futuro.

A su vez en la tarea de la impresión de la tarjeta se utilizo una plataforma del software

MicroSim, aunque en la actualidad esta ha sido absorbida por las plataformas ORCAD.

En la figura 1 se puede observar la arquitectura física de dicha tarjeta, trabajo realizado

sobre ORCAD.

9

Control de Eventos On/Off Ideal para un sistema de iluminación

figura 1. Arquitectura de la tarjeta “centro de mensajes y control” versión 1.0.

Esta tarjeta contiene algunas otras unidades como lo es la Unidad de transmisión y

recepción serial mediante dos puertos, una Unidad de memoria serial utilizando para el

almacenamiento de información de forma serial, etc. Estas unidades extras se desarrollaron

para utilizarse en ocasiones posteriores pensando en actualizaciones del proyecto así como

expansiones del mismo.

10

Control de Eventos On/Off Ideal para un sistema de iluminación

3.1.1. Unidad de alimentación.

La unidad de alimentación se encarga de suministrar la tensión y corriente necesarias para

el correcto funcionamiento de los elementos del sistema.

En nuestro caso la corriente proporcionada por la unidad de alimentación es limitada por un

transformador, el cual va a tener como entrada una corriente alterna de 120 a 130 V,

eliminando la potencia y obteniendo una corriente continua de 12 V como salida para la

alimentación.

Una gran ventaja de este sistema de eventos on/off, es que permite el control integral de

edificios y viviendas sustituyendo básicamente a la instalación eléctrica convencional,

introduciendo la ventaja para el usuario de trabajar a tensión de seguridad (12 V ).

El sistema contiene en la tarjeta un circuito regulador de voltaje LM7805 (figura 3) para

utilizar en los procesos internos del sistema un máximo voltaje de 5 V de manera directa,

reduciendo aun más los riesgos de alto voltaje para nuestro equipo. En la figura 2 se puede

observar la arquitectura a seguir de dicha unidad de alimentación energética, siendo la figura

indicada como Bornera2 a donde llegará la terminal del eliminador de potencia de 12 V.

Figura 2. Arquitectura de la unidad de alimentación.

11

Control de Eventos On/Off Ideal para un sistema de iluminación

Tabla 1. Características eclécticas del regulador LM7805.

Figura 3. Regulador de voltaje LM7805.

3.1.2. Unidad de Control.

La unidad de control es el cerebro del sistema, en este caso el PIC. En ella se procesan los

datos recogidos por las unidades de entrada. Y de acuerdo a la programación establecida en

la memoria de esta unidad, tendrá lugar la activación o desactivación de las unidades de

salidas correspondientes.

El microcontrolador (PIC) se compone de diversos elementos básicos que se conservan en

las computadoras actuales: una unidad de control, una unidad aritmética-lógica, una unidad

de memoria, un sistema de transferencia de datos, una unidad de entrada y salida, una

unidad de almacenamiento temporal y una unidad de alimentación energética (todas estas

propias del microcontrolador) y algunos elementos lógicos como un sistema numérico básico

y las funciones elementales de operación. El sistema numérico básico permite realizar

operaciones y se basa en un sistema binario.

12

Control de Eventos On/Off Ideal para un sistema de iluminación

Como todas las máquinas, el procesador es capaz de llevar a cabo únicamente para lo que

ha sido programado, y nada más, es así como la unidad de control debe ser capaz de

decodificar los códigos de operación y los modos de direccionamiento de las instrucciones y

actuar de forma diferente para cada uno de ellos. Un programa es, consecuentemente, la

serie de instrucciones que la máquina deberá seguir, paso a paso, para llevar a cabo

automáticamente el trabajo y dicho programa está grabado en la memoria, antes del trabajo

mismo. Instruir un procesador, es decir programarlo, quiere decir identificar a través de un

esquema extremadamente elemental y detallado (un diagrama de bloques) todas las

operaciones matemáticas y lógicas que la máquina deberá llevar a cabo en un cierto orden,

previniendo hasta las eventuales alternativas que se pueden presentar en la resolución del

problema. Este esquema es convertido posteriormente en las instrucciones efectivas

elementales que deberán ser seguidas por la máquina. Después de la programación, el

procesador ya no requiere de la intervención humana y puede proceder, automáticamente,

con la velocidad permitida por sus circuitos electrónicos, llevando a cabo el programa varias

veces al día, siempre con absoluta precisión ya que la unidad de control se encarga de la

temporización de las distintas operaciones necesarias para la ejecución de cada instrucción.

También debe controlar el secuenciamiento de las instrucciones en función de la evolución

del registro contador de programa.

Para este sistema se utilizo el microcontrolador de Microchip PIC 18F8720, el cual tiene

ciertas ventajas de los demás integrantes de su familia y precisamente estas ventajas fueron

las que lo hicieron el microcontrolador optimo para este proyecto. Algunas de sus

características se muestran en la tabla 2 y tabla 3.

El microcontrolador PIC 18F8720 puede realizar varias tareas y cuenta con diversos puertos

cada uno de ellos con una función especifica los cuales programamos para usarlos a

nuestra ventaja.

13

Control de Eventos On/Off Ideal para un sistema de iluminación

Tabla 2.Información avanzada del PIC 18F8720.

Figura 4. Diagrama de pines del PIC18F8720.

Tabla 3. Características del PIC 18F8720.

14

Control de Eventos On/Off Ideal para un sistema de iluminación

Figura 5. Diagrama a bloques del microcontrolador PIC 18F8720.

15

Control de Eventos On/Off Ideal para un sistema de iluminación

La función y número de pines que compone al microcontrolador se puede observar en la

figura 4, especificándose de mejor manera en el Manual de Microcontroladores Microchip

(bibliografía) de la página 10 a la 19.

En la figura 5 se puede observar las unidades internas del PIC 18F8720 y las formas de

almacenar datos, así como la interfase del sistema de bus, puertos, direccionamientos, etc.

Cada una de estas unidades se explican de mejor forma en dicho manual.

Las tareas del microcontrolador pueden ser cambiadas o modificadas por medio de un

programador de PIC, el cual se conecta al header 7 (J12) el cual va puenteado con los

jumpers J7, J8, J9, J10 y J11 para ir alternando el modo de programación o modo normal del

sistema.

3.1.3. Unidad de Entradas.

En las unidades de entradas se conectarán todos los mecanismos convencionales para el

gobierno de la instalación, es decir, se conexionarán los pulsadores con los cuales se

encenderán o apagarán las luces en las dependencias o sea los detectores de movimientos

por infrarrojos.

Para este sistema se diseño que

las señales de entrada serán

recibidas por las 8 terminales del

puerto F del microcontrolador

siendo estas conectadas a el

Header 20 y a sus respectivas

resistencias.

Figura 6. Puerto F (entradas) del PIC.

16

Control de Eventos On/Off Ideal para un sistema de iluminación

Las terminales de los sensores de movimiento se conectaran directamente al header 20,

donde estos sensores cambiarán el estado de sus contactos cuando sean sometidos a

movimiento o vibración. Reaccionarán entregando una serie variaciones ( por ejemplo: on/off

a off/on o viceversa ).

En el mercado hay una amplia línea de sensores de movimiento. Estos sensores pueden ser

de Mercurio o libres de Mercurio.

Los sensores de movimiento y vibración son del tipo on/off, es decir que cambian el estado

de un switch al ser inclinados con respecto a la horizontal.

El sensor puede ser conectado fácilmente a sistemas microcontrolados, tarjetas de

adquisición de datos, PLC’s, y circuitos de lógica discreta o analógicos.

Por cuestiones de seguridad de la instalación se recomienda que se utilice un cable

especifico para la polarización de los sensores. Lo que se busca es que por errores en el

mantenimiento o por situaciones de catástrofe; el cable de alimentación a los sensores

pueda tener contacto con los circuitos y así no dañar la fuente principal del sistema. Para

evitar este problema se puede alimentar un circuito de polarización de sensores limitando su

corriente máxima con una resistencia, como por ejemplo una de 50 Ω.

El microcontrolador posee entradas digitales que pueden ser monitoreadas periódicamente

por el programa desarrollado, también poseen entradas de interrupción. Las entradas de

interrupción obligan al microcontrolador a ejecutar instantáneamente rutinas especificas

desarrolladas por el programador. Estas entradas son utilizadas para detectar condiciones

de alta jerarquía o importancia para el sistema y que no puede demorarse en su

procesamiento.

Los sensores pueden ser conectados a las entradas de un microcontrolador utilizando una

resistencia de polarización, como se puede apreciar en los circuitos de la figura 7.

17

Control de Eventos On/Off Ideal para un sistema de iluminación

Figura 7. A)Circuito para sensor con resistencia de polarización a tierra común. B) Circuito para sensor con

resistencia de polarización a Vcc.

Algunas aplicaciones pueden requerir de que el sistema posea una determinada sensibilidad

a las vibraciones, esto puede lograse con circuitos de filtrado.

3.1.4. Unidad de Salidas.

En las unidades de salidas se conectarán los receptores o actuadores de la instalación,

puntos de alumbrado, motores, etc, o cualquier sistema que sea de prendido apagado.

Para este sistema, como se plantea en los objetivos, el número de entradas y salidas va en

una proporción de 3 a 1, es decir que como se tiene un puerto completo para entadas

(puerto F, 8 terminales), para las salidas se tienen 24 terminales distribuidas en los puertos

H, B y J programados en ese mismo orden, es decir, que el puerto H0 será la primer

dependencia así consecutivamente, hasta el puerto J7 que gobernará la dependencia

número 24.

18

Control de Eventos On/Off Ideal para un sistema de iluminación

Figura 8. Arquitectura de unidad de salidas.

Se tiene la idea que para este sistema en cada una de las terminales de salidas serán

conectadas a relevadores para la correcta operación de dependencias, que exigen tensiones

mayores a las proporcionadas por el microcontrolador.

19

Control de Eventos On/Off Ideal para un sistema de iluminación

Se cuenta con 6 relevadores internos en la tarjeta los cuales están mapeados paralelamente

a una terminal para su uso directo con dependencias (Bornera 12) y a el header J2 a las

terminales 0 – 5 del puerto B como se puede observar en la figura 8. Los relevadores a

usarse son RAS1210 (figura 9)que funcionan con 12 V DC de entrada y proporcionan 120 V

AC y una corriente de 10 A de salida suficiente para la activación de sistemas externos

(tabla 4).

Figura 9.Imagen y diagrama del RAS1210. Tabla 4. Datos del relevador RAS1210.

Se usa el circuito integrado IR2411 como controlador el cual es el intermediario entre las

instrucciones del microcontrolador y los relevadores para poder activarlos o desactivarlos.

20

Control de Eventos On/Off Ideal para un sistema de iluminación

3.1.5. Unidad interactiva de visualización y control centralizado.

La unidad interactiva de visualización y control centralizado es un elemento interfaz entre el

sistema y el usuario. Desde dicha unidad se podrán realizar las operaciones pertinentes de

visualización de datos de interés en nuestra instalación, así como el control manual de la

instalación. Por ejemplo, se podrá visualizar el estado del alumbrado de alguna dependencia

sin tener que ir a ella. Al poseer unidad interactiva, se podrá activar y desactivar dicho

alumbrado, realizar encendidos y apagados por dependencias además se puede obtener un

listado histórico de incidencias.

Como interfaz de usuario, el sistema, posee un display de 20x4 con luz integrada y un

teclado hexadecimal, desde el cual se puede variar el estado de la instalación. En él, es

posible programar desde la activación de lámparas hasta los botones personalizados para

cada operación.

Figura 10. Arquitectura del teclado hexadecimal.

21

Control de Eventos On/Off Ideal para un sistema de iluminación

En la figura 10 se puede observar el diseño de la arquitectura del teclado hexadecimal en la

tarjeta, donde se conectan las terminales del header 9 del teclado (J14) a los pines del PIC

correspondientes a los del puerto E. Además se conectan estas mismas a sus resistencias

de seguridad de 4.7 KΩ.

Figura 11. Imagen del teclado hexadecimal. Tabla 5. Especificaciones del teclado hexadecimal.

El teclado hexadecimal (figura 11) tiene ciertas características

adecuadas para este proyecto que se muestran en la tabla 5.

En la tabla 6 se muestra la tabla de verdad para este teclado, en

donde los puntos indican las terminales conectadas cuando se

cierra el circuito. Las terminales están identificadas al reverso del

teclado (pines del teclado).

Tabla 6. Código y tabla de verdad.

22

Control de Eventos On/Off Ideal para un sistema de iluminación

El display (figura 13) desde el cual se pueden monitorear todos los procesos a ocurrir, tiene

una arquitectura que se muestra en la figura 12. El puerto D del PIC se conecta a los pines

7 al 14 del header U7 (header del display) por medio de los cuales el PIC manda los datos

al display para desplegar los mensajes correspondientes a cada una de las rutinas antes

programadas. Así también del los pines 28 – 30 del PIC se conectan al display para

proporcionar las funciones de lectura y escritura (R/W), habilitación (E) y Selección de

registro (RS) .

Se usa un trimpot de 10 KΩ el cual al ir modificando el valor de éste proporciona mayor o

menor tensión al pin 3 del header para variar el contraste de la pantalla del display.

Figura 12. Arquitectura del display.

Figura 13. Display LCD 20x4 con backlight.

23

Control de Eventos On/Off Ideal para un sistema de iluminación

Tabla 6. Características eléctricas del display 20x4.

Tabla 7. Asignación de pines del display 20x4.

En esta unidad interactiva también se puede comentar que se cuenta con una bocina de 5 V

a la cual se le proporcionan distintas frecuencias en la programación para que esta produzca

distintos tonos para facilitar de manera auditiva el uso y comprensión del sistema.

Esta bocina sustituye a el buzzer antes planeado el cual se observa en la figura 1 conectado

al pin 34 del microcontrolador.

24

Control de Eventos On/Off Ideal para un sistema de iluminación

Manual del Usuario.

CONTROL DE EVENTOS ON/OFF. Ideal para un sistema de iluminación.

25

Control de Eventos On/Off Ideal para un sistema de iluminación

4.2. Índice de Manual del Usuario.

1. Lo básico del Centro de Control de Iluminación. --------------------------- 28 • Encendido del backlight del display. ------------------------------------------------------ 29

• Funciones especiales de teclas. ----------------------------------------------------------- 29

• Tonos distintivos. ------------------------------------------------------------------------------ 29

• Conectores o Borneras hacia las terminales de las dependencias. -------------- 30

• Dimensiones del Centro de Control de Iluminación. ---------------------------------- 30

2. Menú principal. --------------------------------------------------------------------------------- 30

• Descripción del menú Control y monitoreo independiente. ------------------------- 31

• Descripción del menú Configuración del sistema. ------------------------------------ 32

• Descripción del menú Control de temporización del sistema. --------------------- 32

• Descripción del menú Configuración de sensores de entrada. -------------------- 32

• Acceso y Movimiento a la barra de menú principal. ---------------------------------- 33

3. Control y Monitoreo Independiente. ------------------------------------------------ 34

• Cambiar asignación a puertos de salida. ------------------------------------------------ 34

• Monitoreo de puertos. ------------------------------------------------------------------------ 35

• Encendido y Apagado independiente de puertos. ------------------------------------ 36

4. Encendido y Apagado General de luces. ---------------------------------------- 38

• Encendido. -------------------------------------------------------------------------------------- 38

• Apagado. ---------------------------------------------------------------------------------------- 39

26

Control de Eventos On/Off Ideal para un sistema de iluminación

5. Configuración del Sistema. ------------------------------------------------------------- 40

• Guardar configuración del sistema. ------------------------------------------------------ 41

• Cargar última configuración del sistema. ----------------------------------------------- 42

• Cargar configuración por default del sistema.------------------------------------------ 43

• Configuración por default. ------------------------------------------------------------------ 44

• Configurar Contraseña inicial del sistema. --------------------------------------------- 44

• Contraseña de Emergencia. --------------------------------------------------------------- 47

6. Configuración de sensores de entrada. ----------------------------------------- 47

• Habilitar y Deshabilitar Sensores. -------------------------------------------------------- 48

• Definir puertos controlados por sensores. --------------------------------------------- 49

• Definir Tiempo de Apagado de Sensores. --------------------------------------------- 51

27

Control de Eventos On/Off Ideal para un sistema de iluminación

4.1. Manual del Usuario.

La finalidad de este manual es dar una idea global del sistema, sin entrar en detalles

demasiado técnicos, para que el usuario sea capaz de manejarla y sacar el máximo

provecho de este.

1. Lo básico del Centro de Control de Iluminación.

Figura 14. Partes que conforman el Centro de control de iluminación.

En la figura 14 se puede apreciar las partes que conforman el Centro de Control de

iluminación, con el propósito que el usuario se vaya familiarizando.

1. Display lcd 20x4 con backlight.

2. Teclado hexadecimal.

3. Bocina.

4. Terminales (borneras internas).

5. Cubierta del control.

28

Control de Eventos On/Off Ideal para un sistema de iluminación

Encendido del backlight del display.

El programa del sistema contempla una temporización del backlight o led de iluminación del

display de 10 segundos después de encender el sistema. El backlight permanecerá

encendido siempre y cuando se presione una tecla en un rango de poco menos de 10

segundos consecutivamente.

Funciones especiales de teclas.

Las funciones especiales de las teclas que se muestran en la figura 14, son las siguientes:

6. Búsqueda hacia la izquierda.

7. Búsqueda hacia la derecha.

8. Encendido general de dependencias.

9. Apagado general de dependencias.

10. Entrar al menú.

11. Salir del menú.

Tonos distintivos.

De manera de hacer más práctico el uso de este sistema, se ha recurrido a una bocina la

cual produce distintos tonos correspondientes al uso de las teclas o funciones del control.

Por ejemplo existe un tono al presionar “salir” distinto que presionar “entrar” , así como

uno para y “encendido o apagado de luces” o al moverte de pantalla en pantalla con las

teclas de y .

29

Control de Eventos On/Off Ideal para un sistema de iluminación

Conectores o Borneras hacia las terminales de las dependencias.

Existen en el Centro de Control de Iluminación unas terminales tipo bornera internas que se

caracterizan por soportar una corriente de 10 Amperes, en las cuales se conectaran las

luces de las dependencias, aunque esto se hará de manera interna quedando en una zona

aproximada como se muestra en la figura 14 punto 4.

Dimensiones del Centro de Control de Iluminación.

Este sistema esta diseñado para permanecer empotrado en la pared dentro de un

contenedor (chalupa) con dimensiones de 9.5 cm x 23.5 cm x 6.4 cm.

2. Menú principal.

El sistema llamado “Centro de Control de Iluminación” tiene ciertas funciones y tareas que

se dividen en cuatro menús principales para facilita su programación o visualización de las

mismas. Los menús principales son los siguientes:

• Control y monitoreo independiente.

• Configuración del sistema.

• Control de temporización del sistema.

• Configuración de sensores de entrada.

La pantalla principal o inicial se muestra en la figura 15, y corresponde a el primer

despliegue en el display correspondiente al nombre del producto.

30

Control de Eventos On/Off Ideal para un sistema de iluminación

Figura 15. Despliegue del la barra de menú principal en el display.

Descripción del menú Control y monitoreo independiente.

En este menú se encuentran las funciones para controlar y monitorear de manera sencilla e

interactiva las terminales de las dependencias o sistemas de prendido apagado que

hayamos conectado. Existe también la tarea para cambiar las teclas asignadas por default

del teclado hexadecimal a los distintos puertos de salida, programando cualquier terminal

para su activación con una nueva asignación. (0<X≤ 24).

31

Control de Eventos On/Off Ideal para un sistema de iluminación

Descripción del menú Configuración del sistema.

En el caso de que la configuración de puertos, sensores o temporizadores se haya

modificado y guste, en este menú se encuentra la función de guardarla o salvarla para su

uso posterior. Al ocurrir una interrupción de energía o haya sucedido algún otro cambio se

puede recargar esta última versión salvada, cargándola configuración de vuelta. Existe

además la opción de cargar una configuración por default o de fabrica del sistema que es la

configuración original con la cual viene el sistema.

Por último se cuenta en este menú con la función de configurar, en el caso deseado, una

contraseña inicial del sistema para su acceso confidencial.

Descripción del menú Control de temporización del sistema.

Este menú ofrece la función de programar la temporización de las dependencias o puertos

de salida accesando a un reloj interno del sistema y programando el tiempo de duración,

encendido o apagado de las terminales.

Descripción del menú Configuración de sensores de entrada.

Este menú contiene la función de habilitar o deshabilitar los sensores de movimiento. En el

caso de estar habilitados también se puede modificar el control de cada uno de estos

sensores sobre las dependencias o puertos de salida. Contiene además la función de

temporizar los sensores en rangos establecidos de tiempo, para que estos permanezcan

activos dicho tiempo después de detectar un movimiento en la dependencia.

32

Control de Eventos On/Off Ideal para un sistema de iluminación

Acceso y Movimiento a la barra de menú principal.

Para acceder a la barra de menú principal se siguen los siguientes pasos:

1. El sistema se encuentra en la pantalla principal, para acceder a la barra de menú

principal se debe presionar la tecla para “continuar” y acceder al circulo de menús

que se muestran en la figura 15.

2. Dentro de esta barra de menú, podremos navegar mediante las teclas de flecha hacia

la derecha e izquierda ( y ) para así elegir el menú deseado. Para acceder a

alguno de estos menús basta presionar para “entrar”.

3. Una vez que nos encontramos situados dentro de la barra de menú, si presionamos la

tecla para “salir”, nos regresa a la pantalla principal.

Figura 16. Contenido del menú Control y Monitoreo Independiente.

33

Control de Eventos On/Off Ideal para un sistema de iluminación

3. Control y Monitoreo independiente.

La descripción de las funciones de este menú se explican de forma más general en el punto

2 de este manual, en la parte de la descripción del menú principal.

En la figura 16 se muestra el contenido de este menú de Control y Monitoreo Independiente.

Cambiar asignación a puertos de salida.

Los pasos para cambiar la asignación a los puertos de salida son los siguientes:

1. Una vez que “entramos” al menú de Control y Monitoreo Independiente, se presenta

un mensaje en la pantalla preguntando si es que se desea cambiar la asignación de

teclas a los puertos de salida (figura 16), al presionar “Si”, se despliega la pantalla

que se muestra en la figura 17.

Figura 17. Menú para modificar la asignación de teclas a los puertos de salida

34

Control de Eventos On/Off Ideal para un sistema de iluminación

2. En esta sección del menú tenemos la opción de monitorear las asignaciones actuales

de cada uno de los puertos de salida, al presionar para movernos hacia las otras

pantallas, hasta la última correspondiente al puerto X con su asignación 24

(configuración de default).

3. Para modificar la asignación, primero debemos situarnos en la pantalla

correspondiente a el puerto que queremos modificar. Una vez ahí, presionamos

“modificar” y acesamos a la siguiente pantalla que se muestra en la figura 17.

4. En esta pantalla se muestra el puerto que has elegido y espera se asigne el valor de

la tecla. Este valor lo proporcionamos presionando los dígitos del teclado (0-9). Es

necesario que el valor no sea mayor a 24, debido a que la manera en como trabaja es

reasignando los valores ya existente de tal manera que no se repitan y un número

mayor a 24 lo toma como indefinido.

5. En caso de que presionamos la tecla para “salir”, nos regresa a la pantalla de

Control y Monitoreo Independiente.

Monitoreo de puertos.

El monitoreo de el estado de las dependencias o puertos de salida se realiza siguiendo

los siguientes pasos:

1. Una vez que “entramos” al menú de Control y Monitoreo Independiente, se

presenta un mensaje en la pantalla preguntando si es que se desea cambiar la

asignación de teclas a los puertos de salida, al presionar “No”, se despliega la

pantalla que se muestra en la figura 18.

2. En esta sección del menú tenemos la opción de monitorear el estado actual de

cada uno de los puertos de salida, al presionar para movernos hacia las otras

pantallas, hasta la última correspondiente al puerto X con su asignación 24 .

35

Control de Eventos On/Off Ideal para un sistema de iluminación

Figura 18. Despliegue de pantallas de monitoreo de puertos.

3. Por default todas las dependencias están apagadas y se observan físicamente por

un icono de foco apagado (foco negro). Si algún puerto se encendiera

independientemente o se activara en ese momento mediante un sensor, se

observaría con un icono de foco prendido (foco blanco).

4. En caso de que presionamos la tecla para “salir”, nos regresa a la pantalla de

Control y Monitoreo Independiente.

Encendido y Apagado independiente de puertos.

1. Cuando se esta situado en las pantallas de monitoreo, para encender

independientemente un puerto, se debe seleccionar mediante los dígitos el puerto a

encender o apagar(en el ejemplo de la figura 19 se toma el puerto 22), es así como el

valor que seleccionamos se rescribe en la parte inferior izquierda de la pantalla y

aparece la leyenda “aceptar”.

36

Control de Eventos On/Off Ideal para un sistema de iluminación

Figura 19. Ejemplo de proceso de encendido independiente del puerto 22.

2. Confirmando que el valor reescrito corresponde a el puerto que deseamos encender o

apagar, (en este caso el puerto 22 correspondiente a la dependencia V). Entonces se

procede a oprimir para aceptar el proceso, como se muestra en la figura 19.

Figura 20. Ejemplo de proceso de encendido independiente del puerto 22.

3. Al momento de aceptar el proceso, el icono de el puerto elegido cambia, en este

ejemplo planteado se activó el puerto 22 correspondiente a la dependencia V donde

el icono apagado cambio al icono de foco prendido y simultáneamente se ha activado

de manera física la dependencia V. El proceso sucede de igual manera en el caso

que deseáramos apagar la dependencia.

4. Si sucede que el valor elegido para encendido apagado es mayor a 24 (el número

total de puertos para este sistema), el display despliega un mensaje de fuera de

rango, como se muestra en la figura 21.

Figura 21. Ejemplo de valor fuera de rango.

37

Control de Eventos On/Off Ideal para un sistema de iluminación

5. En caso de que presionamos la tecla para “salir”, nos regresa a la pantalla de

Control y Monitoreo Independiente.

4. Encendido y Apagado General de luces.

Consiste en activar o desactivar todas las luces o dependencias (24 puertos) mediante un

solo movimiento. Estas se activaran o desactivaran consecutivamente desde la dependencia

A hasta la X, con un tiempo de espera de 2 ms entre cada una de ellas. Esto se hace para

evitar altos picos de tensión en los cuales peligraría el estado de nuestro sistema.

El encendido y apagado General de luces o dependencias puede realizarse si se encuentra

situado en casi cualquier menú o pantalla, en las únicas que no es valido es cuando se

encuentra situado en la pantalla principal (figura 15) o el la pantalla de “sin acceso” (figura?).

Encendido.

La función de encendido general de luces sucede en el orden de los siguientes pasos:

1. Una vez que se ha comprobado que se evitan las pantallas en las cuales esta tarea

no es válida, se presiona la tecla cuya función es el encendido general de

dependencias.

2. Enseguida aparece la pantalla de “encendiendo luces” (figura 22) y físicamente se

van encendiendo una a una todas las dependencias o luces.

38

Control de Eventos On/Off Ideal para un sistema de iluminación

Figura 22. Encendido General de luces.

Apagado.

La función de apagado general de luces sucede en el orden de los siguientes pasos:

1. Una vez que se ha comprobado que se evitan las pantallas en las cuales esta tarea

no es válida, se presiona la tecla cuya función es el apagado general de

dependencias.

2. Enseguida aparece la pantalla de “apagando luces” (figura 23) y físicamente se van

apagando una a una todas las dependencias o luces.

Figura 23. Apagado General de luces.

39

Control de Eventos On/Off Ideal para un sistema de iluminación

5. Configuración del Sistema.

La descripción de las funciones de este menú se explican de forma más general en el punto

2 de este manual, en la parte de la descripción del menú principal.

En la figura 24 se muestra el contenido de este menú de Configuración del Sistema.

Figura 24. Menú de Configuración del Sistema.

40

Control de Eventos On/Off Ideal para un sistema de iluminación

Guardar configuración del sistema.

Esta función permite al sistema guardar en memoria (EEPROM) los cambios que se le

hayan hecho a la configuración de sensores, puertos y temporizadores para posteriormente

cargarla cuando sea necesario. Los pasos para guardar o salvar una configuración a

memoria son los siguientes:

1. En la barra de menú principal se selecciona “Configuración del Sistema” y con las

teclas de seleccionar a la izquierda o derecha se selecciona el menú “Guardar

Configuración del Sistema” oprimiendo para “aceptar”.

2. En el momento de aceptar el proceso, aparece una pantalla con la leyenda de

“Configuración actual de puertos, sensores y temporizadores guardada” y guarda

automáticamente en un sector determinado de memoria EEPROM, la configuración

actual (antes modificada) como se muestra en la figura 25.

3. En caso de que presionamos la tecla para “salir”, nos regresa a la pantalla de

Configuración del Sistema.

Figura 25. Proceso de Guardar configuración del sistema.

41

Control de Eventos On/Off Ideal para un sistema de iluminación

Cargar última configuración del sistema.

Esta función permite al sistema cargar de memoria los cambios que se le haya hecho a la

configuración de sensores, temporizadores y puertos, previamente guardados en la memoria

mediante la función anterior de Guardar. Los pasos para cargar o actualizar una

configuración de memoria antes guardada, son los siguientes:

1. En la barra de menú principal se selecciona “Configuración del Sistema” y con las

teclas de seleccionar a la izquierda o derecha se selecciona el menú “Cargar última

Configuración del Sistema” oprimiendo para “aceptar”.

2. En el momento de aceptar el proceso, aparece una pantalla con la leyenda de

“Configuración actual de puertos, sensores y temporizadores cargada” y carga

automáticamente la configuración anteriormente modificada como la actual, esto se

muestra en la figura 26.

3. En caso de que presionamos la tecla para “salir”, nos regresa a la pantalla de

Configuración del Sistema.

Figura 26. Proceso de Cargar última configuración del sistema.

42

Control de Eventos On/Off Ideal para un sistema de iluminación

Cargar configuración por default del sistema.

Esta función permite al sistema cargar de memoria la configuración de sensores,

temporizadores y puertos inicial, previamente realizada por el fabricante. Los pasos para

cargar o actualizar a configuración de default de la memoria, son los siguientes:

1. En la barra de menú principal se selecciona “Configuración del Sistema” y con las

teclas de seleccionar a la izquierda o derecha se selecciona el menú “Cargar

Configuración por default del Sistema” oprimiendo para “aceptar”.

2. En el momento de aceptar el proceso, aparece una pantalla con la leyenda de

“Configuración por default de puertos, sensores y temporizadores guardada” y carga

automáticamente la configuración por default, esto se muestra en la figura 27.

3. En caso de que presionamos la tecla para “salir”, nos regresa a la pantalla de

Configuración del Sistema.

Figura 27. Proceso de Cargar última configuración del sistema.

43

Control de Eventos On/Off Ideal para un sistema de iluminación

Configuración por default.

La configuración por default consiste en una configuración inicial cargada en el sistema

para su operación por parte del usuario. Esta configuración por default esta pensada por

el fabricante en el orden de puertos, sensores y temporizadores más común o más

práctico para el cliente y consiste en los siguientes puntos:

• 8 sensores de entrada deshabilitados.

• 24 puertos de salida sin control por parte de los sensores.

• El control de los puertos de salida va en orden correspondiendo el valor de 1 para

el puerto A hasta el valor 24 para el puerto X.

• 24 puertos de salida destemporizados (sin programarse para encendido apagado

dependiendo del tiempo).

Configurar Contraseña inicial del sistema.

Esta función permite al usuario habilitar y deshabilitar o elegir una contraseña personal de

acceso al sistema para navegar por la barra principal del menú y poder hacer

modificaciones confidenciales. Esta función permite también, en caso de que se habilite la

contraseña, modificar dicha clave al gusto del usuario.

Los pasos para cargar o actualizar una configuración de memoria antes guardada se

ejemplifican en la figura 29 y son los siguientes:

1. En la barra de menú principal se selecciona “Configuración del Sistema” y con las

teclas de seleccionar a la izquierda o derecha se selecciona el menú “Configurar la

contraseña inicial del Sistema” oprimiendo para “entrar”.

2. Aparece una pantalla la cual espera el proceso a realizar con la contraseña, si es que

se desea “activar” se presiona o si se desea “desactivar” se presiona .

44

Control de Eventos On/Off Ideal para un sistema de iluminación

3. Si se selecciono desactivar la contraseña, no se nos pide la clave para acceder a la

barra de menú principal, es decir, no ocurre el proceso que se muestra en la figura

28.

4. Al activar la contraseña, el sistema pregunta si es que se desea modificar la

contraseña anterior. Para seguir utilizando la contraseña anterior basta con presionar

para “salir”. Para “modificar” la contraseña anterior se presiona .

5. Esta siguiente pantalla espera se escriba la nueva contraseña, con un máximo de 5

dígitos (0-9). Al finalizar de escribirla se presiona para “aceptar”.

6. De manera de confirmar la contraseña antes elegida se solicita se rescriba. Al

terminar de rescribir la nueva contraseña se presiona para “aceptar”. El sistema

compara la contraseña con su confirmación, si son distintas te muestra un mensaje

de “Contraseña invalida” y el proceso retorna al paso número 5.

Figura 28. Petición de clave para acceder a la barra de menú principal.

45

Control de Eventos On/Off Ideal para un sistema de iluminación

Figura 29. Proceso de Configuración de contraseña inicial.

46

Control de Eventos On/Off Ideal para un sistema de iluminación

Contraseña de Emergencia.

El sistema ha sido diseñado para tener una contraseña de emergencia. Esta contraseña

tiene la función de acceder al sistema o a la barra de menú principal de igual manera que la

contraseña común pero con la diferencia que esta no puede ser modificada y eso se hace

con el objeto de servir de clave o contraseña en el caso de que el usuario olvide su

contraseña personal.

La contraseña corresponde a la fecha en la cual se comenzó a editar este manual: “62003”,

junio del 2003.

Esta contraseña de emergencia solo se encuentra en este manual y debe ser

guardada de manera confidencial.

6. Configuración de sensores de entrada.

La descripción de las funciones de este menú se explican de forma más general en el punto

2 de este manual, en la parte de la descripción del menú principal.

En la figura 30 se muestra el contenido de este menú de Configuración del Sistema.

47

Control de Eventos On/Off Ideal para un sistema de iluminación

Figura 30. Menú de Configuración de sensores de entrada.

Habilitar y Deshabilitar Sensores.

Esta función permite al sistema activar o desactivar el uso de los 8 sensores con los cuales

se cuenta. Los pasos para habilitar o deshabilitar los sensores de movimiento son los

siguientes:

1. En la barra de menú principal se selecciona “Configuración del Sensores de Entrada”

y con las teclas de seleccionar a la izquierda o derecha se selecciona el menú

“Habilitar y Deshabilitar Sensores” oprimiendo para “aceptar”.

2. Aparece una pantalla el la cual se muestra los 8 sensores enumerados y por default

desactivados (icono de tache). Presionando los dígitos del 1 al 8 se activan y aparece

un icono en forma de paloma representando la habilitación de dicho sensor, esto se

48

Control de Eventos On/Off Ideal para un sistema de iluminación

muestra en la figura 31, en donde se ejemplifica la habilitación del sensor número 4.

Este paso se repite para cada un de los siete demás sensores.

3. En caso de que presionamos la tecla para “salir”, nos regresa a la pantalla de

“Habilitar y deshabilitar sensores”.

Figura 31. Proceso de habilitar y deshabilitar sensores.

Definir puertos controlados por sensores.

Esta función permite al sistema definir los puertos que van a ser controlados por los

sensores que seleccionemos. Esta función es válida para los 24 puertos de salida, en donde

cada uno de ellos puede ser monitoreado hasta por ocho sensores, con la opción de repetir

sensores para los puertos disponibles. Los pasos para definir el control de los sensores de

movimiento para los puertos, son los siguientes:

49

Control de Eventos On/Off Ideal para un sistema de iluminación

1. En la barra de menú principal se selecciona “Configuración del Sensores de Entrada”

y con las teclas de seleccionar a la izquierda o derecha se selecciona el menú “Definir

Puertos Controlados por Sensores” oprimiendo para “aceptar”.

2. Aparece una pantalla el la cual te muestra el primer puerto A con posibilidad de ser

controlado por los 8 sensores. Con las teclas de seleccionar a la izquierda ( ) o

derecha ( ) se elige el puerto deseado de los 24 existentes (A – X).

3. Una vez elegido el puerto deseado, para elegir el sensor o sensores a controlarlo, se

presionan los dígitos del 1 al 8 que activarán el control a dicho puerto y aparece un

icono en forma de paloma representando la habilitación de dicho sensor, esto se

muestra en la figura 32, en donde se ejemplifica la habilitación de los sensores 2 y 5

controlando al puerto A. Este paso se repite para cada un de los 23 demás puertos, si

es que se deseara controlarlos.

4. En caso de que presionamos la tecla para “salir”, nos regresa a la pantalla de

“Definir Puertos Controlados por Sensores”.

Figura 32. Proceso de Definir puertos controlados por sensores.

50

Control de Eventos On/Off Ideal para un sistema de iluminación

Definir Tiempo de Apagado de Sensores.

Esta función permite al sistema temporizar los sensores en rangos previamente establecidos

de tiempo (10 seg, 30 seg, 1 min, 5 min ó 10 min,) para que estos permanezcan activos

dicho tiempo después de detectar un movimiento en la dependencia. Esta función es válida

para los 8 sensores, en donde cada uno de ellos puede ser temporizado en rangos

independientes del resto. Los pasos para definir el tiempo de detección de los sensores de

movimiento, son los siguientes:

1. En la barra de menú principal se selecciona “Configuración del Sensores de Entrada”

y con las teclas de seleccionar a la izquierda o derecha se selecciona el menú “Definir

Tiempo de Apagado de Sensores” oprimiendo para “aceptar”.

2. Aparece una pantalla el la cual te muestra el primer sensor con posibilidad de ser

temporizado a 10 seg, 30 seg, 1 min, 5 min ó 10 min. Con las teclas de seleccionar a

la izquierda ( ) o derecha ( ) se elige el sensor deseado de los 8 existentes.

3. Una vez elegido el sensor deseado, para modificar el tiempo de espera de la

activación de una dependencia después de ser sensado, se presiona “modificar”

tantas veces sea necesario para posicionar el icono en el rango de tiempo que

deseamos. Esto se muestra en la figura 33, en donde se ejemplifica la temporización

del sensor número 4 para permanecer activa la dependencia por 5 minutos después

de el último registro de movimiento. Este paso se repite para cada uno de los 7

demás sensores, si es que se deseara temporizarlos.

4. En caso de que presionáramos la tecla para “salir”, nos regresaría a la pantalla de

“Definir Tiempo de Apagado de Sensores”.

51

Control de Eventos On/Off Ideal para un sistema de iluminación

Figura 33. Proceso de Definir Tiempo de Apagado de Sensores.

52

Control de Eventos On/Off Ideal para un sistema de iluminación

Conclusión.

Durante el proceso de la elaboración de este proyecto terminal se realizaron pruebas con

terminales físicas y semejantes a las imaginadas o planteadas en este documento, pudiendo

constatar el uso práctico y sencillo del sistema de control de iluminación.

Este proyecto aunque fue pensado para un sistema de iluminación, puede utilizarse para

controlar cualquier sistema de prendido apagado como lo son motores, bombas hidráulicas,

aparatos electrónicos como radios, televisores, etc. Esto tal vez con el fin de hacer mas

multifuncional el proyecto.

Como puede apreciarse durante la lectura de este documento, en el proyecto se dejaron

varios componentes o funciones para actualizaciones futuras en posibles nuevas versiones

como lo fueron la transmisión y recepción serial de datos, antena, conexión telefónica, etc.

Todas estas herramientas junto con la tarjeta creada pueden reutilizarse para posibles

modificaciones, es así, como hacemos la atenta invitación para concluir dicho propósito del

proyecto.. La aplicación que se la ha dado a la tarjeta tiene sin duda una amplia gama de

aplicaciones.

Para finalizar se puede decir que la conclusión desde el punto de vista académico es que al

realizar este proyecto, hemos enriquecido nuestros conocimientos en las áreas de

electrónica de las comunicaciones y programación de sistemas, lo que viene a ser una

importante herramienta para integrarnos exitosamente a cualquier campo de trabajo en el

que nos desempeñemos posteriormente.

53

Control de Eventos On/Off Ideal para un sistema de iluminación

Bibliografía y Fuentes.

• Microchip PIC18FXX20 Data Sheet. 2001. (Manual de referencia de la familia de los

PIC 18FXX20).

• http://www.microchip.com

• Specifications for lcd module. MicroElectronics Corporation.

• http://www.microelect.com

• MC78XX/LM78XX Data Sheet. Fairchild Semiconductor.

• http://www.fairchildsemi.com

• Keypads Data Sheet. Grayhill Inc.

• http://www.grayhill.com

54

Control de Eventos On/Off Ideal para un sistema de iluminación

Código Fuente del programa.

title "PIC18F8720 Centro de Control de eventos ON/OFF" list p=18f8720,f=inhx32 #include <p18f8720.inc> ;32.768 Khz 11.0592 Mhz ;sensores en rutina de interrupcion 10ms ;regreso a interrumpir cada 100 ms ;y uso timer3 para la longitud de los beeps #define luz_display PORTC,2,0 #define RS PORTA,0,0 #define RW PORTA,1,0 #define E PORTA,2,0 #define tono PORTA,4,0 #define apretar_tecla ayuda,0,1 #define bit_pantalla_uno ayuda,1,1 #define bit_pantalla_dos ayuda,2,1 #define bit_pantalla_tres ayuda,3,1 #define se_apreto_tecla ayuda,5,1 #define se_imprime ayuda,6,1 #define palomita_o_tache ayuda,7,1 #define _A_check_time tiempo_puertos_1,0,1 #define _B_check_time tiempo_puertos_1,1,1 #define _C_check_time tiempo_puertos_1,2,1 #define _D_check_time tiempo_puertos_1,3,1 #define _E_check_time tiempo_puertos_1,4,1 #define _F_check_time tiempo_puertos_1,5,1 #define _G_check_time tiempo_puertos_1,6,1 #define _H_check_time tiempo_puertos_1,7,1 #define _I_check_time tiempo_puertos_2,0,1 #define _J_check_time tiempo_puertos_2,1,1 #define _K_check_time tiempo_puertos_2,2,1 #define _L_check_time tiempo_puertos_2,3,1 #define _M_check_time tiempo_puertos_2,4,1 #define _N_check_time tiempo_puertos_2,5,1 #define _O_check_time tiempo_puertos_2,6,1 #define _P_check_time tiempo_puertos_2,7,1 #define _Q_check_time tiempo_puertos_3,0,1 #define _R_check_time tiempo_puertos_3,1,1 #define _S_check_time tiempo_puertos_3,2,1 #define _T_check_time tiempo_puertos_3,3,1 #define _U_check_time tiempo_puertos_3,4,1 #define _V_check_time tiempo_puertos_3,5,1 #define _W_check_time tiempo_puertos_3,6,1 #define _X_check_time tiempo_puertos_3,7,1 tecla equ 101h;guarda el valor del teclazo

55

Control de Eventos On/Off Ideal para un sistema de iluminación

tecla2 equ 102h;comprueba la tecla apretada dir_foco equ 103h;guarda la direccion de posicion del display del foco prendido ó apagado ayuda equ 104h;bit0 para regresar desde donde se llamo poleo teniendo ya un valor en tecla aux equ 105h;el que me sirve para hacer los ciclos de temporización conta_letra equ 108h ;controla el # de caracteres de un mensage actual equ 109h; valor actual del registro que guardan la información de que puerto y bit se asocia a una literal _P1 equ 10Ah ;registro que guardan la información de que puerto y bit se asocia a una literal _P2 equ 10Bh ;registro que guardan la información de que puerto y bit se asocia a una literal _P3 equ 10Ch ;registro que guardan la información de que puerto y bit se asocia a una literal _P4 equ 10Dh ;registro que guardan la información de que puerto y bit se asocia a una literal _P5 equ 10Eh ;registro que guardan la información de que puerto y bit se asocia a una literal _P6 equ 10Fh ;registro que guardan la información de que puerto y bit se asocia a una literal _P7 equ 110h ;registro que guardan la información de que puerto y bit se asocia a una literal _P8 equ 111h ;registro que guardan la información de que puerto y bit se asocia a una literal _P9 equ 112h ;registro que guardan la información de que puerto y bit se asocia a una literal _P10 equ 113h ;registro que guardan la información de que puerto y bit se asocia a una literal _P11 equ 114h ;registro que guardan la información de que puerto y bit se asocia a una literal _P12 equ 115h ;registro que guardan la información de que puerto y bit se asocia a una literal _P13 equ 116h ;registro que guardan la información de que puerto y bit se asocia a una literal _P14 equ 117h ;registro que guardan la información de que puerto y bit se asocia a una literal _P15 equ 118h ;registro que guardan la información de que puerto y bit se asocia a una literal _P16 equ 119h ;registro que guardan la información de que puerto y bit se asocia a una literal _P17 equ 11Ah ;registro que guardan la información de que puerto y bit se asocia a una literal _P18 equ 11Bh ;registro que guardan la información de que puerto y bit se asocia a una literal _P19 equ 11Ch ;registro que guardan la información de que puerto y bit se asocia a una literal _P20 equ 11Dh ;registro que guardan la información de que puerto y bit se asocia a una literal _P21 equ 11Eh ;registro que guardan la información de que puerto y bit se asocia a una literal

56

Control de Eventos On/Off Ideal para un sistema de iluminación

_P22 equ 11Fh ;registro que guardan la información de que puerto y bit se asocia a una literal _P23 equ 120h ;registro que guardan la información de que puerto y bit se asocia a una literal _P24 equ 121h ;registro que guardan la información de que puerto y bit se asocia a una literal digito_uno equ 122h digito_dos equ 123h num_digito equ 124h ; indica si estoy por apretar el primer o segundo digito, ó si no he apretado ninguno valor_puerto equ 125h;contiene informacion de referencia un puerto y bit de salida especifico guarda_puerto equ 126h ;sirve para hacer la reasignacion bilateral o reciproca de los puertos conta_luz equ 127h;cuanta numero de interrupciones para apagar la luz del display sensores equ 128h;informacion de si cada uno de los 8 sensores esta habilitado o no _A equ 129h; aqui se guarda la informacion de que en caso de que sea controlada esta salida por un sensor,indique por cual _B equ 12Ah _C equ 12Bh _D equ 12Ch _E equ 12Dh _F equ 12Eh _G equ 12Fh _H equ 130h _I equ 131h _J equ 132h _K equ 133h _L equ 134h _M equ 135h _N equ 136h _O equ 137h _P equ 138h _Q equ 139h _R equ 13Ah _S equ 13Bh _T equ 13Ch _U equ 13Dh _V equ 13Eh _W equ 13Fh _X equ 140h info_sensores equ 141h;informacion de cuales de los sensores estan asignados a un puerto de salida en particular _RET equ 142h;para el retardo inicial del display _RET1 equ 143h;para el retardo inicial del display conta_tiempo equ 144h;para temporizar segundos o partes de el _gral_edo_sens equ 145h;ayuda a saber si se tiene que apagar un puerto o no _A_edo_sens equ 147h;sirve para no apagar un puerto si un sensor asigndo a este se apaga mientras existe otro que si está prendido _B_edo_sens equ 148h _C_edo_sens equ 149h

57

Control de Eventos On/Off Ideal para un sistema de iluminación

_D_edo_sens equ 14Ah _E_edo_sens equ 14Bh _F_edo_sens equ 14Ch _G_edo_sens equ 14Dh _H_edo_sens equ 14Eh _I_edo_sens equ 14Fh _J_edo_sens equ 150h _K_edo_sens equ 151h _L_edo_sens equ 152h _M_edo_sens equ 153h _N_edo_sens equ 154h _O_edo_sens equ 155h _P_edo_sens equ 156h _Q_edo_sens equ 157h _R_edo_sens equ 158h _S_edo_sens equ 159h _T_edo_sens equ 15Ah _U_edo_sens equ 15Bh _V_edo_sens equ 15Ch _W_edo_sens equ 15Dh _X_edo_sens equ 15Eh info_sensor1 equ 15Fh;en sensores para ver cual sensor cambió info_sensor2 equ 160h;en sensores para ver cual sensor cambió res_xor equ 161h;en sensores para ver cual sensor cambió ayuda2 equ 162h info_sensor3 equ 163h tiempo_sensor_0 equ 164h tiempo_sensor_1 equ 165h tiempo_sensor_2 equ 166h tiempo_sensor_3 equ 167h tiempo_sensor_4 equ 168h tiempo_sensor_5 equ 169h tiempo_sensor_6 equ 16Ah tiempo_sensor_7 equ 16Bh tiempo_puertos_1 equ 16Ch tiempo_puertos_2 equ 16Dh tiempo_puertos_3 equ 16Eh conta_A_H equ 16Fh conta_A_L equ 170h conta_B_H equ 171h conta_B_L equ 172h conta_C_H equ 173h conta_C_L equ 174h conta_D_H equ 175h conta_D_L equ 176h conta_E_H equ 177h conta_E_L equ 178h conta_F_H equ 179h conta_F_L equ 17Ah conta_G_H equ 17Bh conta_G_L equ 17Ch conta_H_H equ 17Dh conta_H_L equ 17Eh conta_I_H equ 17Fh

58

Control de Eventos On/Off Ideal para un sistema de iluminación

conta_I_L equ 180h conta_J_H equ 181h conta_J_L equ 182h conta_K_H equ 183h conta_K_L equ 184h conta_L_H equ 185h conta_L_L equ 186h conta_M_H equ 187h conta_M_L equ 188h conta_N_H equ 189h conta_N_L equ 18Ah conta_O_H equ 18Bh conta_O_L equ 18Ch conta_P_H equ 18Dh conta_P_L equ 18Eh conta_Q_H equ 18Fh conta_Q_L equ 190h conta_R_H equ 191h conta_R_L equ 192h conta_S_H equ 193h conta_S_L equ 194h conta_T_H equ 195h conta_T_L equ 196h conta_U_H equ 197h conta_U_L equ 198h conta_V_H equ 199h conta_V_L equ 19Ah conta_W_H equ 19Bh conta_W_L equ 19Ch conta_X_H equ 19Dh conta_X_L equ 19Eh conta_gral_H equ 19Fh conta_gral_L equ 1A0h tiempo_sensor_gral equ 1A1h ;*****MACROS******* dato_de_reg macro _reg_ ;manda al display comandos provenientes de un registro call escribe movf _reg_,0,1 movwf PORTD,0 call bocup endm dato macro palabra ;manda al display comandos provenientes de literales call escribe movlw palabra movwf PORTD,0 call bocup endm mens_de_reg macro msg ;despliega valores provenientes de registros call display movf msg,0,1

59

Control de Eventos On/Off Ideal para un sistema de iluminación

movwf PORTD,0 call bocup endm mens macro letra ;despliega valores provenientes de literales call display movlw letra movwf PORTD,0 call bocup endm datoEE_guarda macro dato_ movff dato_,EEDATA endm datoEE_carga macro _reg_ movff EEDATA,_reg_ endm bajoEE macro dir_baja_EE movlw dir_baja_EE movwf EEADR endm altoEE macro dir_alta_EE movlw dir_alta_EE movwf EEADRH endm bajo macro dir_bajo movlw dir_bajo movwf TBLPTRL,0 endm medio macro dir_medio movlw dir_medio movwf TBLPTRH,0 endm alto macro dir_alto movlw dir_alto movwf TBLPTRU,0 endm obtener macro regi movff regi,actual endm display_on_off macro puerto_,bit_,literal local apagado local fin_display_on_off btfss puerto_,bit_,0 goto apagado dato_de_reg dir_foco

60

Control de Eventos On/Off Ideal para un sistema de iluminación

mens 00h; foco_on decf dir_foco,1,1 dato_de_reg dir_foco mens literal;pone la literal correspondiente goto fin_display_on_off apagado dato_de_reg dir_foco mens 01h; foco_off decf dir_foco,1,1 dato_de_reg dir_foco mens literal fin_display_on_off endm puerto_on_off macro puerto__,bit__ btg puerto__,bit__,0 endm paloma_tache_1 macro _direccion_,_bit_;pone palomita o tache al sensor dependiendo si esta activado o no. local el_contrario local findemacro btfss sensores,_bit_,1 goto el_contrario dato _direccion_ mens 02h ; es la palomita goto findemacro el_contrario dato _direccion_ mens "x" findemacro endm palomita_tache_2 macro la_direccion,el_bit; si esta acrtivado, lo desactiva y viceberza local alrevez local finmacro btfss sensores,el_bit,1 goto alrevez dato la_direccion mens "x" bcf palomita_o_tache bcf sensores,el_bit,1 goto finmacro alrevez dato la_direccion mens 02h ; es la palomita bsf palomita_o_tache bsf sensores,el_bit,1 finmacro endm cuantas_veces_100ms? macro ms local _de_nuevo_

61

Control de Eventos On/Off Ideal para un sistema de iluminación

movlw ms movwf conta_tiempo,1 _de_nuevo_ movlw 00h cpfseq conta_tiempo,1 goto _de_nuevo_ endm deshabilita_sens_ports macro bit_sensor bcf _A_edo_sens,bit_sensor,1 bcf _B_edo_sens,bit_sensor,1 bcf _C_edo_sens,bit_sensor,1 bcf _D_edo_sens,bit_sensor,1 bcf _E_edo_sens,bit_sensor,1 bcf _F_edo_sens,bit_sensor,1 bcf _G_edo_sens,bit_sensor,1 bcf _H_edo_sens,bit_sensor,1 bcf _I_edo_sens,bit_sensor,1 bcf _J_edo_sens,bit_sensor,1 bcf _K_edo_sens,bit_sensor,1 bcf _L_edo_sens,bit_sensor,1 bcf _M_edo_sens,bit_sensor,1 bcf _N_edo_sens,bit_sensor,1 bcf _O_edo_sens,bit_sensor,1 bcf _P_edo_sens,bit_sensor,1 bcf _Q_edo_sens,bit_sensor,1 bcf _R_edo_sens,bit_sensor,1 bcf _S_edo_sens,bit_sensor,1 bcf _T_edo_sens,bit_sensor,1 bcf _U_edo_sens,bit_sensor,1 bcf _V_edo_sens,bit_sensor,1 bcf _W_edo_sens,bit_sensor,1 bcf _X_edo_sens,bit_sensor,1 endm ajusta_tache macro __puerto__ btfsc info_sensor3,0,1 bcf __puerto__,0,1 btfsc info_sensor3,1,1 bcf __puerto__,1,1 btfsc info_sensor3,2,1 bcf __puerto__,2,1 btfsc info_sensor3,3,1 bcf __puerto__,3,1 btfsc info_sensor3,4,1 bcf __puerto__,4,1 btfsc info_sensor3,5,1 bcf __puerto__,5,1 btfsc info_sensor3,6,1 bcf __puerto__,6,1 btfsc info_sensor3,7,1 bcf __puerto__,7,1 endm

62

Control de Eventos On/Off Ideal para un sistema de iluminación

edo_temp_sensores macro tiempo_sensor local t_sig_1 local t_sig_2 local t_sig_3 local t_sig_4 local fin_macro_temp movlw 01h cpfseq tiempo_sensor,1 goto t_sig_1 dato 0C1h mens 03h;flecha negatvo dato 0C8h mens " " dato 0CFh mens " " dato 97h mens " " dato 9Eh mens " " goto fin_macro_temp t_sig_1 movlw 02h cpfseq tiempo_sensor,1 goto t_sig_2 dato 0C1h mens " " dato 0C8h mens 03h;flecha negatvo dato 0CFh mens " " dato 97h mens " " dato 9Eh mens " " goto fin_macro_temp t_sig_2 movlw 03h cpfseq tiempo_sensor,1 goto t_sig_3 dato 0C1h mens " " dato 0C8h mens " " dato 0CFh mens 03h;flecha negatvo dato 97h mens " " dato 9Eh mens " " goto fin_macro_temp t_sig_3 movlw 04h cpfseq tiempo_sensor,1

63

Control de Eventos On/Off Ideal para un sistema de iluminación

goto t_sig_4 dato 0C1h mens " " dato 0C8h mens " " dato 0CFh mens " " dato 97h mens 03h;flecha negatvo dato 9Eh mens " " goto fin_macro_temp t_sig_4 movlw 05h cpfseq tiempo_sensor,1 goto fin_macro_temp dato 0C1h mens " " dato 0C8h mens " " dato 0CFh mens " " dato 97h mens " " dato 9Eh mens 03h;flecha negatvo fin_macro_temp endm ;*****inicio del programa******* org 00h goto inicio ;********interrupciones************* org 8h goto interrupciones ;................................................................. interrupciones btfsc INTCON,TMR0IF,0 goto int_TMR0_100ms ;otra int_TMR0_100ms bcf INTCON,TMR0IF,0 ;bandera de desbordamiento del timer decf conta_tiempo,1,1;usado para temporizar segundos movlw 078h movwf TMR0H,0 movlw 0BDh movwf TMR0L,0 ;(1/((1/4)(11.0592MHz)))(8)(34530) = 0.1s

64

Control de Eventos On/Off Ideal para un sistema de iluminación

btfsc luz_display;si está apagada se va a siguiente goto _siguiente_ dcfsnz conta_luz,1,1 bsf luz_display; bit de luz del display, lo apaga _siguiente_ ;sigue atencion a mas eventos como el de sensores, duracion de beeps, actualizar reloj, tiempo de espera de apagado de sensores etc etc call checa_tiempos_sensores movff PORTF,info_sensor2 movf info_sensor2,0,1 xorwf info_sensor1,0,1 movwf res_xor,1 movff info_sensor2,info_sensor1 movlw 00h cpfseq res_xor,1 goto cambios retfie cambios btfsc res_xor,0,1 call checa_sensor_0 btfsc res_xor,1,1 call checa_sensor_1 btfsc res_xor,2,1 call checa_sensor_2 btfsc res_xor,3,1 call checa_sensor_3 btfsc res_xor,4,1 call checa_sensor_4 btfsc res_xor,5,1 call checa_sensor_5 btfsc res_xor,6,1 call checa_sensor_6 btfsc res_xor,7,1 call checa_sensor_7 retfie ;................................................................. inicio call banco_1; todas nuestras variables estan en banco1 desde la 100h call alta_ports_regs;da de alta al puertos y registros de manera inicial call pto_out ; desde un principio se tiene al puerto del display como de salida bcf luz_display; bit de luz del display, lo prende :) movlw 96h;15 segundos movwf conta_luz,1;para contar interrupciones de 100ms call main_retardo call alta_display call DEFAULT call foco_on call foco_off call palomita call flecha_negativo call int_tmr0_100ms;funcion que crea interrupciones del timer0 cada 0.1s

65

Control de Eventos On/Off Ideal para un sistema de iluminación

call timer1_frec;frecuencia de los beeps call timer3_duracion;duracion de los beeps principal call borra call renglon_uno bajo 00h medio 0F0h alto 01h call mensage ;" CENTRO DE CONTROL " call beep_no cuantas_veces_100ms? 5h call renglon_dos bajo 014h call mensage ;" DE " call beep_no cuantas_veces_100ms? 5h call renglon_tres bajo 28h call mensage ;" ILUMINACION " call beep_no cuantas_veces_100ms? 5h call renglon_cuatro bajo 3Ch call mensage ;"*continuar " call beep_tecla call beep_tecla prin_1 call espera_tecla movlw "*" cpfseq tecla,1 goto prin_1 call beep_si titulo_ctrl_indep_1 call borra call renglon_uno medio 0F0h bajo 50h call mensage ;" Control, y " dato 93h mens 7Fh ;flecha izq call renglon_dos bajo 64h call mensage ;" Monitoreo " dato 0D3h mens 7Eh ;flecha der call renglon_tres bajo 78h call mensage ;" Independiente " call renglon_cuatro bajo 8Ch call mensage ;"*entrar #salir" prin_7

66

Control de Eventos On/Off Ideal para un sistema de iluminación

call espera_tecla movlw "*" cpfseq tecla,1 goto prin_2 call beep_si goto cambiar_config ;ctrl_indep prin_2 movlw "#" cpfseq tecla,1 goto prin_3 call beep_no cuantas_veces_100ms? 0Ah goto principal prin_3 movlw 7Fh ;izquierda cpfseq tecla,1 goto prin_4 call beep_tecla goto titulo_sensor prin_4 movlw 7Eh ;derecha cpfseq tecla,1 goto prin_5 call beep_tecla goto titulo_configurar prin_5 movlw "C" cpfseq tecla,1 goto prin_6 call beep_no call todos_on goto titulo_ctrl_indep_1 prin_6 movlw "D" cpfseq tecla,1 goto prin_7 call beep_no call todos_off goto titulo_ctrl_indep_1 titulo_configurar call borra call renglon_uno medio 0F0h bajo 0A0h call mensage ;" Configuracion " dato 93h mens 7Fh ;flechitas call renglon_dos bajo 0B4h call mensage ;" del " dato 0D3h mens 7Eh;der call renglon_tres

67

Control de Eventos On/Off Ideal para un sistema de iluminación

bajo 0C8h call mensage ;" Sistema " call renglon_cuatro bajo 8Ch call mensage ;"*entrar #salir" t_c_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_c_1 call beep_si goto cargar_config ;cambiar_config t_c_1 movlw "#" cpfseq tecla,1 goto t_c_2 call beep_no cuantas_veces_100ms? 0Ah goto principal t_c_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_c_3 call beep_tecla goto titulo_ctrl_indep_1 t_c_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_c_4 call beep_tecla goto titulo_temporizar t_c_4 movlw "C" cpfseq tecla,1 goto t_c_5 call beep_no call todos_on goto titulo_configurar t_c_5 movlw "D" cpfseq tecla,1 goto t_c_6 call beep_no call todos_off goto titulo_configurar titulo_temporizar call borra call renglon_uno medio 0F0h bajo 0DCh call mensage ;" Control de " dato 93h mens 7Fh ;flechitas

68

Control de Eventos On/Off Ideal para un sistema de iluminación

call renglon_dos bajo 0F0h call mensage ;" temporizacion " dato 0D3h mens 7Eh call renglon_tres medio 0F1h bajo 04h call mensage ;" del sistema " call renglon_cuatro medio 0F0h bajo 8Ch call mensage ;"*entrar #salir" t_temp_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_temp_1 call beep_si goto temporizar t_temp_1 movlw "#" cpfseq tecla,1 goto t_temp_2 call beep_no cuantas_veces_100ms? 0Ah goto principal t_temp_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_temp_3 call beep_tecla goto titulo_configurar t_temp_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_temp_4 call beep_tecla goto titulo_sensor t_temp_4 movlw "C" cpfseq tecla,1 goto t_temp_5 call beep_no call todos_on goto titulo_temporizar t_temp_5 movlw "D" cpfseq tecla,1 goto t_temp_6 call beep_no call todos_off goto titulo_temporizar

69

Control de Eventos On/Off Ideal para un sistema de iluminación

titulo_sensor call borra call renglon_uno medio 0F3h bajo 0C0h call mensage ;" Configuracion " dato 93h mens 7Fh ;flechitas call renglon_dos bajo 0D4h call mensage ;" de SENSORES " dato 0D3h mens 7Eh call renglon_tres bajo 0E8h call mensage ;" de entrada " call renglon_cuatro medio 0F0h bajo 8Ch call mensage ;"*entrar #salir" t_sen_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_sen_1 call beep_si goto titulo_sensor_on_off t_sen_1 movlw "#" cpfseq tecla,1 goto t_sen_2 call beep_no cuantas_veces_100ms? 0Ah goto principal t_sen_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_sen_3 call beep_tecla goto titulo_temporizar t_sen_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_sen_4 call beep_tecla goto titulo_ctrl_indep_1 t_sen_4 movlw "C" cpfseq tecla,1 goto t_sen_5 call beep_no call todos_on

70

Control de Eventos On/Off Ideal para un sistema de iluminación

goto titulo_sensor t_sen_5 movlw "D" cpfseq tecla,1 goto t_sen_6 call beep_no call todos_off goto titulo_sensor titulo_sensor_on_off call borra call renglon_uno medio 0F3h bajo 0FCh call mensage ;" Hablitar y " dato 93h mens 7Fh ;flechitas call renglon_dos medio 0F4h bajo 10h call mensage ;" Deshabilitar " dato 0D3h mens 7Eh call renglon_tres bajo 24h call mensage ;" SENSORES " call renglon_cuatro medio 0F0h bajo 8Ch call mensage ;"*entrar #salir" t_sen_on_off_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_sen_on_off_1 call beep_si goto sensor_on_off t_sen_on_off_1 movlw "#" cpfseq tecla,1 goto t_sen_on_off_2 call beep_no goto titulo_sensor t_sen_on_off_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_sen_on_off_3 call beep_tecla goto titulo_tiempo_sensores t_sen_on_off_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_sen_on_off_4 call beep_tecla

71

Control de Eventos On/Off Ideal para un sistema de iluminación

goto titulo_asignar_sensor t_sen_on_off_4 movlw "C" cpfseq tecla,1 goto t_sen_on_off_5 call beep_no call todos_on goto titulo_sensor_on_off t_sen_on_off_5 movlw "D" cpfseq tecla,1 goto t_sen_on_off_6 call beep_no call todos_off goto titulo_sensor_on_off titulo_asignar_sensor call borra call renglon_uno medio 0F4h bajo 38h call mensage ;" Definir puertos " dato 93h mens 7Fh ;flechitas call renglon_dos bajo 4Ch call mensage ;" controlados " dato 0D3h mens 7Eh call renglon_tres bajo 60h call mensage ;" por SENSORES " call renglon_cuatro medio 0F0h bajo 8Ch call mensage ;"*entrar #salir" t_asignar_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_asignar_1 call beep_si goto asignar_sensor t_asignar_1 movlw "#" cpfseq tecla,1 goto t_asignar_2 call beep_no goto titulo_sensor t_asignar_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_asignar_3

72

Control de Eventos On/Off Ideal para un sistema de iluminación

call beep_tecla goto titulo_sensor_on_off t_asignar_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_asignar_4 call beep_tecla goto titulo_tiempo_sensores;titulo_sensor_on_off t_asignar_4 movlw "C" cpfseq tecla,1 goto t_asignar_5 call beep_no call todos_on goto titulo_asignar_sensor t_asignar_5 movlw "D" cpfseq tecla,1 goto t_asignar_6 call beep_no call todos_off goto titulo_asignar_sensor titulo_tiempo_sensores call borra call renglon_uno medio 0F5h bajo 78h call mensage ;" Definir tiempo " dato 93h mens 7Fh ;flechitas call renglon_dos bajo 8Ch call mensage ;" de apagado " dato 0D3h mens 7Eh call renglon_tres bajo 0A0h call mensage ;" en SENSORES " call renglon_cuatro medio 0F0h bajo 8Ch call mensage ;"*entrar #salir" t_tiempo_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_tiempo_1 call beep_si goto tiempo_sensores t_tiempo_1 movlw "#" cpfseq tecla,1

73

Control de Eventos On/Off Ideal para un sistema de iluminación

goto t_tiempo_2 call beep_no goto titulo_sensor t_tiempo_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_tiempo_3 call beep_tecla goto titulo_asignar_sensor t_tiempo_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_tiempo_4 call beep_tecla goto titulo_sensor_on_off t_tiempo_4 movlw "C" cpfseq tecla,1 goto t_tiempo_5 call beep_no call todos_on goto titulo_tiempo_sensores t_tiempo_5 movlw "D" cpfseq tecla,1 goto t_tiempo_6 call beep_no call todos_off goto titulo_tiempo_sensores tiempo_sensores call borra call renglon_uno medio 0F5h bajo 0B4h call mensage ;" SENSOR " call renglon_dos bajo 0C8h call mensage ;" >10seg >30seg >1min" call renglon_tres bajo 0DCh call mensage ;" >5min >10min " call renglon_cuatro bajo 0F0h call mensage ;"*cambiar #salir" dato 91h mens 7Fh mens " " mens 7Eh ;flechitas t_0_sens dato 8Bh

74

Control de Eventos On/Off Ideal para un sistema de iluminación

mens "1" edo_temp_sensores tiempo_sensor_0 t_0_sens_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_0_sens_1 call beep_si call mueve_flecha_0 goto t_0_sens_6 t_0_sens_1 movlw "#" cpfseq tecla,1 goto t_0_sens_2 call beep_no goto titulo_tiempo_sensores t_0_sens_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_0_sens_3 call beep_tecla goto t_7_sens t_0_sens_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_0_sens_4 call beep_tecla goto t_1_sens t_0_sens_4 movlw "C" cpfseq tecla,1 goto t_0_sens_5 call beep_no call todos_on call restituye_titulo_2 goto t_0_sens t_0_sens_5 movlw "D" cpfseq tecla,1 goto t_0_sens_6 call beep_no call todos_off call restituye_titulo_2 goto t_0_sens t_1_sens dato 8Bh mens "2" edo_temp_sensores tiempo_sensor_1 t_1_sens_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_1_sens_1

75

Control de Eventos On/Off Ideal para un sistema de iluminación

call beep_si call mueve_flecha_1 goto t_1_sens_6 t_1_sens_1 movlw "#" cpfseq tecla,1 goto t_1_sens_2 call beep_no goto titulo_tiempo_sensores t_1_sens_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_1_sens_3 call beep_tecla goto t_0_sens t_1_sens_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_1_sens_4 call beep_tecla goto t_2_sens t_1_sens_4 movlw "C" cpfseq tecla,1 goto t_1_sens_5 call beep_no call todos_on call restituye_titulo_2 goto t_1_sens t_1_sens_5 movlw "D" cpfseq tecla,1 goto t_1_sens_6 call beep_no call todos_off call restituye_titulo_2 goto t_1_sens t_2_sens dato 8Bh mens "3" edo_temp_sensores tiempo_sensor_2 t_2_sens_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_2_sens_1 call beep_si call mueve_flecha_2 goto t_2_sens_6 t_2_sens_1 movlw "#"

76

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq tecla,1 goto t_2_sens_2 call beep_no goto titulo_tiempo_sensores t_2_sens_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_2_sens_3 call beep_tecla goto t_1_sens t_2_sens_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_2_sens_4 call beep_tecla goto t_3_sens t_2_sens_4 movlw "C" cpfseq tecla,1 goto t_2_sens_5 call beep_no call todos_on call restituye_titulo_2 goto t_2_sens t_2_sens_5 movlw "D" cpfseq tecla,1 goto t_2_sens_6 call beep_no call todos_off call restituye_titulo_2 goto t_2_sens t_3_sens dato 8Bh mens "4" edo_temp_sensores tiempo_sensor_3 t_3_sens_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_3_sens_1 call beep_si call mueve_flecha_3 goto t_3_sens_6 t_3_sens_1 movlw "#" cpfseq tecla,1 goto t_3_sens_2 call beep_no goto titulo_tiempo_sensores t_3_sens_2 movlw 7Fh ;izquierda cpfseq tecla,1

77

Control de Eventos On/Off Ideal para un sistema de iluminación

goto t_3_sens_3 call beep_tecla goto t_2_sens t_3_sens_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_3_sens_4 call beep_tecla goto t_4_sens t_3_sens_4 movlw "C" cpfseq tecla,1 goto t_3_sens_5 call beep_no call todos_on call restituye_titulo_2 goto t_3_sens t_3_sens_5 movlw "D" cpfseq tecla,1 goto t_3_sens_6 call beep_no call todos_off call restituye_titulo_2 goto t_3_sens t_4_sens dato 8Bh mens "5" edo_temp_sensores tiempo_sensor_4 t_4_sens_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_4_sens_1 call beep_si call mueve_flecha_4 goto t_4_sens_6 t_4_sens_1 movlw "#" cpfseq tecla,1 goto t_4_sens_2 call beep_no goto titulo_tiempo_sensores t_4_sens_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_4_sens_3 call beep_tecla goto t_3_sens t_4_sens_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_4_sens_4

78

Control de Eventos On/Off Ideal para un sistema de iluminación

call beep_tecla goto t_5_sens t_4_sens_4 movlw "C" cpfseq tecla,1 goto t_4_sens_5 call beep_no call todos_on call restituye_titulo_2 goto t_4_sens t_4_sens_5 movlw "D" cpfseq tecla,1 goto t_4_sens_6 call beep_no call todos_off call restituye_titulo_2 goto t_4_sens t_5_sens dato 8Bh mens "6" edo_temp_sensores tiempo_sensor_5 t_5_sens_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_5_sens_1 call beep_si call mueve_flecha_5 goto t_5_sens_6 t_5_sens_1 movlw "#" cpfseq tecla,1 goto t_5_sens_2 call beep_no goto titulo_tiempo_sensores t_5_sens_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_5_sens_3 call beep_tecla goto t_4_sens t_5_sens_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_5_sens_4 call beep_tecla goto t_6_sens t_5_sens_4 movlw "C" cpfseq tecla,1 goto t_5_sens_5 call beep_no

79

Control de Eventos On/Off Ideal para un sistema de iluminación

call todos_on call restituye_titulo_2 goto t_5_sens t_5_sens_5 movlw "D" cpfseq tecla,1 goto t_5_sens_6 call beep_no call todos_off call restituye_titulo_2 goto t_5_sens t_6_sens dato 8Bh mens "7" edo_temp_sensores tiempo_sensor_6 t_6_sens_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_6_sens_1 call beep_si call mueve_flecha_6 goto t_6_sens_6 t_6_sens_1 movlw "#" cpfseq tecla,1 goto t_6_sens_2 call beep_no goto titulo_tiempo_sensores t_6_sens_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_6_sens_3 call beep_tecla goto t_5_sens t_6_sens_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_6_sens_4 call beep_tecla goto t_7_sens t_6_sens_4 movlw "C" cpfseq tecla,1 goto t_6_sens_5 call beep_no call todos_on call restituye_titulo_2 goto t_6_sens t_6_sens_5 movlw "D" cpfseq tecla,1

80

Control de Eventos On/Off Ideal para un sistema de iluminación

goto t_6_sens_6 call beep_no call todos_off call restituye_titulo_2 goto t_6_sens t_7_sens dato 8Bh mens "8" edo_temp_sensores tiempo_sensor_7 t_7_sens_6 call espera_tecla movlw "*" cpfseq tecla,1 goto t_7_sens_1 call beep_si call mueve_flecha_7 goto t_7_sens_6 t_7_sens_1 movlw "#" cpfseq tecla,1 goto t_7_sens_2 call beep_no goto titulo_tiempo_sensores t_7_sens_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto t_7_sens_3 call beep_tecla goto t_6_sens t_7_sens_3 movlw 7Eh ;derecha cpfseq tecla,1 goto t_7_sens_4 call beep_tecla goto t_0_sens t_7_sens_4 movlw "C" cpfseq tecla,1 goto t_7_sens_5 call beep_no call todos_on call restituye_titulo_2 goto t_7_sens t_7_sens_5 movlw "D" cpfseq tecla,1 goto t_7_sens_6 call beep_no call todos_off call restituye_titulo_2 goto t_7_sens

81

Control de Eventos On/Off Ideal para un sistema de iluminación

sensor_on_off call borra call renglon_uno medio 0F4h bajo 74h call mensage ;" SENSOR numero: " call renglon_dos bajo 88h call mensage ;"1( ) 3( ) 5( ) 7( ) " call renglon_tres bajo 9Ch call mensage ;"2( ) 4( ) 6( ) 8( ) " call renglon_cuatro bajo 0B0h call mensage ;" #salir" call edo_sensores ; pone palomita o tache a los sensores por si estan activados o no senof_1 call espera_tecla movlw "#" cpfseq tecla,1 goto senof_2 call beep_no goto titulo_sensor_on_off senof_2 movlw "C" cpfseq tecla,1 goto senof_3 call beep_no call todos_on goto sensor_on_off senof_3 movlw "D" cpfseq tecla,1 goto senof_4 call beep_no call todos_off goto sensor_on_off

82

Control de Eventos On/Off Ideal para un sistema de iluminación

senof_4 movlw "1" cpfseq tecla,1 goto senof_5 call beep_tecla palomita_tache_2 0C2h,0 btfss palomita_o_tache goto sens_tache_1 call checa_sensor_0 goto senof_1 sens_tache_1 deshabilita_sens_ports 0 call checa_sensores goto senof_1 senof_5 movlw "2" cpfseq tecla,1 goto senof_6 call beep_tecla palomita_tache_2 96h,1 btfss palomita_o_tache goto sens_tache_2 call checa_sensor_1 goto senof_1 sens_tache_2 deshabilita_sens_ports 1 call checa_sensores goto senof_1 senof_6 movlw "3" cpfseq tecla,1 goto senof_7 call beep_tecla palomita_tache_2 0C7h,2 btfss palomita_o_tache goto sens_tache_3 call checa_sensor_2 goto senof_1 sens_tache_3 deshabilita_sens_ports 2 call checa_sensores goto senof_1 senof_7 movlw "4" cpfseq tecla,1 goto senof_8 call beep_tecla palomita_tache_2 9Bh,3 btfss palomita_o_tache goto sens_tache_4 call checa_sensor_3 goto senof_1 sens_tache_4 deshabilita_sens_ports 3

83

Control de Eventos On/Off Ideal para un sistema de iluminación

call checa_sensores goto senof_1 senof_8 movlw "5" cpfseq tecla,1 goto senof_9 call beep_tecla palomita_tache_2 0CCh,4 btfss palomita_o_tache goto sens_tache_5 call checa_sensor_4 goto senof_1 sens_tache_5 deshabilita_sens_ports 4 call checa_sensores goto senof_1 senof_9 movlw "6" cpfseq tecla,1 goto senof_10 call beep_tecla palomita_tache_2 0A0h,5 btfss palomita_o_tache goto sens_tache_6 call checa_sensor_5 goto senof_1 sens_tache_6 deshabilita_sens_ports 5 call checa_sensores goto senof_1 senof_10 movlw "7" cpfseq tecla,1 goto senof_11 call beep_tecla palomita_tache_2 0D1h,6 btfss palomita_o_tache goto sens_tache_7 call checa_sensor_6 goto senof_1 sens_tache_7 deshabilita_sens_ports 6 call checa_sensores goto senof_1 senof_11 movlw "8" cpfseq tecla,1 goto senof_1 call beep_tecla palomita_tache_2 0A5h,7 btfss palomita_o_tache goto sens_tache_8 call checa_sensor_7 goto senof_1

84

Control de Eventos On/Off Ideal para un sistema de iluminación

sens_tache_8 deshabilita_sens_ports 7 call checa_sensores goto senof_1 asignar_sensor call borra call renglon_uno medio 0F4h bajo 0C4h call mensage ;"Puerto por sensor:" call renglon_dos bajo 88h call mensage ;"1( ) 3( ) 5( ) 7( ) " call renglon_tres bajo 9Ch call mensage ;"2( ) 4( ) 6( ) 8( ) " call renglon_cuatro bajo 0B0h call mensage ;" #salir" dato 0DCh mens 7Fh mens " " mens 7Eh ;flechitas _A_ dato 87h mens "A" movff _A,info_sensores call mostrar_asignacion espera_A_ call espera_tecla asigna_A_1 movlw "#" cpfseq tecla,1 goto asigna_A_2 call beep_no goto titulo_asignar_sensor asigna_A_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_A_3 call beep_tecla goto _X_ asigna_A_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_A_4 call beep_tecla goto _B_

85

Control de Eventos On/Off Ideal para un sistema de iluminación

asigna_A_4 movlw "C" cpfseq tecla,1 goto asigna_A_5 call beep_no call todos_on call restituye_titulo goto _A_ asigna_A_5 movlw "D" cpfseq tecla,1 goto asigna_A_6 call beep_no call todos_off call restituye_titulo goto _A_ asigna_A_6 call cambia_sensor movff info_sensores,_A ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_A_ call ajusta_palomita goto espera_A_ tache_A_ ajusta_tache _A_edo_sens call checa_sensores goto espera_A_ _B_ dato 87h mens "B" movff _B,info_sensores call mostrar_asignacion espera_B_ call espera_tecla asigna_B_1 movlw "#" cpfseq tecla,1 goto asigna_B_2 call beep_no goto titulo_asignar_sensor asigna_B_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_B_3 call beep_tecla goto _A_ asigna_B_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_B_4 call beep_tecla goto _C_

86

Control de Eventos On/Off Ideal para un sistema de iluminación

asigna_B_4 movlw "C" cpfseq tecla,1 goto asigna_B_5 call beep_no call todos_on call restituye_titulo goto _B_ asigna_B_5 movlw "D" cpfseq tecla,1 goto asigna_B_6 call beep_no call todos_off call restituye_titulo goto _B_ asigna_B_6 call cambia_sensor movff info_sensores,_B ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_B_ call ajusta_palomita goto espera_B_ tache_B_ ajusta_tache _B_edo_sens call checa_sensores goto espera_B_ _C_ dato 87h mens "C" movff _C,info_sensores call mostrar_asignacion espera_C_ call espera_tecla asigna_C_1 movlw "#" cpfseq tecla,1 goto asigna_C_2 call beep_no goto titulo_asignar_sensor asigna_C_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_C_3 call beep_tecla goto _B_ asigna_C_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_C_4 call beep_tecla goto _D_

87

Control de Eventos On/Off Ideal para un sistema de iluminación

asigna_C_4 movlw "C" cpfseq tecla,1 goto asigna_C_5 call beep_no call todos_on call restituye_titulo goto _C_ asigna_C_5 movlw "D" cpfseq tecla,1 goto asigna_C_6 call beep_no call todos_off call restituye_titulo goto _C_ asigna_C_6 call cambia_sensor movff info_sensores,_C ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_C_ call ajusta_palomita goto espera_C_ tache_C_ ajusta_tache _C_edo_sens call checa_sensores goto espera_C_ _D_ dato 87h mens "D" movff _D,info_sensores call mostrar_asignacion espera_D_ call espera_tecla asigna_D_1 movlw "#" cpfseq tecla,1 goto asigna_D_2 call beep_no goto titulo_asignar_sensor asigna_D_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_D_3 call beep_tecla goto _C_ asigna_D_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_D_4 call beep_tecla goto _E_

88

Control de Eventos On/Off Ideal para un sistema de iluminación

asigna_D_4 movlw "C" cpfseq tecla,1 goto asigna_D_5 call beep_no call todos_on call restituye_titulo goto _D_ asigna_D_5 movlw "D" cpfseq tecla,1 goto asigna_D_6 call beep_no call todos_off call restituye_titulo goto _D_ asigna_D_6 call cambia_sensor movff info_sensores,_D ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_D_ call ajusta_palomita goto espera_D_ tache_D_ ajusta_tache _D_edo_sens call checa_sensores goto espera_D_ _E_ dato 87h mens "E" movff _E,info_sensores call mostrar_asignacion espera_E_ call espera_tecla asigna_E_1 movlw "#" cpfseq tecla,1 goto asigna_E_2 call beep_no goto titulo_asignar_sensor asigna_E_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_E_3 call beep_tecla goto _D_ asigna_E_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_E_4 call beep_tecla goto _F_

89

Control de Eventos On/Off Ideal para un sistema de iluminación

asigna_E_4 movlw "C" cpfseq tecla,1 goto asigna_E_5 call beep_no call todos_on call restituye_titulo goto _E_ asigna_E_5 movlw "D" cpfseq tecla,1 goto asigna_E_6 call beep_no call todos_off call restituye_titulo goto _E_ asigna_E_6 call cambia_sensor movff info_sensores,_E ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_E_ call ajusta_palomita goto espera_E_ tache_E_ ajusta_tache _E_edo_sens call checa_sensores goto espera_E_ _F_ dato 87h mens "F" movff _F,info_sensores call mostrar_asignacion espera_F_ call espera_tecla asigna_F_1 movlw "#" cpfseq tecla,1 goto asigna_F_2 call beep_no goto titulo_asignar_sensor asigna_F_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_F_3 call beep_tecla goto _E_ asigna_F_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_F_4 call beep_tecla goto _G_

90

Control de Eventos On/Off Ideal para un sistema de iluminación

asigna_F_4 movlw "C" cpfseq tecla,1 goto asigna_F_5 call beep_no call todos_on call restituye_titulo goto _F_ asigna_F_5 movlw "D" cpfseq tecla,1 goto asigna_F_6 call beep_no call todos_off call restituye_titulo goto _F_ asigna_F_6 call cambia_sensor movff info_sensores,_F ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_F_ call ajusta_palomita goto espera_F_ tache_F_ ajusta_tache _F_edo_sens call checa_sensores goto espera_F_ _G_ dato 87h mens "G" movff _G,info_sensores call mostrar_asignacion espera_G_ call espera_tecla asigna_G_1 movlw "#" cpfseq tecla,1 goto asigna_G_2 call beep_no goto titulo_asignar_sensor asigna_G_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_G_3 call beep_tecla goto _F_ asigna_G_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_G_4 call beep_tecla goto _H_

91

Control de Eventos On/Off Ideal para un sistema de iluminación

asigna_G_4 movlw "C" cpfseq tecla,1 goto asigna_G_5 call beep_no call todos_on call restituye_titulo goto _G_ asigna_G_5 movlw "D" cpfseq tecla,1 goto asigna_G_6 call beep_no call todos_off call restituye_titulo goto _G_ asigna_G_6 call cambia_sensor movff info_sensores,_G ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_G_ call ajusta_palomita goto espera_G_ tache_G_ ajusta_tache _G_edo_sens call checa_sensores goto espera_G_ _H_ dato 87h mens "H" movff _H,info_sensores call mostrar_asignacion espera_H_ call espera_tecla asigna_H_1 movlw "#" cpfseq tecla,1 goto asigna_H_2 call beep_no goto titulo_asignar_sensor asigna_H_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_H_3 call beep_tecla goto _G_ asigna_H_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_H_4 call beep_tecla goto _I_

92

Control de Eventos On/Off Ideal para un sistema de iluminación

asigna_H_4 movlw "C" cpfseq tecla,1 goto asigna_H_5 call beep_no call todos_on call restituye_titulo goto _H_ asigna_H_5 movlw "D" cpfseq tecla,1 goto asigna_H_6 call beep_no call todos_off call restituye_titulo goto _H_ asigna_H_6 call cambia_sensor movff info_sensores,_H ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_H_ call ajusta_palomita goto espera_H_ tache_H_ ajusta_tache _H_edo_sens call checa_sensores goto espera_H_ _I_ dato 87h mens "I" movff _I,info_sensores call mostrar_asignacion espera_I_ call espera_tecla asigna_I_1 movlw "#" cpfseq tecla,1 goto asigna_I_2 call beep_no goto titulo_asignar_sensor asigna_I_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_I_3 call beep_tecla goto _H_ asigna_I_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_I_4

93

Control de Eventos On/Off Ideal para un sistema de iluminación

call beep_tecla goto _J_ asigna_I_4 movlw "C" cpfseq tecla,1 goto asigna_I_5 call beep_no call todos_on call restituye_titulo goto _I_ asigna_I_5 movlw "D" cpfseq tecla,1 goto asigna_I_6 call beep_no call todos_off call restituye_titulo goto _I_ asigna_I_6 call cambia_sensor movff info_sensores,_I ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_I_ call ajusta_palomita goto espera_I_ tache_I_ ajusta_tache _I_edo_sens call checa_sensores goto espera_I_ _J_ dato 87h mens "J" movff _J,info_sensores call mostrar_asignacion espera_J_ call espera_tecla asigna_J_1 movlw "#" cpfseq tecla,1 goto asigna_J_2 call beep_no goto titulo_asignar_sensor asigna_J_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_J_3 call beep_tecla goto _I_ asigna_J_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_J_4

94

Control de Eventos On/Off Ideal para un sistema de iluminación

call beep_tecla goto _K_ asigna_J_4 movlw "C" cpfseq tecla,1 goto asigna_J_5 call beep_no call todos_on call restituye_titulo goto _J_ asigna_J_5 movlw "D" cpfseq tecla,1 goto asigna_J_6 call beep_no call todos_off call restituye_titulo goto _J_ asigna_J_6 call cambia_sensor movff info_sensores,_J ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_J_ call ajusta_palomita goto espera_J_ tache_J_ ajusta_tache _J_edo_sens call checa_sensores goto espera_J_ _K_ dato 87h mens "K" movff _K,info_sensores call mostrar_asignacion espera_K_ call espera_tecla asigna_K_1 movlw "#" cpfseq tecla,1 goto asigna_K_2 call beep_no goto titulo_asignar_sensor asigna_K_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_K_3 call beep_tecla goto _J_ asigna_K_3 movlw 7Eh ;derecha

95

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq tecla,1 goto asigna_K_4 call beep_tecla goto _L_ asigna_K_4 movlw "C" cpfseq tecla,1 goto asigna_K_5 call beep_no call todos_on call restituye_titulo goto _K_ asigna_K_5 movlw "D" cpfseq tecla,1 goto asigna_K_6 call beep_no call todos_off call restituye_titulo goto _K_ asigna_K_6 call cambia_sensor movff info_sensores,_K ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_K_ call ajusta_palomita goto espera_K_ tache_K_ ajusta_tache _K_edo_sens call checa_sensores goto espera_K_ _L_ dato 87h mens "L" movff _L,info_sensores call mostrar_asignacion espera_L_ call espera_tecla asigna_L_1 movlw "#" cpfseq tecla,1 goto asigna_L_2 call beep_no goto titulo_asignar_sensor asigna_L_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_L_3 call beep_tecla goto _K_ asigna_L_3

96

Control de Eventos On/Off Ideal para un sistema de iluminación

movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_L_4 call beep_tecla goto _M_ asigna_L_4 movlw "C" cpfseq tecla,1 goto asigna_L_5 call beep_no call todos_on call restituye_titulo goto _L_ asigna_L_5 movlw "D" cpfseq tecla,1 goto asigna_L_6 call beep_no call todos_off call restituye_titulo goto _L_ asigna_L_6 call cambia_sensor movff info_sensores,_L ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_L_ call ajusta_palomita goto espera_L_ tache_L_ ajusta_tache _L_edo_sens call checa_sensores goto espera_L_ _M_ dato 87h mens "M" movff _M,info_sensores call mostrar_asignacion espera_M_ call espera_tecla asigna_M_1 movlw "#" cpfseq tecla,1 goto asigna_M_2 call beep_no goto titulo_asignar_sensor asigna_M_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_M_3 call beep_tecla goto _L_

97

Control de Eventos On/Off Ideal para un sistema de iluminación

asigna_M_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_M_4 call beep_tecla goto _N_ asigna_M_4 movlw "C" cpfseq tecla,1 goto asigna_M_5 call beep_no call todos_on call restituye_titulo goto _M_ asigna_M_5 movlw "D" cpfseq tecla,1 goto asigna_M_6 call beep_no call todos_off call restituye_titulo goto _M_ asigna_M_6 call cambia_sensor movff info_sensores,_M ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_M_ call ajusta_palomita goto espera_M_ tache_M_ ajusta_tache _M_edo_sens call checa_sensores goto espera_M_ _N_ dato 87h mens "N" movff _N,info_sensores call mostrar_asignacion espera_N_ call espera_tecla asigna_N_1 movlw "#" cpfseq tecla,1 goto asigna_N_2 call beep_no goto titulo_asignar_sensor asigna_N_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_N_3 call beep_tecla goto _M_

98

Control de Eventos On/Off Ideal para un sistema de iluminación

asigna_N_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_N_4 call beep_tecla goto _O_ asigna_N_4 movlw "C" cpfseq tecla,1 goto asigna_N_5 call beep_no call todos_on call restituye_titulo goto _N_ asigna_N_5 movlw "D" cpfseq tecla,1 goto asigna_N_6 call beep_no call todos_off call restituye_titulo goto _N_ asigna_N_6 call cambia_sensor movff info_sensores,_N ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_N_ call ajusta_palomita goto espera_N_ tache_N_ ajusta_tache _N_edo_sens call checa_sensores goto espera_N_ _O_ dato 87h mens "O" movff _O,info_sensores call mostrar_asignacion espera_O_ call espera_tecla asigna_O_1 movlw "#" cpfseq tecla,1 goto asigna_O_2 call beep_no goto titulo_asignar_sensor asigna_O_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_O_3 call beep_tecla goto _N_

99

Control de Eventos On/Off Ideal para un sistema de iluminación

asigna_O_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_O_4 call beep_tecla goto _P_ asigna_O_4 movlw "C" cpfseq tecla,1 goto asigna_O_5 call beep_no call todos_on call restituye_titulo goto _O_ asigna_O_5 movlw "D" cpfseq tecla,1 goto asigna_O_6 call beep_no call todos_off call restituye_titulo goto _O_ asigna_O_6 call cambia_sensor movff info_sensores,_O ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_O_ call ajusta_palomita goto espera_O_ tache_O_ ajusta_tache _O_edo_sens call checa_sensores goto espera_O_ _P_ dato 87h mens "P" movff _P,info_sensores call mostrar_asignacion espera_P_ call espera_tecla asigna_P_1 movlw "#" cpfseq tecla,1 goto asigna_P_2 call beep_no goto titulo_asignar_sensor asigna_P_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_P_3 call beep_tecla

100

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _O_ asigna_P_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_P_4 call beep_tecla goto _Q_ asigna_P_4 movlw "C" cpfseq tecla,1 goto asigna_P_5 call beep_no call todos_on call restituye_titulo goto _P_ asigna_P_5 movlw "D" cpfseq tecla,1 goto asigna_P_6 call beep_no call todos_off call restituye_titulo goto _P_ asigna_P_6 call cambia_sensor movff info_sensores,_P ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_P_ call ajusta_palomita goto espera_P_ tache_P_ ajusta_tache _P_edo_sens call checa_sensores goto espera_P_ _Q_ dato 87h mens "Q" movff _Q,info_sensores call mostrar_asignacion espera_Q_ call espera_tecla asigna_Q_1 movlw "#" cpfseq tecla,1 goto asigna_Q_2 call beep_no goto titulo_asignar_sensor asigna_Q_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_Q_3 call beep_tecla

101

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _P_ asigna_Q_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_Q_4 call beep_tecla goto _R_ asigna_Q_4 movlw "C" cpfseq tecla,1 goto asigna_Q_5 call beep_no call todos_on call restituye_titulo goto _Q_ asigna_Q_5 movlw "D" cpfseq tecla,1 goto asigna_Q_6 call beep_no call todos_off call restituye_titulo goto _Q_ asigna_Q_6 call cambia_sensor movff info_sensores,_Q ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_Q_ call ajusta_palomita goto espera_Q_ tache_Q_ ajusta_tache _Q_edo_sens call checa_sensores goto espera_Q_ _R_ dato 87h mens "R" movff _R,info_sensores call mostrar_asignacion espera_R_ call espera_tecla asigna_R_1 movlw "#" cpfseq tecla,1 goto asigna_R_2 call beep_no goto titulo_asignar_sensor asigna_R_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_R_3

102

Control de Eventos On/Off Ideal para un sistema de iluminación

call beep_tecla goto _Q_ asigna_R_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_R_4 call beep_tecla goto _S_ asigna_R_4 movlw "C" cpfseq tecla,1 goto asigna_R_5 call beep_no call todos_on call restituye_titulo goto _R_ asigna_R_5 movlw "D" cpfseq tecla,1 goto asigna_R_6 call beep_no call todos_off call restituye_titulo goto _R_ asigna_R_6 call cambia_sensor movff info_sensores,_R ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_R_ call ajusta_palomita goto espera_R_ tache_R_ ajusta_tache _R_edo_sens call checa_sensores goto espera_R_ _S_ dato 87h mens "S" movff _S,info_sensores call mostrar_asignacion espera_S_ call espera_tecla asigna_S_1 movlw "#" cpfseq tecla,1 goto asigna_S_2 call beep_no goto titulo_asignar_sensor asigna_S_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_S_3

103

Control de Eventos On/Off Ideal para un sistema de iluminación

call beep_tecla goto _R_ asigna_S_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_S_4 call beep_tecla goto _T_ asigna_S_4 movlw "C" cpfseq tecla,1 goto asigna_S_5 call beep_no call todos_on call restituye_titulo goto _S_ asigna_S_5 movlw "D" cpfseq tecla,1 goto asigna_S_6 call beep_no call todos_off call restituye_titulo goto _S_ asigna_S_6 call cambia_sensor movff info_sensores,_S ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_S_ call ajusta_palomita goto espera_S_ tache_S_ ajusta_tache _S_edo_sens call checa_sensores goto espera_S_ _T_ dato 87h mens "T" movff _T,info_sensores call mostrar_asignacion espera_T_ call espera_tecla asigna_T_1 movlw "#" cpfseq tecla,1 goto asigna_T_2 call beep_no goto titulo_asignar_sensor asigna_T_2 movlw 7Fh ;izquierda

104

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq tecla,1 goto asigna_T_3 call beep_tecla goto _S_ asigna_T_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_T_4 call beep_tecla goto _U_ asigna_T_4 movlw "C" cpfseq tecla,1 goto asigna_T_5 call beep_no call todos_on call restituye_titulo goto _T_ asigna_T_5 movlw "D" cpfseq tecla,1 goto asigna_T_6 call beep_no call todos_off call restituye_titulo goto _T_ asigna_T_6 call cambia_sensor movff info_sensores,_T ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_T_ call ajusta_palomita goto espera_T_ tache_T_ ajusta_tache _T_edo_sens call checa_sensores goto espera_T_ _U_ dato 87h mens "U" movff _U,info_sensores call mostrar_asignacion espera_U_ call espera_tecla asigna_U_1 movlw "#" cpfseq tecla,1 goto asigna_U_2 call beep_no goto titulo_asignar_sensor asigna_U_2

105

Control de Eventos On/Off Ideal para un sistema de iluminación

movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_U_3 call beep_tecla goto _T_ asigna_U_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_U_4 call beep_tecla goto _V_ asigna_U_4 movlw "C" cpfseq tecla,1 goto asigna_U_5 call beep_no call todos_on call restituye_titulo goto _U_ asigna_U_5 movlw "D" cpfseq tecla,1 goto asigna_U_6 call beep_no call todos_off call restituye_titulo goto _U_ asigna_U_6 call cambia_sensor movff info_sensores,_U ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_U_ call ajusta_palomita goto espera_U_ tache_U_ ajusta_tache _U_edo_sens call checa_sensores goto espera_U_ _V_ dato 87h mens "V" movff _V,info_sensores call mostrar_asignacion espera_V_ call espera_tecla asigna_V_1 movlw "#" cpfseq tecla,1 goto asigna_V_2 call beep_no goto titulo_asignar_sensor asigna_V_2

106

Control de Eventos On/Off Ideal para un sistema de iluminación

movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_V_3 call beep_tecla goto _U_ asigna_V_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_V_4 call beep_tecla goto _W_ asigna_V_4 movlw "C" cpfseq tecla,1 goto asigna_V_5 call beep_no call todos_on call restituye_titulo goto _V_ asigna_V_5 movlw "D" cpfseq tecla,1 goto asigna_V_6 call beep_no call todos_off call restituye_titulo goto _V_ asigna_V_6 call cambia_sensor movff info_sensores,_V ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_V_ call ajusta_palomita goto espera_V_ tache_V_ ajusta_tache _V_edo_sens call checa_sensores goto espera_V_ _W_ dato 87h mens "W" movff _W,info_sensores call mostrar_asignacion espera_W_ call espera_tecla asigna_W_1 movlw "#" cpfseq tecla,1 goto asigna_W_2 call beep_no

107

Control de Eventos On/Off Ideal para un sistema de iluminación

goto titulo_asignar_sensor asigna_W_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_W_3 call beep_tecla goto _V_ asigna_W_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_W_4 call beep_tecla goto _X_ asigna_W_4 movlw "C" cpfseq tecla,1 goto asigna_W_5 call beep_no call todos_on call restituye_titulo goto _W_ asigna_W_5 movlw "D" cpfseq tecla,1 goto asigna_W_6 call beep_no call todos_off call restituye_titulo goto _W_ asigna_W_6 call cambia_sensor movff info_sensores,_W ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_W_ call ajusta_palomita goto espera_W_ tache_W_ ajusta_tache _W_edo_sens call checa_sensores goto espera_W_ _X_ dato 87h mens "X" movff _X,info_sensores call mostrar_asignacion espera_X_ call espera_tecla asigna_X_1 movlw "#" cpfseq tecla,1 goto asigna_X_2 call beep_no

108

Control de Eventos On/Off Ideal para un sistema de iluminación

goto titulo_asignar_sensor asigna_X_2 movlw 7Fh ;izquierda cpfseq tecla,1 goto asigna_X_3 call beep_tecla goto _W_ asigna_X_3 movlw 7Eh ;derecha cpfseq tecla,1 goto asigna_X_4 call beep_tecla goto _A_ asigna_X_4 movlw "C" cpfseq tecla,1 goto asigna_X_5 call beep_no call todos_on call restituye_titulo goto _X_ asigna_X_5 movlw "D" cpfseq tecla,1 goto asigna_X_6 call beep_no call todos_off call restituye_titulo goto _X_ asigna_X_6 call cambia_sensor movff info_sensores,_X ;actualiza el valor de el registro de cierto puerto de salida btfss palomita_o_tache goto tache_X_ call ajusta_palomita goto espera_X_ tache_X_ ajusta_tache _X_edo_sens call checa_sensores goto espera_X_ cambiar_config call borra call renglon_uno medio 0F2h bajo 08h call mensage ;" Deseas cambiar la " call renglon_dos

109

Control de Eventos On/Off Ideal para un sistema de iluminación

bajo 1Ch call mensage ;"asignacion de teclas" call renglon_tres bajo 30h call mensage ;"a puertos de salida?" call renglon_cuatro medio 0F5h bajo 00h call mensage ;"*SI #NO " cfg_1 call espera_tecla movlw "*" cpfseq tecla,1 goto cfg_2 call beep_si goto cambiar cfg_2 movlw "#" cpfseq tecla,1 goto cfg_3 call beep_no goto ctrl_indep;titulo_configurar cfg_3 movlw "C" cpfseq tecla,1 goto cfg_4 call beep_no call todos_on goto cambiar_config cfg_4 movlw "D" cpfseq tecla,1 goto cfg_1 call beep_no call todos_off goto cambiar_config ctrl_indep call pantalla_uno clrf num_digito,1 call msg_sin_digitos;" #salir" clrf digito_uno,1 clrf digito_dos,1 tecla_de_ctrl_indep call espera_tecla movlw "C"

110

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq tecla,1 goto indep_1 movlw 0h cpfseq num_digito,1 ;con esto checo que no se ha apretado ningun digito goto sin_acceso call beep_no call todos_on btfss bit_pantalla_uno goto _otra_pantalla_ call pantalla_uno call msg_sin_digitos;" #salir" _otra_pantalla_ btfss bit_pantalla_dos goto _otra_pantalla_1_ call pantalla_dos call msg_sin_digitos;" #salir" _otra_pantalla_1_ btfss bit_pantalla_tres goto tecla_de_ctrl_indep call pantalla_tres call msg_sin_digitos;" #salir" goto tecla_de_ctrl_indep indep_1 movlw "D" cpfseq tecla,1 goto indep_2 movlw 0h cpfseq num_digito,1 ;con esto checo que no se ha apretado ningun digito goto sin_acceso call beep_no call todos_off btfss bit_pantalla_uno goto _otra_pantalla_2_ call pantalla_uno call msg_sin_digitos;" #salir" _otra_pantalla_2_ btfss bit_pantalla_dos goto _otra_pantalla_3_ call pantalla_dos call msg_sin_digitos;" #salir" _otra_pantalla_3_ btfss bit_pantalla_tres goto tecla_de_ctrl_indep call pantalla_tres call msg_sin_digitos;" #salir" goto tecla_de_ctrl_indep sin_acceso call no_acceso goto tecla_de_ctrl_indep indep_2 movlw 7Fh cpfseq tecla,1 goto indep_3 movlw 0h

111

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq num_digito,1 ;con esto checo que no se ha apretado ningun digito goto tecla_de_ctrl_indep btfsc bit_pantalla_uno goto tecla_de_ctrl_indep ;como pantalla 1 no tiene flecha izq. call beep_tecla btfss bit_pantalla_dos goto indep_4 call pantalla_uno call msg_sin_digitos;" #salir" goto tecla_de_ctrl_indep indep_4 btfss bit_pantalla_tres goto indep_3 call pantalla_dos call msg_sin_digitos;" #salir" goto tecla_de_ctrl_indep indep_3 movlw 7Eh cpfseq tecla,1 goto indep_5 movlw 0h cpfseq num_digito,1 ;con esto checo que no se ha apretado ningun digito goto tecla_de_ctrl_indep btfsc bit_pantalla_tres goto tecla_de_ctrl_indep call beep_tecla btfss bit_pantalla_dos goto indep_6 call pantalla_tres call msg_sin_digitos;" #salir" goto tecla_de_ctrl_indep indep_6 btfss bit_pantalla_uno goto indep_5 call pantalla_dos call msg_sin_digitos;" #salir" goto tecla_de_ctrl_indep indep_5 movlw "#" cpfseq tecla,1 goto indep_7 movlw 0h cpfseq num_digito,1 goto indep_8 call beep_no bcf bit_pantalla_uno bcf bit_pantalla_dos bcf bit_pantalla_tres clrf digito_uno,1 clrf digito_dos,1 clrf num_digito,1 goto titulo_ctrl_indep_1 indep_8 movlw 1h

112

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq num_digito,1 goto indep_9 dato 0D5h mens " " decf num_digito,1,1 clrf digito_uno,1 call msg_sin_digitos call restituye_flechitas call beep_tecla goto tecla_de_ctrl_indep indep_9 dato 0D6h mens " " decf num_digito,1,1 clrf digito_dos,1 call beep_tecla goto tecla_de_ctrl_indep indep_7 movlw "*" cpfseq tecla,1 goto indep_digitos movlw 0h cpfseq num_digito,1 ;cuando no se ha apretado tecla alguna goto indep_10 goto tecla_de_ctrl_indep indep_10 call beep_tecla movlw 1h cpfseq num_digito,1 ;cuando solo se apreto un digito y aceptar goto indep_11 ;se checa que sea del 1 al 9 movlw "1" cpfseq digito_uno,1 goto indep_12 indep_uno obtener _P1 movlw 85h movwf dir_foco,1 call del_1_al_9_ goto tecla_de_ctrl_indep indep_12 movlw "2" cpfseq digito_uno,1 goto indep_13 indep_dos obtener _P2 movlw 0C5h movwf dir_foco,1 call del_1_al_9_ goto tecla_de_ctrl_indep indep_13 movlw "3" cpfseq digito_uno,1 goto indep_14 indep_tres

113

Control de Eventos On/Off Ideal para un sistema de iluminación

obtener _P3 movlw 099h movwf dir_foco,1 call del_1_al_9_ goto tecla_de_ctrl_indep indep_14 movlw "4" cpfseq digito_uno,1 goto indep_15 indep_cuatro obtener _P4 movlw 08Bh movwf dir_foco,1 call del_1_al_9_ goto tecla_de_ctrl_indep indep_15 movlw "5" cpfseq digito_uno,1 goto indep_16 indep_cinco obtener _P5 movlw 0CBh movwf dir_foco,1 call del_1_al_9_ goto tecla_de_ctrl_indep indep_16 movlw "6" cpfseq digito_uno,1 goto indep_17 indep_seis obtener _P6 movlw 09Fh movwf dir_foco,1 call del_1_al_9_ goto tecla_de_ctrl_indep indep_17 movlw "7" cpfseq digito_uno,1 goto indep_18 indep_siete obtener _P7 movlw 091h movwf dir_foco,1 call del_1_al_9_ goto tecla_de_ctrl_indep indep_18 movlw "8" cpfseq digito_uno,1 goto indep_19 indep_ocho obtener _P8 movlw 0D1h movwf dir_foco,1 call del_1_al_9_

114

Control de Eventos On/Off Ideal para un sistema de iluminación

goto tecla_de_ctrl_indep indep_19 movlw "9" cpfseq digito_uno,1 goto indep_20 indep_nueve obtener _P9 movlw 0A5h movwf dir_foco,1 call del_1_al_9_ goto tecla_de_ctrl_indep indep_20 call no_valido call msg_sin_digitos clrf digito_uno,1 clrf digito_dos,1 clrf num_digito,1 call restituye_flechitas goto tecla_de_ctrl_indep indep_11 swapf digito_dos,1,1 ;con este algoritmo se evita confundir 1+2 de 2+1 movf digito_uno,0,1 addwf digito_dos,1,1 movlw 43h;corresponde al resultado del algoritmo anterior correspondiente a las teclas 01 cpfseq digito_dos,1 goto indep_21 goto indep_uno ;_P1 indep_21 movlw 53h cpfseq digito_dos,1 goto indep_22 goto indep_dos ;_P2 indep_22 movlw 63h cpfseq digito_dos,1 goto indep_23 goto indep_tres ;_P3 indep_23 movlw 73h cpfseq digito_dos,1 goto indep_24 goto indep_cuatro ;_P4 indep_24 movlw 83h cpfseq digito_dos,1 goto indep_25 goto indep_cinco ;_P5 indep_25 movlw 93h cpfseq digito_dos,1 goto indep_26 goto indep_seis ;_P6 indep_26

115

Control de Eventos On/Off Ideal para un sistema de iluminación

movlw 0A3h cpfseq digito_dos,1 goto indep_27 goto indep_siete ;_P7 indep_27 movlw 0B3h cpfseq digito_dos,1 goto indep_28 goto indep_ocho ;_P8 indep_28 movlw 0C3h cpfseq digito_dos,1 goto indep_29 goto indep_nueve ;_P9 indep_29 movlw 34h cpfseq digito_dos,1 goto indep_30 obtener _P10 movlw 85h movwf dir_foco,1 call del_10_al_18_ goto tecla_de_ctrl_indep indep_30 movlw 44h cpfseq digito_dos,1 goto indep_31 obtener _P11 movlw 0C5h movwf dir_foco,1 call del_10_al_18_ goto tecla_de_ctrl_indep indep_31 movlw 54h cpfseq digito_dos,1 goto indep_32 obtener _P12 movlw 99h movwf dir_foco,1 call del_10_al_18_ goto tecla_de_ctrl_indep indep_32 movlw 64h cpfseq digito_dos,1 goto indep_33 obtener _P13 movlw 08Bh movwf dir_foco,1 call del_10_al_18_ goto tecla_de_ctrl_indep indep_33 movlw 74h cpfseq digito_dos,1 goto indep_34

116

Control de Eventos On/Off Ideal para un sistema de iluminación

obtener _P14 movlw 0CBh movwf dir_foco,1 call del_10_al_18_ goto tecla_de_ctrl_indep indep_34 movlw 84h cpfseq digito_dos,1 goto indep_35 obtener _P15 movlw 9Fh movwf dir_foco,1 call del_10_al_18_ goto tecla_de_ctrl_indep indep_35 movlw 94h cpfseq digito_dos,1 goto indep_36 obtener _P16 movlw 91h movwf dir_foco,1 call del_10_al_18_ goto tecla_de_ctrl_indep indep_36 movlw 0A4h cpfseq digito_dos,1 goto indep_37 obtener _P17 movlw 0D1h movwf dir_foco,1 call del_10_al_18_ goto tecla_de_ctrl_indep indep_37 movlw 0B4h cpfseq digito_dos,1 goto indep_38 obtener _P18 movlw 0A5h movwf dir_foco,1 call del_10_al_18_ goto tecla_de_ctrl_indep indep_38 movlw 0C4h cpfseq digito_dos,1 goto indep_39 obtener _P19 movlw 85h movwf dir_foco,1 call del_19_al_24_ goto tecla_de_ctrl_indep indep_39 movlw 35h cpfseq digito_dos,1 goto indep_40

117

Control de Eventos On/Off Ideal para un sistema de iluminación

obtener _P20 movlw 0C5h movwf dir_foco,1 call del_19_al_24_ goto tecla_de_ctrl_indep indep_40 movlw 45h cpfseq digito_dos,1 goto indep_41 obtener _P21 movlw 099h movwf dir_foco,1 call del_19_al_24_ goto tecla_de_ctrl_indep indep_41 movlw 55h cpfseq digito_dos,1 goto indep_42 obtener _P22 movlw 08Bh movwf dir_foco,1 call del_19_al_24_ goto tecla_de_ctrl_indep indep_42 movlw 65h cpfseq digito_dos,1 goto indep_43 obtener _P23 movlw 0CBh movwf dir_foco,1 call del_19_al_24_ goto tecla_de_ctrl_indep indep_43 movlw 75h cpfseq digito_dos,1 goto indep_44 obtener _P24 movlw 09Fh movwf dir_foco,1 call del_19_al_24_ goto tecla_de_ctrl_indep indep_44 call no_valido ;entra si ninguna combinacion es valida call msg_sin_digitos clrf digito_uno,1 clrf digito_dos,1 clrf num_digito,1 call restituye_flechitas goto tecla_de_ctrl_indep indep_digitos ;aqui se forman digito uno y dos movlw 0h cpfseq num_digito,1 goto indep_45

118

Control de Eventos On/Off Ideal para un sistema de iluminación

call msg_con_digitos ;" *aceptar #borrar" incf num_digito,1,1 movff tecla,digito_uno call borra_flechitas dato 0D5h mens_de_reg digito_uno call beep_tecla goto tecla_de_ctrl_indep indep_45 movlw 01h cpfseq num_digito,1 goto indep_46 incf num_digito,1,1 movff tecla,digito_dos dato 0D6h mens_de_reg digito_dos call beep_tecla goto tecla_de_ctrl_indep indep_46 goto tecla_de_ctrl_indep cargar_config call borra call renglon_uno medio 0F2h bajo 94h call mensage ;" Cargar ULTIMA " dato 93h mens 7Fh ;flechitas call renglon_dos bajo 58h call mensage ;" Configuracion del " dato 0D3h mens 7Eh call renglon_tres bajo 6Ch call mensage ;" Sistema " call renglon_cuatro bajo 80h call mensage ;"*aceptar #salir" cargar_cfg_1 call espera_tecla movlw "*" cpfseq tecla,1 goto cargar_cfg_2 call beep_si goto cargar cargar_cfg_2 movlw "#" cpfseq tecla,1 goto cargar_cfg_3 call beep_no

119

Control de Eventos On/Off Ideal para un sistema de iluminación

goto titulo_configurar cargar_cfg_3 movlw 7Fh ;izq cpfseq tecla,1 goto cargar_cfg_4 call beep_tecla goto config_contrasena;guardar_config cargar_cfg_4 movlw 7Eh ;der cpfseq tecla,1 goto cargar_cfg_5 call beep_tecla goto cargar_config_default;config_contrasena cargar_cfg_5 movlw "C" cpfseq tecla,1 goto cargar_cfg_6 call beep_no call todos_on goto cargar_config cargar_cfg_6 movlw "D" cpfseq tecla,1 goto cargar_cfg_1 call beep_no call todos_off goto cargar_config cargar_config_default call borra call renglon_uno medio 0F5h bajo 14h call mensage ;" Cargar config. " dato 93h mens 7Fh ;flechitas call renglon_dos bajo 28h call mensage ;" por DEFAULT del " dato 0D3h mens 7Eh call renglon_tres bajo 3Ch call mensage ;" sistema " call renglon_cuatro medio 0F2h bajo 80h call mensage ;"*aceptar #salir" cargar_cfg_default_1

120

Control de Eventos On/Off Ideal para un sistema de iluminación

call espera_tecla movlw "*" cpfseq tecla,1 goto cargar_cfg_default_2 call beep_si goto cargar_default cargar_cfg_default_2 movlw "#" cpfseq tecla,1 goto cargar_cfg_default_3 call beep_no goto titulo_configurar cargar_cfg_default_3 movlw 7Fh ;izq cpfseq tecla,1 goto cargar_cfg_default_4 call beep_tecla goto cargar_config cargar_cfg_default_4 movlw 7Eh ;der cpfseq tecla,1 goto cargar_cfg_default_5 call beep_tecla goto guardar_config cargar_cfg_default_5 movlw "C" cpfseq tecla,1 goto cargar_cfg_default_6 call beep_no call todos_on goto cargar_config_default cargar_cfg_default_6 movlw "D" cpfseq tecla,1 goto cargar_cfg_default_1 call beep_no call todos_off goto cargar_config_default guardar_config call borra call renglon_uno medio 0F2h bajo 44h call mensage ;" Guardar " dato 93h mens 7Fh ;flechitas call renglon_dos

121

Control de Eventos On/Off Ideal para un sistema de iluminación

bajo 58h call mensage ;" Configuracion del " dato 0D3h mens 7Eh call renglon_tres bajo 6Ch call mensage ;" Sistema " call renglon_cuatro bajo 80h call mensage ;"*aceptar #salir" guardar_cfg_1 call espera_tecla movlw "*" cpfseq tecla,1 goto guardar_cfg_2 call beep_si goto guardar guardar_cfg_2 movlw "#" cpfseq tecla,1 goto guardar_cfg_3 call beep_no goto titulo_configurar guardar_cfg_3 movlw 7Fh ;izq cpfseq tecla,1 goto guardar_cfg_4 call beep_tecla goto cargar_config_default;cambiar_config guardar_cfg_4 movlw 7Eh ;dere cpfseq tecla,1 goto guardar_cfg_5 call beep_tecla goto config_contrasena;cargar_config guardar_cfg_5 movlw "C" cpfseq tecla,1 goto guardar_cfg_6 call beep_no call todos_on goto guardar_config guardar_cfg_6 movlw "D" cpfseq tecla,1 goto guardar_cfg_1 call beep_no call todos_off goto guardar_config guardar

122

Control de Eventos On/Off Ideal para un sistema de iluminación

altoEE 00h bajoEE 00h datoEE_guarda _P1 call escribe_dataEEPROM bajoEE 01h datoEE_guarda _P2 call escribe_dataEEPROM bajoEE 02h datoEE_guarda _P3 call escribe_dataEEPROM bajoEE 03h datoEE_guarda _P4 call escribe_dataEEPROM bajoEE 04h datoEE_guarda _P5 call escribe_dataEEPROM bajoEE 05h datoEE_guarda _P6 call escribe_dataEEPROM bajoEE 06h datoEE_guarda _P7 call escribe_dataEEPROM bajoEE 07h datoEE_guarda _P8 call escribe_dataEEPROM bajoEE 08h datoEE_guarda _P9 call escribe_dataEEPROM bajoEE 09h datoEE_guarda _P10 call escribe_dataEEPROM bajoEE 0Ah datoEE_guarda _P11 call escribe_dataEEPROM bajoEE 0Bh datoEE_guarda _P12 call escribe_dataEEPROM bajoEE 0Ch datoEE_guarda _P13 call escribe_dataEEPROM bajoEE 0Dh datoEE_guarda _P14 call escribe_dataEEPROM bajoEE 0Eh datoEE_guarda _P15 call escribe_dataEEPROM bajoEE 0Fh datoEE_guarda _P16 call escribe_dataEEPROM bajoEE 10h datoEE_guarda _P17 call escribe_dataEEPROM bajoEE 11h datoEE_guarda _P18

123

Control de Eventos On/Off Ideal para un sistema de iluminación

call escribe_dataEEPROM bajoEE 12h datoEE_guarda _P19 call escribe_dataEEPROM bajoEE 13h datoEE_guarda _P20 call escribe_dataEEPROM bajoEE 14h datoEE_guarda _P21 call escribe_dataEEPROM bajoEE 15h datoEE_guarda _P22 call escribe_dataEEPROM bajoEE 16h datoEE_guarda _P23 call escribe_dataEEPROM bajoEE 17h datoEE_guarda _P24 call escribe_dataEEPROM bajoEE 18h datoEE_guarda sensores call escribe_dataEEPROM bajoEE 19h datoEE_guarda _A call escribe_dataEEPROM bajoEE 1Ah datoEE_guarda _B call escribe_dataEEPROM bajoEE 1Bh datoEE_guarda _C call escribe_dataEEPROM bajoEE 1Ch datoEE_guarda _D call escribe_dataEEPROM bajoEE 1Dh datoEE_guarda _E call escribe_dataEEPROM bajoEE 1Eh datoEE_guarda _F call escribe_dataEEPROM bajoEE 1Fh datoEE_guarda _G call escribe_dataEEPROM bajoEE 20h datoEE_guarda _H call escribe_dataEEPROM bajoEE 21h datoEE_guarda _I call escribe_dataEEPROM bajoEE 22h datoEE_guarda _J call escribe_dataEEPROM bajoEE 23h datoEE_guarda _K

124

Control de Eventos On/Off Ideal para un sistema de iluminación

call escribe_dataEEPROM bajoEE 24h datoEE_guarda _L call escribe_dataEEPROM bajoEE 25h datoEE_guarda _M call escribe_dataEEPROM bajoEE 26h datoEE_guarda _N call escribe_dataEEPROM bajoEE 27h datoEE_guarda _O call escribe_dataEEPROM bajoEE 28h datoEE_guarda _P call escribe_dataEEPROM bajoEE 29h datoEE_guarda _Q call escribe_dataEEPROM bajoEE 2Ah datoEE_guarda _R call escribe_dataEEPROM bajoEE 2Bh datoEE_guarda _S call escribe_dataEEPROM bajoEE 2Ch datoEE_guarda _T call escribe_dataEEPROM bajoEE 2Dh datoEE_guarda _U call escribe_dataEEPROM bajoEE 2Eh datoEE_guarda _V call escribe_dataEEPROM bajoEE 2Fh datoEE_guarda _W call escribe_dataEEPROM bajoEE 30h datoEE_guarda _X call escribe_dataEEPROM bajoEE 31h datoEE_guarda tiempo_sensor_0 call escribe_dataEEPROM bajoEE 32h datoEE_guarda tiempo_sensor_1 call escribe_dataEEPROM bajoEE 33h datoEE_guarda tiempo_sensor_2 call escribe_dataEEPROM bajoEE 34h datoEE_guarda tiempo_sensor_3 call escribe_dataEEPROM bajoEE 35h datoEE_guarda tiempo_sensor_4

125

Control de Eventos On/Off Ideal para un sistema de iluminación

call escribe_dataEEPROM bajoEE 36h datoEE_guarda tiempo_sensor_5 call escribe_dataEEPROM bajoEE 37h datoEE_guarda tiempo_sensor_6 call escribe_dataEEPROM bajoEE 38h datoEE_guarda tiempo_sensor_7 call escribe_dataEEPROM call borra medio 0F3h bajo 84h call renglon_uno call mensage ;"Configuracion actual" medio 0F4h bajo 0D8h call renglon_dos call mensage ;"de puertos, sensores" bajo 0ECh call renglon_tres call mensage ;" y temporizadores " medio 0F3h bajo 98h call renglon_cuatro call mensage ;" guardada " cuantas_veces_100ms? 1Eh call beep_tecla call beep_no goto guardar_config cargar altoEE 00h bajoEE 00h call lee_dataEEPROM datoEE_carga _P1 bajoEE 01h call lee_dataEEPROM datoEE_carga _P2 bajoEE 02h call lee_dataEEPROM datoEE_carga _P3 bajoEE 03h call lee_dataEEPROM datoEE_carga _P4 bajoEE 04h call lee_dataEEPROM datoEE_carga _P5 bajoEE 05h

126

Control de Eventos On/Off Ideal para un sistema de iluminación

call lee_dataEEPROM datoEE_carga _P6 bajoEE 06h call lee_dataEEPROM datoEE_carga _P7 bajoEE 07h call lee_dataEEPROM datoEE_carga _P8 bajoEE 08h call lee_dataEEPROM datoEE_carga _P9 bajoEE 09h call lee_dataEEPROM datoEE_carga _P10 bajoEE 0Ah call lee_dataEEPROM datoEE_carga _P11 bajoEE 0Bh call lee_dataEEPROM datoEE_carga _P12 bajoEE 0Ch call lee_dataEEPROM datoEE_carga _P13 bajoEE 0Dh call lee_dataEEPROM datoEE_carga _P14 bajoEE 0Eh call lee_dataEEPROM datoEE_carga _P15 bajoEE 0Fh call lee_dataEEPROM datoEE_carga _P16 bajoEE 10h call lee_dataEEPROM datoEE_carga _P17 bajoEE 11h call lee_dataEEPROM datoEE_carga _P18 bajoEE 12h call lee_dataEEPROM datoEE_carga _P19 bajoEE 13h call lee_dataEEPROM datoEE_carga _P20 bajoEE 14h call lee_dataEEPROM datoEE_carga _P21 bajoEE 15h call lee_dataEEPROM datoEE_carga _P22 bajoEE 16h call lee_dataEEPROM datoEE_carga _P23 bajoEE 17h

127

Control de Eventos On/Off Ideal para un sistema de iluminación

call lee_dataEEPROM datoEE_carga _P24 bajoEE 18h call lee_dataEEPROM datoEE_carga sensores bajoEE 19h call lee_dataEEPROM datoEE_carga _A bajoEE 1Ah call lee_dataEEPROM datoEE_carga _B bajoEE 1Bh call lee_dataEEPROM datoEE_carga _C bajoEE 1Ch call lee_dataEEPROM datoEE_carga _D bajoEE 1Dh call lee_dataEEPROM datoEE_carga _E bajoEE 1Eh call lee_dataEEPROM datoEE_carga _F bajoEE 1Fh call lee_dataEEPROM datoEE_carga _G bajoEE 20h call lee_dataEEPROM datoEE_carga _H bajoEE 21h call lee_dataEEPROM datoEE_carga _I bajoEE 22h call lee_dataEEPROM datoEE_carga _J bajoEE 23h call lee_dataEEPROM datoEE_carga _K bajoEE 24h call lee_dataEEPROM datoEE_carga _L bajoEE 25h call lee_dataEEPROM datoEE_carga _M bajoEE 26h call lee_dataEEPROM datoEE_carga _N bajoEE 27h call lee_dataEEPROM datoEE_carga _O bajoEE 28h call lee_dataEEPROM datoEE_carga _P bajoEE 29h

128

Control de Eventos On/Off Ideal para un sistema de iluminación

call lee_dataEEPROM datoEE_carga _Q bajoEE 2Ah call lee_dataEEPROM datoEE_carga _R bajoEE 2Bh call lee_dataEEPROM datoEE_carga _S bajoEE 2Ch call lee_dataEEPROM datoEE_carga _T bajoEE 2Dh call lee_dataEEPROM datoEE_carga _U bajoEE 2Eh call lee_dataEEPROM datoEE_carga _V bajoEE 2Fh call lee_dataEEPROM datoEE_carga _W bajoEE 30h call lee_dataEEPROM datoEE_carga _X bajoEE 31h call lee_dataEEPROM datoEE_carga tiempo_sensor_0 bajoEE 32h call lee_dataEEPROM datoEE_carga tiempo_sensor_1 bajoEE 33h call lee_dataEEPROM datoEE_carga tiempo_sensor_2 bajoEE 34h call lee_dataEEPROM datoEE_carga tiempo_sensor_3 bajoEE 35h call lee_dataEEPROM datoEE_carga tiempo_sensor_4 bajoEE 36h call lee_dataEEPROM datoEE_carga tiempo_sensor_5 bajoEE 37h call lee_dataEEPROM datoEE_carga tiempo_sensor_6 bajoEE 38h call lee_dataEEPROM datoEE_carga tiempo_sensor_7 call borra medio 0F3h bajo 84h call renglon_uno call mensage ;"Configuracion actual" medio 0F4h bajo 0D8h

129

Control de Eventos On/Off Ideal para un sistema de iluminación

call renglon_dos call mensage ;"de puertos, sensores" bajo 0ECh call renglon_tres call mensage ;" y temporizadores " medio 0F3h bajo 0ACh call renglon_cuatro call mensage ;" cargada " cuantas_veces_100ms? 1Eh call beep_tecla call beep_no goto cargar_config cargar_default call DEFAULT call borra medio 0F5h bajo 50h call renglon_uno call mensage ;"Config. por default " medio 0F4h bajo 0D8h call renglon_dos call mensage ;"de puertos, sensores" bajo 0ECh call renglon_tres call mensage ;" y temporizadores " medio 0F3h bajo 0ACh call renglon_cuatro call mensage ;" cargada " cuantas_veces_100ms? 1Eh call beep_tecla call beep_no goto cargar_config_default config_contrasena call borra call renglon_uno medio 0F2h bajo 0A8h call mensage ;" Configurar la " dato 93h mens 7Fh ;flechitas call renglon_dos bajo 0BCh call mensage ;"contrasena inicial " dato 0D3h mens 7Eh

130

Control de Eventos On/Off Ideal para un sistema de iluminación

call renglon_tres bajo 0D0h call mensage ;" del Sistema " call renglon_cuatro medio 0F0h bajo 8Ch call mensage ;"*entrar #salir" contra_cfg_1 call espera_tecla movlw "*" cpfseq tecla,1 goto contra_cfg_2 call beep_si goto mas_de_contrasena contra_cfg_2 movlw "#" cpfseq tecla,1 goto contra_cfg_3 call beep_no goto titulo_configurar contra_cfg_3 movlw 7Fh ;izquierda cpfseq tecla,1 goto contra_cfg_4 call beep_tecla goto guardar_config contra_cfg_4 movlw 7Eh ;derecha cpfseq tecla,1 goto contra_cfg_5 call beep_tecla goto cargar_config contra_cfg_5 movlw "C" cpfseq tecla,1 goto contra_cfg_6 call beep_no call todos_on goto config_contrasena contra_cfg_6 movlw "D" cpfseq tecla,1 goto contra_cfg_1 call beep_no call todos_off goto config_contrasena mas_de_contrasena

131

Control de Eventos On/Off Ideal para un sistema de iluminación

cambiar call borra call msg_sin_digitos_2 ;"*modificar #salir" medio 0F2h bajo 0F8h call renglon_uno call mensage ;" PUERTO = TECLA " dato 93h mens 7Fh dato 0D3h mens 7Eh __A__ dato 0C4h mens "A" movlw 01h;corresppnde al puerto j bit 0 es decir literal A movwf valor_puerto,1 call cual_tecla?;para mostrar el valor actual call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_A_1 call beep_no goto titulo_ctrl_indep_1 cambiar_A_1 movlw "*" cpfseq tecla,1 goto cambiar_A_2 call beep_si call que_teclas?;para modificar el valor goto __A__ cambiar_A_2 movlw 7Fh cpfseq tecla,1 goto cambiar_A_3 call beep_tecla goto __X__ cambiar_A_3 movlw 7Eh cpfseq tecla,1 goto cambiar_A_4 call beep_tecla goto __B__ cambiar_A_4 call checa_TODOS_on_off goto __A__ __B__ dato 0C4h mens "B" movlw 02h;corresppnde al puerto j bit 1 es decir literal B movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#"

132

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq tecla,1 goto cambiar_B_1 call beep_no goto titulo_ctrl_indep_1 cambiar_B_1 movlw "*" cpfseq tecla,1 goto cambiar_B_2 call beep_si call que_teclas? goto __B__ cambiar_B_2 movlw 7Fh cpfseq tecla,1 goto cambiar_B_3 call beep_tecla goto __A__ cambiar_B_3 movlw 7Eh cpfseq tecla,1 goto cambiar_B_4 call beep_tecla goto __C__ cambiar_B_4 call checa_TODOS_on_off goto __B__ __C__ dato 0C4h mens "C" movlw 03h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_C_1 call beep_no goto titulo_ctrl_indep_1 cambiar_C_1 movlw "*" cpfseq tecla,1 goto cambiar_C_2 call beep_si call que_teclas? goto __C__ cambiar_C_2 movlw 7Fh cpfseq tecla,1 goto cambiar_C_3 call beep_tecla goto __B__ cambiar_C_3 movlw 7Eh

133

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq tecla,1 goto cambiar_C_4 call beep_tecla goto __D__ cambiar_C_4 call checa_TODOS_on_off goto __C__ __D__ dato 0C4h mens "D" movlw 04h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_D_1 call beep_no goto titulo_ctrl_indep_1 cambiar_D_1 movlw "*" cpfseq tecla,1 goto cambiar_D_2 call beep_si call que_teclas? goto __D__ cambiar_D_2 movlw 7Fh cpfseq tecla,1 goto cambiar_D_3 call beep_tecla goto __C__ cambiar_D_3 movlw 7Eh cpfseq tecla,1 goto cambiar_D_4 call beep_tecla goto __E__ cambiar_D_4 call checa_TODOS_on_off goto __D__ __E__ dato 0C4h mens "E" movlw 05h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_E_1 call beep_no

134

Control de Eventos On/Off Ideal para un sistema de iluminación

goto titulo_ctrl_indep_1 cambiar_E_1 movlw "*" cpfseq tecla,1 goto cambiar_E_2 call beep_si call que_teclas? goto __E__ cambiar_E_2 movlw 7Fh cpfseq tecla,1 goto cambiar_E_3 call beep_tecla goto __D__ cambiar_E_3 movlw 7Eh cpfseq tecla,1 goto cambiar_E_4 call beep_tecla goto __F__ cambiar_E_4 call checa_TODOS_on_off goto __E__ __F__ dato 0C4h mens "F" movlw 06h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_F_1 call beep_no goto titulo_ctrl_indep_1 cambiar_F_1 movlw "*" cpfseq tecla,1 goto cambiar_F_2 call beep_si call que_teclas? goto __F__ cambiar_F_2 movlw 7Fh cpfseq tecla,1 goto cambiar_F_3 call beep_tecla goto __E__ cambiar_F_3 movlw 7Eh cpfseq tecla,1 goto cambiar_F_4 call beep_tecla

135

Control de Eventos On/Off Ideal para un sistema de iluminación

goto __G__ cambiar_F_4 call checa_TODOS_on_off goto __F__ __G__ dato 0C4h mens "G" movlw 07h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_G_1 call beep_no goto titulo_ctrl_indep_1 cambiar_G_1 movlw "*" cpfseq tecla,1 goto cambiar_G_2 call beep_si call que_teclas? goto __G__ cambiar_G_2 movlw 7Fh cpfseq tecla,1 goto cambiar_G_3 call beep_tecla goto __F__ cambiar_G_3 movlw 7Eh cpfseq tecla,1 goto cambiar_G_4 call beep_tecla goto __H__ cambiar_G_4 call checa_TODOS_on_off goto __G__ __H__ dato 0C4h mens "H" movlw 08h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_H_1 call beep_no goto titulo_ctrl_indep_1 cambiar_H_1 movlw "*"

136

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq tecla,1 goto cambiar_H_2 call beep_si call que_teclas? goto __A__ cambiar_H_2 movlw 7Fh cpfseq tecla,1 goto cambiar_H_3 call beep_tecla goto __G__ cambiar_H_3 movlw 7Eh cpfseq tecla,1 goto cambiar_H_4 call beep_tecla goto __I__ cambiar_H_4 call checa_TODOS_on_off goto __H__ __I__ dato 0C4h mens "I" movlw 09h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_I_1 call beep_no goto titulo_ctrl_indep_1 cambiar_I_1 movlw "*" cpfseq tecla,1 goto cambiar_I_2 call beep_si call que_teclas? goto __I__ cambiar_I_2 movlw 7Fh cpfseq tecla,1 goto cambiar_I_3 call beep_tecla goto __H__ cambiar_I_3 movlw 7Eh cpfseq tecla,1 goto cambiar_I_4 call beep_tecla goto __J__ cambiar_I_4 call checa_TODOS_on_off

137

Control de Eventos On/Off Ideal para un sistema de iluminación

goto __I__ __J__ dato 0C4h mens "J" movlw 10h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_J_1 call beep_no goto titulo_ctrl_indep_1 cambiar_J_1 movlw "*" cpfseq tecla,1 goto cambiar_J_2 call beep_si call que_teclas? goto __J__ cambiar_J_2 movlw 7Fh cpfseq tecla,1 goto cambiar_J_3 call beep_tecla goto __I__ cambiar_J_3 movlw 7Eh cpfseq tecla,1 goto cambiar_J_4 call beep_tecla goto __K__ cambiar_J_4 call checa_TODOS_on_off goto __J__ __K__ dato 0C4h mens "K" movlw 11h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_K_1 call beep_no goto titulo_ctrl_indep_1 cambiar_K_1 movlw "*" cpfseq tecla,1 goto cambiar_K_2 call beep_si

138

Control de Eventos On/Off Ideal para un sistema de iluminación

call que_teclas? goto __K__ cambiar_K_2 movlw 7Fh cpfseq tecla,1 goto cambiar_K_3 call beep_tecla goto __J__ cambiar_K_3 movlw 7Eh cpfseq tecla,1 goto cambiar_K_4 call beep_tecla goto __L__ cambiar_K_4 call checa_TODOS_on_off goto __K__ __L__ dato 0C4h mens "L" movlw 12h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_L_1 call beep_no goto titulo_ctrl_indep_1 cambiar_L_1 movlw "*" cpfseq tecla,1 goto cambiar_L_2 call beep_si call que_teclas? goto __L__ cambiar_L_2 movlw 7Fh cpfseq tecla,1 goto cambiar_L_3 call beep_tecla goto __K__ cambiar_L_3 movlw 7Eh cpfseq tecla,1 goto cambiar_L_4 call beep_tecla goto __M__ cambiar_L_4 call checa_TODOS_on_off goto __L__ __M__

139

Control de Eventos On/Off Ideal para un sistema de iluminación

dato 0C4h mens "M" movlw 13h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_M_1 call beep_no goto titulo_ctrl_indep_1 cambiar_M_1 movlw "*" cpfseq tecla,1 goto cambiar_M_2 call beep_si call que_teclas? goto __M__ cambiar_M_2 movlw 7Fh cpfseq tecla,1 goto cambiar_M_3 call beep_tecla goto __L__ cambiar_M_3 movlw 7Eh cpfseq tecla,1 goto cambiar_M_4 call beep_tecla goto __N__ cambiar_M_4 call checa_TODOS_on_off goto __M__ __N__ dato 0C4h mens "N" movlw 14h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_N_1 call beep_no goto titulo_ctrl_indep_1 cambiar_N_1 movlw "*" cpfseq tecla,1 goto cambiar_N_2 call beep_si call que_teclas? goto __N__ cambiar_N_2

140

Control de Eventos On/Off Ideal para un sistema de iluminación

movlw 7Fh cpfseq tecla,1 goto cambiar_N_3 call beep_tecla goto __M__ cambiar_N_3 movlw 7Eh cpfseq tecla,1 goto cambiar_N_4 call beep_tecla goto __O__ cambiar_N_4 call checa_TODOS_on_off goto __N__ __O__ dato 0C4h mens "O" movlw 15h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_O_1 call beep_no goto titulo_ctrl_indep_1 cambiar_O_1 movlw "*" cpfseq tecla,1 goto cambiar_O_2 call beep_si call que_teclas? goto __O__ cambiar_O_2 movlw 7Fh cpfseq tecla,1 goto cambiar_O_3 call beep_tecla goto __N__ cambiar_O_3 movlw 7Eh cpfseq tecla,1 goto cambiar_O_4 call beep_tecla goto __P__ cambiar_O_4 call checa_TODOS_on_off goto __O__ __P__ dato 0C4h mens "P" movlw 16h

141

Control de Eventos On/Off Ideal para un sistema de iluminación

movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_P_1 call beep_no goto titulo_ctrl_indep_1 cambiar_P_1 movlw "*" cpfseq tecla,1 goto cambiar_P_2 call beep_si call que_teclas? goto __P__ cambiar_P_2 movlw 7Fh cpfseq tecla,1 goto cambiar_P_3 call beep_tecla goto __O__ cambiar_P_3 movlw 7Eh cpfseq tecla,1 goto cambiar_P_4 call beep_tecla goto __Q__ cambiar_P_4 call checa_TODOS_on_off goto __P__ __Q__ dato 0C4h mens "Q" movlw 17h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_Q_1 call beep_no goto titulo_ctrl_indep_1 cambiar_Q_1 movlw "*" cpfseq tecla,1 goto cambiar_Q_2 call beep_si call que_teclas? goto __Q__ cambiar_Q_2 movlw 7Fh cpfseq tecla,1 goto cambiar_Q_3

142

Control de Eventos On/Off Ideal para un sistema de iluminación

call beep_tecla goto __P__ cambiar_Q_3 movlw 7Eh cpfseq tecla,1 goto cambiar_Q_4 call beep_tecla goto __R__ cambiar_Q_4 call checa_TODOS_on_off goto __Q__ __R__ dato 0C4h mens "R" movlw 18h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_R_1 call beep_no goto titulo_ctrl_indep_1 cambiar_R_1 movlw "*" cpfseq tecla,1 goto cambiar_R_2 call beep_si call que_teclas? goto __R__ cambiar_R_2 movlw 7Fh cpfseq tecla,1 goto cambiar_R_3 call beep_tecla goto __Q__ cambiar_R_3 movlw 7Eh cpfseq tecla,1 goto cambiar_R_4 call beep_tecla goto __S__ cambiar_R_4 call checa_TODOS_on_off goto __R__ __S__ dato 0C4h mens "S" movlw 19h movwf valor_puerto,1 call cual_tecla? call espera_tecla

143

Control de Eventos On/Off Ideal para un sistema de iluminación

movlw "#" cpfseq tecla,1 goto cambiar_S_1 call beep_no goto titulo_ctrl_indep_1 cambiar_S_1 movlw "*" cpfseq tecla,1 goto cambiar_S_2 call beep_si call que_teclas? goto __S__ cambiar_S_2 movlw 7Fh cpfseq tecla,1 goto cambiar_S_3 call beep_tecla goto __R__ cambiar_S_3 movlw 7Eh cpfseq tecla,1 goto cambiar_S_4 call beep_tecla goto __T__ cambiar_S_4 call checa_TODOS_on_off goto __S__ __T__ dato 0C4h mens "T" movlw 20h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_T_1 call beep_no goto titulo_ctrl_indep_1 cambiar_T_1 movlw "*" cpfseq tecla,1 goto cambiar_T_2 call beep_si call que_teclas? goto __T__ cambiar_T_2 movlw 7Fh cpfseq tecla,1 goto cambiar_T_3 call beep_tecla goto __S__ cambiar_T_3

144

Control de Eventos On/Off Ideal para un sistema de iluminación

movlw 7Eh cpfseq tecla,1 goto cambiar_T_4 call beep_tecla goto __U__ cambiar_T_4 call checa_TODOS_on_off goto __T__ __U__ dato 0C4h mens "U" movlw 21h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_U_1 call beep_no goto titulo_ctrl_indep_1 cambiar_U_1 movlw "*" cpfseq tecla,1 goto cambiar_U_2 call beep_si call que_teclas? goto __U__ cambiar_U_2 movlw 7Fh cpfseq tecla,1 goto cambiar_U_3 call beep_tecla goto __T__ cambiar_U_3 movlw 7Eh cpfseq tecla,1 goto cambiar_U_4 call beep_tecla goto __V__ cambiar_U_4 call checa_TODOS_on_off goto __U__ __V__ dato 0C4h mens "V" movlw 22h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_V_1

145

Control de Eventos On/Off Ideal para un sistema de iluminación

call beep_no goto titulo_ctrl_indep_1 cambiar_V_1 movlw "*" cpfseq tecla,1 goto cambiar_V_2 call beep_si call que_teclas? goto __V__ cambiar_V_2 movlw 7Fh cpfseq tecla,1 goto cambiar_V_3 call beep_tecla goto __U__ cambiar_V_3 movlw 7Eh cpfseq tecla,1 goto cambiar_V_4 call beep_tecla goto __W__ cambiar_V_4 call checa_TODOS_on_off goto __V__ __W__ dato 0C4h mens "W" movlw 23h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_W_1 call beep_no goto titulo_ctrl_indep_1 cambiar_W_1 movlw "*" cpfseq tecla,1 goto cambiar_W_2 call beep_si call que_teclas? goto __W__ cambiar_W_2 movlw 7Fh cpfseq tecla,1 goto cambiar_W_3 call beep_tecla goto __V__ cambiar_W_3 movlw 7Eh cpfseq tecla,1 goto cambiar_W_4

146

Control de Eventos On/Off Ideal para un sistema de iluminación

call beep_tecla goto __X__ cambiar_W_4 call checa_TODOS_on_off goto __W__ __X__ dato 0C4h mens "X" movlw 24h movwf valor_puerto,1 call cual_tecla? call espera_tecla movlw "#" cpfseq tecla,1 goto cambiar_X_1 call beep_no goto titulo_ctrl_indep_1 cambiar_X_1 movlw "*" cpfseq tecla,1 goto cambiar_X_2 call beep_si call que_teclas? goto __X__ cambiar_X_2 movlw 7Fh cpfseq tecla,1 goto cambiar_X_3 call beep_tecla goto __W__ cambiar_X_3 movlw 7Eh cpfseq tecla,1 goto cambiar_X_4 call beep_tecla goto __A__ cambiar_X_4 call checa_TODOS_on_off goto __X__ temporizar

147

Control de Eventos On/Off Ideal para un sistema de iluminación

goto fin ;*********funciones******* banco_1 movlb 01h return alta_ports_regs movlw 00h movwf LATA,0 movlw 0Fh movwf ADCON1,0; asi trabaja todo el f como i/0 entre otros movlw 07h movwf CMCON,0 movlw 0E8h movwf TRISA,0 movlw 0F0h;cambió movwf TRISE,0 movlw 99h movwf TRISC,0 clrf TRISB,0 clrf PORTB,0 clrf TRISH,0 setf TRISF,0;para sensores clrf TRISJ,0;también es salida clrf ayuda,1 clrf dir_foco,1 clrf digito_uno,1 clrf digito_dos,1 clrf num_digito,1 clrf valor_puerto,1 clrf guarda_puerto,1 clrf info_sensores,1 clrf info_sensor1,1 clrf info_sensor2,1 clrf _A_edo_sens,1 clrf _B_edo_sens,1 clrf _C_edo_sens,1 clrf _D_edo_sens,1 clrf _E_edo_sens,1 clrf _F_edo_sens,1 clrf _G_edo_sens,1 clrf _H_edo_sens,1 clrf _I_edo_sens,1 clrf _J_edo_sens,1 clrf _K_edo_sens,1 clrf _L_edo_sens,1 clrf _M_edo_sens,1 clrf _N_edo_sens,1 clrf _O_edo_sens,1 clrf _P_edo_sens,1

148

Control de Eventos On/Off Ideal para un sistema de iluminación

clrf _Q_edo_sens,1 clrf _R_edo_sens,1 clrf _S_edo_sens,1 clrf _T_edo_sens,1 clrf _U_edo_sens,1 clrf _V_edo_sens,1 clrf _W_edo_sens,1 clrf _X_edo_sens,1 clrf ayuda2,1 clrf info_sensor3,1 clrf tiempo_puertos_1 clrf tiempo_puertos_2 clrf tiempo_puertos_3 return alta_display dato 038h dato 06h dato 0Ch dato 01h dato 80h return pto_out movlw 00h movwf TRISD,0 return pto_in movlw 0FFh movwf TRISD,0 return escribe bcf RS ;corresponde a RS bcf RW ;corresponde a R/W bsf E ;corresponde a E return lee bcf RS bsf RW bsf E return display bsf RS bcf RW bsf E return bocup bcf E;termina de leer o escribir comandos en el display call pto_in

149

Control de Eventos On/Off Ideal para un sistema de iluminación

aa_ call lee ;lee comandos nop nop bcf E;stop read or write btfsc PORTD,7,0;lee bandera de ocupado goto aa_ call pto_out return DEFAULT movlw 01h ; corresppnde al puerto j bit 0 es decir literal A movwf _P1,1 ; corresponde a un cierto puerto y bit que responde al apretar la tecla uno movlw 02h ; corresponde al puerto j bit 1 es decir literal B movwf _P2,1 movlw 03h movwf _P3,1 movlw 04h movwf _P4,1 movlw 05h movwf _P5,1 movlw 06h movwf _P6,1 movlw 07h movwf _P7,1 movlw 08h movwf _P8,1 movlw 09h movwf _P9,1 movlw 010h movwf _P10,1 movlw 011h movwf _P11,1 movlw 012h movwf _P12,1 movlw 013h movwf _P13,1 movlw 014h movwf _P14,1 movlw 015h movwf _P15,1 movlw 016h movwf _P16,1 movlw 017h movwf _P17,1 movlw 018h movwf _P18,1 movlw 019h movwf _P19,1 movlw 020h movwf _P20,1 movlw 021h movwf _P21,1

150

Control de Eventos On/Off Ideal para un sistema de iluminación

movlw 022h movwf _P22,1 movlw 023h movwf _P23,1 movlw 024h movwf _P24,1 clrf sensores,1 clrf _A,1 clrf _B,1 clrf _C,1 clrf _D,1 clrf _E,1 clrf _F,1 clrf _G,1 clrf _H,1 clrf _I,1 clrf _J,1 clrf _K,1 clrf _L,1 clrf _M,1 clrf _N,1 clrf _O,1 clrf _P,1 clrf _Q,1 clrf _R,1 clrf _S,1 clrf _T,1 clrf _U,1 clrf _V,1 clrf _W,1 clrf _X,1 clrf _A_edo_sens,1 clrf _B_edo_sens,1 clrf _C_edo_sens,1 clrf _D_edo_sens,1 clrf _E_edo_sens,1 clrf _F_edo_sens,1 clrf _G_edo_sens,1 clrf _H_edo_sens,1 clrf _I_edo_sens,1 clrf _J_edo_sens,1 clrf _K_edo_sens,1 clrf _L_edo_sens,1 clrf _M_edo_sens,1 clrf _N_edo_sens,1 clrf _O_edo_sens,1 clrf _P_edo_sens,1 clrf _Q_edo_sens,1 clrf _R_edo_sens,1 clrf _S_edo_sens,1 clrf _T_edo_sens,1 clrf _U_edo_sens,1 clrf _V_edo_sens,1 clrf _W_edo_sens,1

151

Control de Eventos On/Off Ideal para un sistema de iluminación

clrf _X_edo_sens,1 movlw 01h movwf tiempo_sensor_0,1 movwf tiempo_sensor_1,1 movwf tiempo_sensor_2,1 movwf tiempo_sensor_3,1 movwf tiempo_sensor_4,1 movwf tiempo_sensor_5,1 movwf tiempo_sensor_6,1 movwf tiempo_sensor_7,1 return foco_on dato 40h ;habilita CG ram para el primer caracter definido por usuario mens 0Eh ; XXX mens 11h ; X X mens 15h ; X X X mens 15h ; X X X mens 11h ; X X mens 0Ah ; X X mens 1Fh ; XXXXX mens 0Eh ; XXX return foco_off dato 48h ;habilita CG ram para el segundo caracter definido por usuario mens 0Eh ; XXX mens 1Fh ; XXXXX mens 1Bh ; XX XX mens 1Bh ; XX XX mens 1Fh ; XXXXX mens 0Eh ; XXX mens 1Fh ; XXXXX mens 0Eh ; XXX return palomita dato 50h ; da acceso a la CG ram para editar un tercer caracter mens 00h ; mens 00h ; mens 01h ; X mens 02h ; X mens 14h ; X X mens 08h ; X mens 00h ; mens 00h ; return flecha_negativo dato 58h ; da acceso a la CG ram para editar un cuarto caracter mens 1Fh ; XXXXX mens 1Bh ; XX XX mens 1Dh ; XXX X mens 00h ;

152

Control de Eventos On/Off Ideal para un sistema de iluminación

mens 1Dh ; XXX X mens 1Bh ; XXXXX mens 1Fh ; XXXXX mens 1Fh ; XXXXX dato 80h ;habilita DD ram return borra call escribe movlw 01h movwf PORTD,0 call bocup return renglon_uno call escribe movlw 80h movwf PORTD,0 call bocup return renglon_dos call escribe movlw 0C0h movwf PORTD,0 call bocup return renglon_tres call escribe movlw 094h movwf PORTD,0 call bocup return renglon_cuatro call escribe movlw 0D4h movwf PORTD,0 call bocup return lee_dataEEPROM bcf EECON1,EEPGD,0;selecciona memoria de datos bsf EECON1,RD,0 return escribe_dataEEPROM bcf EECON1,EEPGD,0;selecciona memoria de datos bsf EECON1,WREN,0;habilita escritura

153

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf INTCON,GIE,0;deshabilito interrupcciones bcf INTCON,PEIE,0 movlw 55h movwf EECON2 movlw 0AAh movwf EECON2 bsf EECON1,WR;activa escritura Lazo2 btfsc EECON1, WR ;Wait for goto Lazo2 ;write to finish _espera btfss PIR2,EEIF goto _espera bsf INTCON,GIE,0 bsf INTCON,PEIE,0 bcf EECON1,WREN,0;deshabilita escritura bcf PIR2,EEIF,0 return mensage movlw 15h movwf conta_letra,1 sigue_msg dcfsnz conta_letra,1,1 goto fin_msg tblrd *+ call display movf TABLAT,0,0 movwf PORTD,0 call bocup goto sigue_msg fin_msg return int_tmr0_100ms bsf INTCON,GIE,0;habilita todas las interrupciones internas globales, sin asignar prioridad RCON<7> = 0, necesarias para los sensores y control de luz del display bsf INTCON,PEIE,0 ; habilita interrupciones perifericas bcf T0CON,T08BIT,0;registro de 16bits bcf T0CON,T0CS,0;asigna como timer0 al oscilador del micro bcf T0CON,PSA,0;se habilita preescalamiento bcf T0CON,T0PS0,0 ;dan preescalamiento en razon 1:8 bsf T0CON,T0PS1,0 bcf T0CON,T0PS2,0 movlw 78h movwf TMR0H,0 movlw 0BDh movwf TMR0L,0 ;(1/((1/4)(11.0592MHz)))(8)(34530) = 100ms bcf INTCON,TMR0IF;limpio bandera de interrupcion bsf INTCON,TMR0IE;habilito la interrupcion bsf T0CON,TMR0ON,0 return

154

Control de Eventos On/Off Ideal para un sistema de iluminación

timer1_frec bcf T1CON,RD16,0 ;timer1 de 16 bits bcf T1CON,T1CKPS0,0 ;sin preescalamiento bcf T1CON,T1CKPS1,0 bcf T1CON,TMR1CS,0;frecuencia interna bcf PIR1,TMR1IF,0;limpiar bandera clrf TMR1H,0 clrf TMR1L,0 bcf PIE1,TMR1IE,0 ;deshabilito interrupcion por desbordamiento del timer1 bcf T1CON,TMR1ON,0 return timer3_duracion bcf T3CON,RD16,0 ;timer1 de 16 bits bsf T3CON,T3CKPS0,0 ;preescalamiento de 8 bsf T3CON,T3CKPS1,0 bcf T3CON,TMR3CS,0;frecuencia interna bcf PIR2,TMR3IF,0;limpiar bandera clrf TMR3H,0;79h clrf TMR3L,0;1Dh bcf PIE2,TMR3IE,0 ;deshabilito interrupcion por desbordamiento del timer1 bcf T3CON,TMR3ON,0 return ;1381*0.362micros = 0.5ms beep_no ;frec de 1KHz, tengo que interrumpir cada 0.5 ms bsf tono clrf TMR1H,0 clrf TMR1L,0 movlw 79h movwf TMR3H,0 movlw 1Dh movwf TMR3L,0 bcf INTCON,GIE,0;deshabilito interrupcciones bcf INTCON,PEIE,0 bsf T3CON,TMR3ON,0 bsf T1CON,TMR1ON,0 _de_nuevo_tono movlw 0FAh movwf TMR1H,0 movlw 96h movwf TMR1L,0 _aun_no_flag btfss PIR1,TMR1IF,0 goto _aun_no_flag btg tono bcf PIR1,TMR1IF,0 btfss PIR2,TMR3IF,0 goto _de_nuevo_tono bcf T1CON,TMR1ON,0 bcf T3CON,TMR3ON,0

155

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf PIR2,TMR3IF,0 bcf tono bsf INTCON,GIE,0;habilito interrupcciones bsf INTCON,PEIE,0 return beep_si ;1.75Kz bsf tono clrf TMR1H,0 clrf TMR1L,0 movlw 79h movwf TMR3H,0 movlw 1Dh movwf TMR3L,0 bcf INTCON,GIE,0;deshabilito interrupcciones bcf INTCON,PEIE,0 bsf T3CON,TMR3ON,0 bsf T1CON,TMR1ON,0 _de_nuevo_tono_2 movlw 0FCh movwf TMR1H,0 movlw 0E8h movwf TMR1L,0 _aun_no_flag_2 btfss PIR1,TMR1IF,0 goto _aun_no_flag_2 btg tono bcf PIR1,TMR1IF,0 btfss PIR2,TMR3IF,0 goto _de_nuevo_tono_2 bcf T1CON,TMR1ON,0 bcf T3CON,TMR3ON,0 bcf PIR2,TMR3IF,0 bcf tono bsf INTCON,GIE,0;habilito interrupcciones bsf INTCON,PEIE,0 return beep_tecla;2.5Kh bsf tono clrf TMR1H,0 clrf TMR1L,0 movlw 79h movwf TMR3H,0 movlw 1Dh movwf TMR3L,0 bcf INTCON,GIE,0;deshabilito interrupcciones

156

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf INTCON,PEIE,0 bsf T3CON,TMR3ON,0 bsf T1CON,TMR1ON,0 _de_nuevo_tono_3 movlw 0FDh movwf TMR1H,0 movlw 0D5h movwf TMR1L,0 _aun_no_flag_3 btfss PIR1,TMR1IF,0 goto _aun_no_flag_3 btg tono bcf PIR1,TMR1IF,0 btfss PIR2,TMR3IF,0 goto _de_nuevo_tono_3 bcf T1CON,TMR1ON,0 bcf T3CON,TMR3ON,0 bcf PIR2,TMR3IF,0 bcf tono bsf INTCON,GIE,0;habilito interrupcciones bsf INTCON,PEIE,0 return punto_un_segundo movlw 79h movwf TMR3H,0 movlw 1Dh movwf TMR3L,0 bcf INTCON,GIE,0;deshabilito interrupcciones bcf INTCON,PEIE,0 bsf T3CON,TMR3ON,0 pto_1_seg_not_yet btfss PIR2,TMR3IF,0 goto pto_1_seg_not_yet bcf PIR2,TMR3IF,0 bcf T3CON,TMR3ON,0 bsf INTCON,GIE,0;deshabilito interrupcciones bsf INTCON,PEIE,0 return espera_tecla nuevamente ; esta parte es para call poleo bcf apretar_tecla;indica que no se ha apretado en este momento alguna tecla call punto_un_segundo movff tecla,tecla2 call poleo bcf apretar_tecla movf tecla,0,1 cpfseq tecla2,1 goto nuevamente call interrupcion_por_luz sigue_presionando ;esta parte es para saber si ya dejo de presionar cierta tecla btfss PORTE,4,0

157

Control de Eventos On/Off Ideal para un sistema de iluminación

goto sigue_presionando btfss PORTE,5,0 goto sigue_presionando btfss PORTE,6,0 goto sigue_presionando btfss PORTE,7,0 goto sigue_presionando return interrupcion_por_luz bcf luz_display;prende luz movlw 96h;15 segundos movwf conta_luz,1 return poleo clrf LATE,0 de_nuevo call primero btfsc apretar_tecla return call segundo btfsc apretar_tecla return call tercero btfsc apretar_tecla return call cuarto btfsc apretar_tecla return goto de_nuevo primero movlw 0Eh movwf PORTE,0 btfss PORTE,4,0 ; nota, TRISE solo lee lo que le manda el micro, PORTE si lee los estimulos externos goto _1_ btfss PORTE,5,0 goto _2_ btfss PORTE,6,0 goto _3_ btfss PORTE,7,0 goto _4_ return _1_ movlw "1" movwf tecla,1 bsf apretar_tecla return _2_ movlw "2"

158

Control de Eventos On/Off Ideal para un sistema de iluminación

movwf tecla,1 bsf apretar_tecla return _3_ movlw "3" movwf tecla,1 bsf apretar_tecla return _4_ movlw 7Fh movwf tecla,1 bsf apretar_tecla return segundo movlw 0Dh movwf PORTE,0 btfss PORTE,4,0 ; nota, TRISE solo lee lo que le manda el micro, PORTE si lee los estimulos externos goto _5_ btfss PORTE,5,0 goto _6_ btfss PORTE,6,0 goto _7_ btfss PORTE,7,0 goto _8_ return _5_ movlw "4" movwf tecla,1 bsf apretar_tecla return _6_ movlw "5" movwf tecla,1 bsf apretar_tecla return _7_ movlw "6" movwf tecla,1 bsf apretar_tecla return _8_ movlw 7Eh movwf tecla,1 bsf apretar_tecla return tercero movlw 0Bh movwf PORTE,0 btfss PORTE,4,0 ; nota, TRISE solo lee lo que le manda el micro, PORTE si lee los estimulos externos goto _9_

159

Control de Eventos On/Off Ideal para un sistema de iluminación

btfss PORTE,5,0 goto _10_ btfss PORTE,6,0 goto _11_ btfss PORTE,7,0 goto _12_ return _9_ movlw "7" movwf tecla,1 bsf apretar_tecla return _10_ movlw "8" movwf tecla,1 bsf apretar_tecla return _11_ movlw "9" movwf tecla,1 bsf apretar_tecla return _12_ movlw "C" movwf tecla,1 bsf apretar_tecla return cuarto movlw 07h movwf PORTE,0 btfss PORTE,4,0 ; nota, TRISE solo lee lo que le manda el micro, PORTE si lee los estimulos externos goto _13_ btfss PORTE,5,0 goto _14_ btfss PORTE,6,0 goto _15_ btfss PORTE,7,0 goto _16_ return _13_ movlw "*" movwf tecla,1 bsf apretar_tecla return _14_ movlw "0" movwf tecla,1 bsf apretar_tecla return _15_ movlw "#" movwf tecla,1

160

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf apretar_tecla return _16_ movlw "D" movwf tecla,1 bsf apretar_tecla return todos_on_off_timer cuantas_veces_100ms? 2h return todos_on call borra call renglon_dos medio 0F3h bajo 48h call mensage ;"!!!!ENCENDIENDO!!!!!" call renglon_tres bajo 5Ch call mensage ;"!!!!!!!LUCES!!!!!!!!" call beep_no call beep_si call beep_tecla bsf PORTH,0,0 call todos_on_off_timer bsf PORTH,1,0 call todos_on_off_timer bsf PORTH,2,0 call todos_on_off_timer bsf PORTH,3,0 call todos_on_off_timer bsf PORTH,4,0 call todos_on_off_timer bsf PORTH,5,0 call todos_on_off_timer bsf PORTH,6,0 call todos_on_off_timer bsf PORTH,7,0 call todos_on_off_timer bsf PORTB,0,0 call todos_on_off_timer bsf PORTB,1,0 call todos_on_off_timer bsf PORTB,2,0 call todos_on_off_timer bsf PORTB,3,0 call todos_on_off_timer bsf PORTB,4,0 call todos_on_off_timer

161

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf PORTB,5,0 call todos_on_off_timer bsf PORTB,6,0 call todos_on_off_timer bsf PORTB,7,0 call todos_on_off_timer bsf PORTJ,0,0 call todos_on_off_timer bsf PORTJ,1,0 call todos_on_off_timer bsf PORTJ,2,0 call todos_on_off_timer bsf PORTJ,3,0 call todos_on_off_timer bsf PORTJ,4,0 call todos_on_off_timer bsf PORTJ,5,0 call todos_on_off_timer bsf PORTJ,6,0 call todos_on_off_timer bsf PORTJ,7,0 call todos_on_off_timer call beep_no return todos_off call borra call renglon_dos medio 0F3h bajo 70h call mensage ;"!!!!!APAGANDO!!!!!!!" call renglon_tres bajo 5Ch call mensage ;"!!!!!!!LUCES!!!!!!!!" call beep_tecla call beep_si call beep_no bcf PORTH,0,0 call todos_on_off_timer bcf PORTH,1,0 call todos_on_off_timer bcf PORTH,2,0 call todos_on_off_timer bcf PORTH,3,0 call todos_on_off_timer bcf PORTH,4,0 call todos_on_off_timer bcf PORTH,5,0 call todos_on_off_timer bcf PORTH,6,0 call todos_on_off_timer bcf PORTH,7,0 call todos_on_off_timer bcf PORTB,0,0

162

Control de Eventos On/Off Ideal para un sistema de iluminación

call todos_on_off_timer bcf PORTB,1,0 call todos_on_off_timer bcf PORTB,2,0 call todos_on_off_timer bcf PORTB,3,0 call todos_on_off_timer bcf PORTB,4,0 call todos_on_off_timer bcf PORTB,5,0 call todos_on_off_timer bcf PORTB,6,0 call todos_on_off_timer bcf PORTB,7,0 call todos_on_off_timer bcf PORTJ,0,0 call todos_on_off_timer bcf PORTJ,1,0 call todos_on_off_timer bcf PORTJ,2,0 call todos_on_off_timer bcf PORTJ,3,0 call todos_on_off_timer bcf PORTJ,4,0 call todos_on_off_timer bcf PORTJ,5,0 call todos_on_off_timer bcf PORTJ,6,0 call todos_on_off_timer bcf PORTJ,7,0 call todos_on_off_timer call beep_no return no_valido medio 0F1h bajo 7Ch call renglon_cuatro call mensage ;" !!FUERA DE RANGO!! " cuantas_veces_100ms? 0Fh ;1.5s call beep_no return flechitas_uno dato 0D3h mens 7Eh return flechitas_dos dato 93h mens 7Fh dato 0D3h mens 7Eh

163

Control de Eventos On/Off Ideal para un sistema de iluminación

return flechitas_tres dato 93h mens 7Fh return borra_flechitas dato 93h mens " " dato 0D3h mens " " return msg_con_digitos medio 0F1h bajo 68h call renglon_cuatro call mensage ;" *aceptar #borrar" return msg_sin_digitos medio 0F1h bajo 54h call renglon_cuatro call mensage ;" #salir" return msg_sin_digitos_2 medio 0F2h bajo 0E4h call renglon_cuatro call mensage ;"*modificar #salir" return mensage_atras medio 0F3h bajo 0Ch call renglon_cuatro call mensage ;" #atras" return no_acceso medio 0F3h bajo 20h call renglon_cuatro call mensage ;" !!SIN ACCESO!! " cuantas_veces_100ms? 0Fh ;1.5s call beep_no call msg_sin_digitos clrf num_digito,1 clrf digito_uno,1 clrf digito_dos,1 return

164

Control de Eventos On/Off Ideal para un sistema de iluminación

no_acceso_2 medio 0F3h bajo 20h call renglon_cuatro call mensage ;" !!SIN ACCESO!! " cuantas_veces_100ms? 0Fh ;1.5s call beep_no call msg_sin_digitos_2 return restituye_flechitas btfsc bit_pantalla_uno call flechitas_uno ;restituye las flechitas de la pantalla uno, dos y tres btfsc bit_pantalla_dos call flechitas_dos btfsc bit_pantalla_tres call flechitas_tres return del_1_al_9_ btfsc bit_pantalla_uno ;checa si pantalla 1 está activa bsf se_imprime ;indica que que se debe deimprimir tambien en pantalla bsf se_apreto_tecla ;indica que se apreto algun numero (s) call id_puerto_y_bit bcf se_imprime bcf se_apreto_tecla btfss bit_pantalla_uno ;si no está en pantalla uno, ésta se manda llamar call pantalla_uno call msg_sin_digitos clrf digito_uno,1 clrf digito_dos,1 clrf num_digito,1 call flechitas_uno return del_10_al_18_ btfsc bit_pantalla_dos ;checa si pantalla 2 está activa bsf se_imprime ;indica que que se debe deimprimir tambien en pantalla bsf se_apreto_tecla ;indica que se apreto algun numero (s) call id_puerto_y_bit bcf se_imprime bcf se_apreto_tecla btfss bit_pantalla_dos ;si no está en pantalla dos, ésta se manda llamar call pantalla_dos call msg_sin_digitos clrf digito_uno,1 clrf digito_dos,1 clrf num_digito,1 call flechitas_dos return del_19_al_24_

165

Control de Eventos On/Off Ideal para un sistema de iluminación

btfsc bit_pantalla_tres ;checa si pantalla 2 está activa bsf se_imprime ;indica que que se debe deimprimir tambien en pantalla bsf se_apreto_tecla ;indica que se apreto algun numero (s) call id_puerto_y_bit bcf se_imprime bcf se_apreto_tecla btfss bit_pantalla_tres ;si no está en pantalla dos, ésta se manda llamar call pantalla_tres call msg_sin_digitos clrf digito_uno,1 clrf digito_dos,1 clrf num_digito,1 call flechitas_tres return id_puerto_y_bit movlw 01h cpfseq actual,1 goto port_bit_1 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTH,0 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTH,0,"A" return port_bit_1 movlw 02h cpfseq actual,1 goto port_bit_2 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTH,1 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTH,1,"B" return port_bit_2 movlw 03h cpfseq actual,1 goto port_bit_3 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTH,2 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTH,2,"C" return port_bit_3 movlw 04h cpfseq actual,1 goto port_bit_4 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTH,3 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTH,3,"D"

166

Control de Eventos On/Off Ideal para un sistema de iluminación

return port_bit_4 movlw 05h cpfseq actual,1 goto port_bit_5 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTH,4 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTH,4,"E" return port_bit_5 movlw 06h cpfseq actual,1 goto port_bit_6 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTH,5 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTH,5,"F" return port_bit_6 movlw 07h cpfseq actual,1 goto port_bit_7 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTH,6 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTH,6,"G" return port_bit_7 movlw 08h cpfseq actual,1 goto port_bit_8 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTH,7 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTH,7,"H" return port_bit_8 movlw 09h cpfseq actual,1 goto port_bit_9 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTB,0 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTB,0,"I" return port_bit_9 movlw 10h cpfseq actual,1

167

Control de Eventos On/Off Ideal para un sistema de iluminación

goto port_bit_10 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTB,1 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTB,1,"J" return port_bit_10 movlw 11h cpfseq actual,1 goto port_bit_11 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTB,2 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTB,2,"K" return port_bit_11 movlw 12h cpfseq actual,1 goto port_bit_12 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTB,3 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTB,3,"L" return port_bit_12 movlw 13h cpfseq actual,1 goto port_bit_13 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTB,4 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTB,4,"M" return port_bit_13 movlw 14h cpfseq actual,1 goto port_bit_14 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTB,5 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTB,5,"N" return port_bit_14 movlw 15h cpfseq actual,1 goto port_bit_15 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTB,6

168

Control de Eventos On/Off Ideal para un sistema de iluminación

btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTB,6,"O" return port_bit_15 movlw 16h cpfseq actual,1 goto port_bit_16 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTB,7 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTB,7,"P" return port_bit_16 movlw 17h cpfseq actual,1 goto port_bit_17 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTJ,0 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTJ,0,"Q" return port_bit_17 movlw 18h cpfseq actual,1 goto port_bit_18 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTJ,1 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTJ,1,"R" return port_bit_18 movlw 19h cpfseq actual,1 goto port_bit_19 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTJ,2 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTJ,2,"S" return port_bit_19 movlw 20h cpfseq actual,1 goto port_bit_20 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTJ,3 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTJ,3,"T" return

169

Control de Eventos On/Off Ideal para un sistema de iluminación

port_bit_20 movlw 21h cpfseq actual,1 goto port_bit_21 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTJ,4 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTJ,4,"U" return port_bit_21 movlw 22h cpfseq actual,1 goto port_bit_22 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTJ,5 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTJ,5,"V" return port_bit_22 movlw 23h cpfseq actual,1 goto port_bit_23 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTJ,6 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTJ,6,"W" return port_bit_23 movlw 24h cpfseq actual,1 goto port_bit_24 btfsc se_apreto_tecla ; checa si se apretó algun numero(s) puerto_on_off PORTJ,7 btfsc se_imprime ; checa si se debe de imprimir el edo de los focos en pantalla display_on_off PORTJ,7,"X" return port_bit_24 pantalla_uno call borra medio 0F1h bajo 018h call renglon_uno call mensage ;" 1= 4= 7= " bajo 2Ch call renglon_dos call mensage ;" 2= 5= 8= " dato 0D3h

170

Control de Eventos On/Off Ideal para un sistema de iluminación

mens 7Eh bajo 40h call renglon_tres call mensage ;" 3= 6= 9= " bsf bit_pantalla_uno ; este bit indica que estoy en pantalla 1 bcf bit_pantalla_dos bcf bit_pantalla_tres bsf se_imprime ;indica que sí se manden a imprimir los edos de los focos en el display obtener _P1 ;actualiza al registro actual con la info del puerto y bit movlw 85h movwf dir_foco,1 call id_puerto_y_bit ; identifica puerto y bit obtener _P2 movlw 0C5h movwf dir_foco,1 call id_puerto_y_bit obtener _P3 movlw 99h movwf dir_foco,1 call id_puerto_y_bit obtener _P4 movlw 8Bh movwf dir_foco,1 call id_puerto_y_bit obtener _P5 movlw 0CBh movwf dir_foco,1 call id_puerto_y_bit obtener _P6 movlw 9Fh movwf dir_foco,1 call id_puerto_y_bit obtener _P7 movlw 91h movwf dir_foco,1 call id_puerto_y_bit obtener _P8 movlw 0D1h movwf dir_foco,1 call id_puerto_y_bit obtener _P9 movlw 0A5h movwf dir_foco,1 call id_puerto_y_bit bcf se_imprime ;apago la bandera de que se impriman los edos de los focos en el display return pantalla_dos call borra medio 0F1h bajo 090h

171

Control de Eventos On/Off Ideal para un sistema de iluminación

call renglon_uno call mensage ;" 10= 13= 16= " bajo 0A4h call renglon_dos call mensage ;" 11= 14= 17= " dato 93h;flechitas mens 7Fh dato 0D3h mens 7Eh bajo 0B8h call renglon_tres call mensage ;" 12= 15= 18= " bsf bit_pantalla_dos ; este bit indica que estoy en pantalla 2 bcf bit_pantalla_uno bcf bit_pantalla_tres bsf se_imprime ;indica que sí se manden a imprimir los edos de los focos en el display obtener _P10 ;actualiza al registro actual con la info del puerto y bit movlw 85h movwf dir_foco,1 call id_puerto_y_bit ; identifica puerto y bit obtener _P11 movlw 0C5h movwf dir_foco,1 call id_puerto_y_bit obtener _P12 movlw 99h movwf dir_foco,1 call id_puerto_y_bit obtener _P13 movlw 8Bh movwf dir_foco,1 call id_puerto_y_bit obtener _P14 movlw 0CBh movwf dir_foco,1 call id_puerto_y_bit obtener _P15 movlw 9Fh movwf dir_foco,1 call id_puerto_y_bit obtener _P16 movlw 91h movwf dir_foco,1 call id_puerto_y_bit obtener _P17 movlw 0D1h movwf dir_foco,1 call id_puerto_y_bit obtener _P18 movlw 0A5h movwf dir_foco,1 call id_puerto_y_bit

172

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf se_imprime ;apago la bandera de que se impriman los edos de los focos en el display return pantalla_tres call borra medio 0F1h bajo 0CCh call renglon_uno call mensage ;" 19= 22= 25=X " bajo 0E0h call renglon_dos call mensage ;" 20= 23= 26=X " dato 093h mens 7Fh bajo 0F4h call renglon_tres call mensage ;" 21= 24= 27=X " bsf bit_pantalla_tres ; este bit indica que estoy en pantalla 3 bcf bit_pantalla_dos bcf bit_pantalla_uno bsf se_imprime ;indica que sí se manden a imprimir los edos de los focos en el display obtener _P19 ;actualiza al registro actual con la info del puerto y bit movlw 85h movwf dir_foco,1 call id_puerto_y_bit ; identifica puerto y bit obtener _P20 movlw 0C5h movwf dir_foco,1 call id_puerto_y_bit obtener _P21 movlw 99h movwf dir_foco,1 call id_puerto_y_bit obtener _P22 movlw 8Bh movwf dir_foco,1 call id_puerto_y_bit obtener _P23 movlw 0CBh movwf dir_foco,1 call id_puerto_y_bit obtener _P24 movlw 9Fh movwf dir_foco,1 call id_puerto_y_bit bcf se_imprime ;apago la bandera de que se impriman los edos de los focos en el display return cual_tecla? movf _P1,0,1 ;obtengo la referencia del puerto y bit asociados a la tecla 1 cpfseq valor_puerto,1

173

Control de Eventos On/Off Ideal para un sistema de iluminación

goto cual_1 dato 0CBh mens "0" mens "1" return cual_1 movf _P2,0,1 cpfseq valor_puerto,1 goto cual_2 dato 0CBh mens "0" mens "2" return cual_2 movf _P3,0,1 cpfseq valor_puerto,1 goto cual_3 dato 0CBh mens "0" mens "3" return cual_3 movf _P4,0,1 cpfseq valor_puerto,1 goto cual_4 dato 0CBh mens "0" mens "4" return cual_4 movf _P5,0,1 cpfseq valor_puerto,1 goto cual_5 dato 0CBh mens "0" mens "5" return cual_5 movf _P6,0,1 cpfseq valor_puerto,1 goto cual_6 dato 0CBh mens "0" mens "6" return cual_6 movf _P7,0,1 cpfseq valor_puerto,1 goto cual_7 dato 0CBh mens "0" mens "7" return cual_7

174

Control de Eventos On/Off Ideal para un sistema de iluminación

movf _P8,0,1 cpfseq valor_puerto,1 goto cual_8 dato 0CBh mens "0" mens "8" return cual_8 movf _P9,0,1 cpfseq valor_puerto,1 goto cual_9 dato 0CBh mens "0" mens "9" return cual_9 movf _P10,0,1 cpfseq valor_puerto,1 goto cual_10 dato 0CBh mens "1" mens "0" return cual_10 movf _P11,0,1 cpfseq valor_puerto,1 goto cual_11 dato 0CBh mens "1" mens "1" return cual_11 movf _P12,0,1 cpfseq valor_puerto,1 goto cual_12 dato 0CBh mens "1" mens "2" return cual_12 movf _P13,0,1 cpfseq valor_puerto,1 goto cual_13 dato 0CBh mens "1" mens "3" return cual_13 movf _P14,0,1 cpfseq valor_puerto,1 goto cual_14 dato 0CBh mens "1" mens "4"

175

Control de Eventos On/Off Ideal para un sistema de iluminación

return cual_14 movf _P15,0,1 cpfseq valor_puerto,1 goto cual_15 dato 0CBh mens "1" mens "5" return cual_15 movf _P16,0,1 cpfseq valor_puerto,1 goto cual_16 dato 0CBh mens "1" mens "6" return cual_16 movf _P17,0,1 cpfseq valor_puerto,1 goto cual_17 dato 0CBh mens "1" mens "7" return cual_17 movf _P18,0,1 cpfseq valor_puerto,1 goto cual_18 dato 0CBh mens "1" mens "8" return cual_18 movf _P19,0,1 cpfseq valor_puerto,1 goto cual_19 dato 0CBh mens "1" mens "9" return cual_19 movf _P20,0,1 cpfseq valor_puerto,1 goto cual_20 dato 0CBh mens "2" mens "0" return cual_20 movf _P21,0,1 cpfseq valor_puerto,1 goto cual_21 dato 0CBh

176

Control de Eventos On/Off Ideal para un sistema de iluminación

mens "2" mens "1" return cual_21 movf _P22,0,1 cpfseq valor_puerto,1 goto cual_22 dato 0CBh mens "2" mens "2" return cual_22 movf _P23,0,1 cpfseq valor_puerto,1 goto cual_23 dato 0CBh mens "2" mens "3" return cual_23 movf _P24,0,1 cpfseq valor_puerto,1 goto cual_24 dato 0CBh mens "2" mens "4" return cual_24 return checa_TODOS_on_off movlw "C" cpfseq tecla,1 goto OFF call beep_no call todos_on call borra call msg_sin_digitos_2 ;"*modificar #salir" medio 0F2h bajo 0F8h call renglon_uno call mensage ;" puerto = tecla " dato 93h mens 7Fh dato 0D3h mens 7Eh return OFF movlw "D" cpfseq tecla,1 return call beep_no call todos_off call borra

177

Control de Eventos On/Off Ideal para un sistema de iluminación

call msg_sin_digitos_2 ;"*modificar #salir" medio 0F2h bajo 0F8h call renglon_uno call mensage ;" puerto = tecla " dato 93h mens 7Fh dato 0D3h mens 7Eh return reciproco movf valor_puerto,0,1 cpfseq _P1,1 goto rec_1 movf guarda_puerto,0,1 movwf _P1,1 return rec_1 movf valor_puerto,0,1 cpfseq _P2,1 goto rec_2 movf guarda_puerto,0,1 movwf _P2,1 return rec_2 movf valor_puerto,0,1 cpfseq _P3,1 goto rec_3 movf guarda_puerto,0,1 movwf _P3,1 return rec_3 movf valor_puerto,0,1 cpfseq _P4,1 goto rec_4 movf guarda_puerto,0,1 movwf _P4,1 return rec_4 movf valor_puerto,0,1 cpfseq _P5,1 goto rec_5 movf guarda_puerto,0,1 movwf _P5,1 return rec_5 movf valor_puerto,0,1 cpfseq _P6,1 goto rec_6 movf guarda_puerto,0,1 movwf _P6,1 return

178

Control de Eventos On/Off Ideal para un sistema de iluminación

rec_6 movf valor_puerto,0,1 cpfseq _P7,1 goto rec_7 movf guarda_puerto,0,1 movwf _P7,1 return rec_7 movf valor_puerto,0,1 cpfseq _P8,1 goto rec_8 movf guarda_puerto,0,1 movwf _P8,1 return rec_8 movf valor_puerto,0,1 cpfseq _P9,1 goto rec_9 movf guarda_puerto,0,1 movwf _P9,1 return rec_9 movf valor_puerto,0,1 cpfseq _P10,1 goto rec_10 movf guarda_puerto,0,1 movwf _P10,1 return rec_10 movf valor_puerto,0,1 cpfseq _P11,1 goto rec_11 movf guarda_puerto,0,1 movwf _P11,1 return rec_11 movf valor_puerto,0,1 cpfseq _P12,1 goto rec_12 movf guarda_puerto,0,1 movwf _P12,1 return rec_12 movf valor_puerto,0,1 cpfseq _P13,1 goto rec_13 movf guarda_puerto,0,1 movwf _P13,1 return rec_13 movf valor_puerto,0,1 cpfseq _P14,1 goto rec_14 movf guarda_puerto,0,1

179

Control de Eventos On/Off Ideal para un sistema de iluminación

movwf _P14,1 return rec_14 movf valor_puerto,0,1 cpfseq _P15,1 goto rec_15 movf guarda_puerto,0,1 movwf _P15,1 return rec_15 movf valor_puerto,0,1 cpfseq _P16,1 goto rec_16 movf guarda_puerto,0,1 movwf _P16,1 return rec_16 movf valor_puerto,0,1 cpfseq _P17,1 goto rec_17 movf guarda_puerto,0,1 movwf _P17,1 return rec_17 movf valor_puerto,0,1 cpfseq _P18,1 goto rec_18 movf guarda_puerto,0,1 movwf _P18,1 return rec_18 movf valor_puerto,0,1 cpfseq _P19,1 goto rec_19 movf guarda_puerto,0,1 movwf _P19,1 return rec_19 movf valor_puerto,0,1 cpfseq _P20,1 goto rec_20 movf guarda_puerto,0,1 movwf _P20,1 return rec_20 movf valor_puerto,0,1 cpfseq _P21,1 goto rec_21 movf guarda_puerto,0,1 movwf _P21,1 return rec_21 movf valor_puerto,0,1 cpfseq _P22,1

180

Control de Eventos On/Off Ideal para un sistema de iluminación

goto rec_22 movf guarda_puerto,0,1 movwf _P22,1 return rec_22 movf valor_puerto,0,1 cpfseq _P23,1 goto rec_23 movf guarda_puerto,0,1 movwf _P23,1 return rec_23 movf valor_puerto,0,1 cpfseq _P24,1 goto rec_24 movf guarda_puerto,0,1 movwf _P24,1 return rec_24 return que_teclas? clrf num_digito,1 clrf digito_uno clrf digito_dos call mensage_atras ;" #atras" call borra_flechitas dato 0CBh mens " " mens " " esperando_tecla call espera_tecla movlw 7Eh cpfseq tecla,1 goto que_1_1 goto esperando_tecla que_1_1 movlw 7Fh cpfseq tecla,1 goto que_1_2 goto esperando_tecla que_1_2 movlw "C" cpfseq tecla,1 goto que_1 call beep_si call no_acceso_2 call flechitas_dos return que_1 movlw "D" cpfseq tecla,1 goto que_2 call beep_si

181

Control de Eventos On/Off Ideal para un sistema de iluminación

call no_acceso_2 call flechitas_dos return que_2 movlw "#" cpfseq tecla,1 goto que_3 movlw 0h cpfseq num_digito,1 goto que_4 call flechitas_dos call msg_sin_digitos_2 ;"*modificar #salir" call beep_tecla return que_4 movlw 1h cpfseq num_digito,1 goto que_5 dato 0CBh mens " " decf num_digito,1,1 clrf digito_uno,1 call mensage_atras ;" #atras" call beep_tecla goto esperando_tecla que_5 dato 0CCh mens " " decf num_digito,1,1 clrf digito_dos,1 call beep_tecla goto esperando_tecla que_3 movlw "*" cpfseq tecla,1 goto que_6 movlw 0h cpfseq num_digito,1 goto que_7 goto esperando_tecla que_7 ; aqui se procede cuando solo se inserta un digito y "*" movlw 1h cpfseq num_digito,1 goto que_8 movlw "1" cpfseq digito_uno,1 goto que_8_uno que_uno movff _P1,guarda_puerto call reciproco movff valor_puerto,_P1 call beep_si call modificado return

182

Control de Eventos On/Off Ideal para un sistema de iluminación

que_8_uno movlw "2" cpfseq digito_uno,1 goto que_8_dos que_dos movff _P2,guarda_puerto call reciproco movff valor_puerto,_P2 call beep_si call modificado return que_8_dos movlw "3" cpfseq digito_uno,1 goto que_8_tres que_tres movff _P3,guarda_puerto call reciproco movff valor_puerto,_P3 call beep_si call modificado return que_8_tres movlw "4" cpfseq digito_uno,1 goto que_8_cuatro que_cuatro movff _P4,guarda_puerto call reciproco movff valor_puerto,_P4 call beep_si call modificado return que_8_cuatro movlw "5" cpfseq digito_uno,1 goto que_8_cinco que_cinco movff _P5,guarda_puerto call reciproco movff valor_puerto,_P5 call beep_si call modificado return que_8_cinco movlw "6" cpfseq digito_uno,1 goto que_8_seis que_seis movff _P6,guarda_puerto call reciproco movff valor_puerto,_P6 call beep_si call modificado

183

Control de Eventos On/Off Ideal para un sistema de iluminación

return que_8_seis movlw "7" cpfseq digito_uno,1 goto que_8_siete que_siete movff _P7,guarda_puerto call reciproco movff valor_puerto,_P7 call beep_si call modificado return que_8_siete movlw "8" cpfseq digito_uno,1 goto que_8_ocho que_ocho movff _P8,guarda_puerto call reciproco movff valor_puerto,_P8 call beep_si call modificado return que_8_ocho movlw "9" cpfseq digito_uno,1 goto que_8_nueve que_nueve movff _P9,guarda_puerto call reciproco movff valor_puerto,_P9 call beep_si call modificado return que_8_nueve call beep_si call no_valido dato 0CBh mens " " mens " " call mensage_atras ;" #atras" clrf digito_uno,1 clrf digito_dos,1 clrf num_digito,1 goto esperando_tecla que_8 swapf digito_dos,1,1 ;con este algoritmo se evita confundir 1+2 de 2+1 movf digito_uno,0,1 addwf digito_dos,1,1 movlw 43h;corresponde al resultado del algoritmo anterior correspondiente a las teclas 01 cpfseq digito_dos,1 goto que_9_dos goto que_uno

184

Control de Eventos On/Off Ideal para un sistema de iluminación

que_9_dos movlw 53h ;_P2 cpfseq digito_dos,1 goto que_9_tres goto que_dos que_9_tres movlw 63h ;_P3 cpfseq digito_dos,1 goto que_9_cuatro goto que_tres que_9_cuatro movlw 73h ;_P4 cpfseq digito_dos,1 goto que_9_cinco goto que_cuatro que_9_cinco movlw 83h ;_P5 cpfseq digito_dos,1 goto que_9_seis goto que_cinco que_9_seis movlw 93h ;_P6 cpfseq digito_dos,1 goto que_9_siete goto que_seis que_9_siete movlw 0A3h ;_P7 cpfseq digito_dos,1 goto que_9_ocho goto que_siete que_9_ocho movlw 0B3h ;_P8 cpfseq digito_dos,1 goto que_9_nueve goto que_ocho que_9_nueve movlw 0C3h ;_P9 cpfseq digito_dos,1 goto que_9_diez goto que_ocho que_9_diez movlw 34h ;_P10 cpfseq digito_dos,1 goto que_9_once movff _P10,guarda_puerto call reciproco movff valor_puerto,_P10 call beep_si call modificado return que_9_once movlw 44h ;_P11 cpfseq digito_dos,1 goto que_9_doce

185

Control de Eventos On/Off Ideal para un sistema de iluminación

movff _P11,guarda_puerto call reciproco movff valor_puerto,_P11 call beep_si call modificado return que_9_doce movlw 54h ;_P12 cpfseq digito_dos,1 goto que_9_trece movff _P12,guarda_puerto call reciproco movff valor_puerto,_P12 call beep_si call modificado return que_9_trece movlw 64h ;_P13 cpfseq digito_dos,1 goto que_9_catorce movff _P13,guarda_puerto call reciproco movff valor_puerto,_P13 call beep_si call modificado return que_9_catorce movlw 74h ;_P14 cpfseq digito_dos,1 goto que_9_quince movff _P14,guarda_puerto call reciproco movff valor_puerto,_P14 call beep_si call modificado return que_9_quince movlw 84h ;_P15 cpfseq digito_dos,1 goto que_9_dieciseis movff _P15,guarda_puerto call reciproco movff valor_puerto,_P15 call beep_si call modificado return que_9_dieciseis movlw 94h ;_P16 cpfseq digito_dos,1 goto que_9_diecisiete movff _P16,guarda_puerto call reciproco movff valor_puerto,_P16 call beep_si

186

Control de Eventos On/Off Ideal para un sistema de iluminación

call modificado return que_9_diecisiete movlw 0A4h ;_P17 cpfseq digito_dos,1 goto que_9_dieciocho movff _P17,guarda_puerto call reciproco movff valor_puerto,_P17 call beep_si call modificado return que_9_dieciocho movlw 0B4h ;_P18 cpfseq digito_dos,1 goto que_9_diecinueve movff _P18,guarda_puerto call reciproco movff valor_puerto,_P18 call beep_si call modificado return que_9_diecinueve movlw 0C4h ;_P19 cpfseq digito_dos,1 goto que_9_veinte movff _P19,guarda_puerto call reciproco movff valor_puerto,_P19 call beep_si call modificado return que_9_veinte movlw 35h ;_P20 cpfseq digito_dos,1 goto que_9_veintiuno movff _P20,guarda_puerto call reciproco movff valor_puerto,_P20 call beep_si call modificado return que_9_veintiuno movlw 45h ;_P21 cpfseq digito_dos,1 goto que_9_veintidos movff _P21,guarda_puerto call reciproco movff valor_puerto,_P21 call beep_si call modificado return que_9_veintidos movlw 55h ;_P22

187

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq digito_dos,1 goto que_9_veintitres movff _P22,guarda_puerto call reciproco movff valor_puerto,_P22 call beep_si call modificado return que_9_veintitres movlw 65h ;_P23 cpfseq digito_dos,1 goto que_9_veinticuatro movff _P23,guarda_puerto call reciproco movff valor_puerto,_P23 call beep_si call modificado return que_9_veinticuatro movlw 75h ;_P24 cpfseq digito_dos,1 goto que_9_next movff _P24,guarda_puerto call reciproco movff valor_puerto,_P24 call beep_si call modificado return que_9_next call beep_si call no_valido dato 0CBh mens " " mens " " call mensage_atras ;" #atras" clrf digito_uno,1 clrf digito_dos,1 clrf num_digito,1 goto esperando_tecla que_6 ;aqui se forman digito uno y dos movlw 0h cpfseq num_digito,1 goto que_9 incf num_digito,1,1 movff tecla,digito_uno dato 0CBh mens_de_reg digito_uno call msg_con_digitos ;" *aceptar #borrar" call beep_tecla goto esperando_tecla que_9 movlw 01h cpfseq num_digito,1

188

Control de Eventos On/Off Ideal para un sistema de iluminación

goto que_10 incf num_digito,1,1 movff tecla,digito_dos dato 0CCh mens_de_reg digito_dos call beep_tecla goto esperando_tecla que_10 goto esperando_tecla modificado medio 0F3h bajo 34h call renglon_tres call mensage ;"!!VALOR MODIFICADO!!" cuantas_veces_100ms? 0Fh call beep_no call flechitas_dos call renglon_tres medio 0F5h bajo 64h call mensage ;hilera en blanco call msg_sin_digitos_2 ;"*modificar #salir" return edo_sensores ; pone palomita o tache a os sensores por si están activados o no paloma_tache_1 0C2h,0 paloma_tache_1 96h,1 paloma_tache_1 0C7h,2 paloma_tache_1 9Bh,3 paloma_tache_1 0CCh,4 paloma_tache_1 0A0h,5 paloma_tache_1 0D1h,6 paloma_tache_1 0A5h,7 return mostrar_asignacion ;muestra para cada puerto de salida la informacion acerca de los sensores que tiene asignad0 btfss info_sensores,0,1 goto no_1 dato 0C2h mens 02h ;es la palomita goto mostrar_1 no_1 dato 0C2h mens "x" mostrar_1 btfss info_sensores,1,1 goto no_2 dato 96h

189

Control de Eventos On/Off Ideal para un sistema de iluminación

mens 02h goto mostrar_2 no_2 dato 96h mens "x" mostrar_2 btfss info_sensores,2,1 goto no_3 dato 0C7h mens 02h ;es la palomita goto mostrar_3 no_3 dato 0C7h mens "x" mostrar_3 btfss info_sensores,3,1 goto no_4 dato 09Bh mens 02h ;es la palomita goto mostrar_4 no_4 dato 09Bh mens "x" mostrar_4 btfss info_sensores,4,1 goto no_5 dato 0CCh mens 02h ;es la palomita goto mostrar_5 no_5 dato 0CCh mens "x" mostrar_5 btfss info_sensores,5,1 goto no_6 dato 0A0h mens 02h ;es la palomita goto mostrar_6 no_6 dato 0A0h mens "x" mostrar_6 btfss info_sensores,6,1 goto no_7 dato 0D1h mens 02h ;es la palomita goto mostrar_7 no_7 dato 0D1h mens "x" mostrar_7 btfss info_sensores,7,1 goto no_8 dato 0A5h

190

Control de Eventos On/Off Ideal para un sistema de iluminación

mens 02h ;es la palomita goto mostrar_8 no_8 dato 0A5h mens "x" mostrar_8 return restituye_titulo call borra call renglon_uno medio 0F4h bajo 0C4h call mensage ;"Puerto por sensor:" call renglon_dos bajo 88h call mensage ;"1( ) 3( ) 5( ) 7( ) " call renglon_tres bajo 9Ch call mensage ;"2( ) 4( ) 6( ) 8( ) " call renglon_cuatro bajo 0B0h call mensage ;" #salir" dato 0DAh mens 7Fh mens 7Eh ;flechitas return restituye_titulo_2 call borra call renglon_uno medio 0F5h bajo 0B4h call mensage ;" SENSOR " call renglon_dos bajo 0C8h call mensage ;" >10seg >30seg >1min" call renglon_tres bajo 0DCh call mensage ;" >5min >10min " call renglon_cuatro bajo 0F0h call mensage ;"*cambiar #salir" dato 91h mens 7Fh mens " " mens 7Eh ;flechitas return

191

Control de Eventos On/Off Ideal para un sistema de iluminación

cambia_sensor ;esta funcion designa que sensores se asocian a los puertos de salida. movlw "1" cpfseq tecla,1 goto siguiente_1 call beep_tecla btg info_sensores,0,1 btfss info_sensores,0,1 goto no_1_ dato 0C2h mens 02h ;es la palomita bsf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,0,1 return no_1_ dato 0C2h mens "x" bcf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,0,1 return siguiente_1 movlw "2" cpfseq tecla,1 goto siguiente_2 call beep_tecla btg info_sensores,1,1 btfss info_sensores,1,1 goto no_2_ dato 96h mens 02h ;es la palomita bsf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,1,1 return no_2_ dato 96h mens "x" bcf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,1,1 return siguiente_2 movlw "3" cpfseq tecla,1 goto siguiente_3 call beep_tecla btg info_sensores,2,1 btfss info_sensores,2,1 goto no_3_ dato 0C7h mens 02h ;es la palomita bsf palomita_o_tache

192

Control de Eventos On/Off Ideal para un sistema de iluminación

clrf info_sensor3,1 bsf info_sensor3,2,1 return no_3_ dato 0C7h mens "x" bcf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,2,1 return siguiente_3 movlw "4" cpfseq tecla,1 goto siguiente_4 call beep_tecla btg info_sensores,3,1 btfss info_sensores,3,1 goto no_4_ dato 9Bh mens 02h ;es la palomita bsf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,3,1 return no_4_ dato 9Bh mens "x" bcf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,3,1 return siguiente_4 movlw "5" cpfseq tecla,1 goto siguiente_5 call beep_tecla btg info_sensores,4,1 btfss info_sensores,4,1 goto no_5_ dato 0CCh mens 02h ;es la palomita bsf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,4,1 return no_5_ dato 0CCh mens "x" bcf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,4,1 return siguiente_5 movlw "6"

193

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq tecla,1 goto siguiente_6 call beep_tecla btg info_sensores,5,1 btfss info_sensores,5,1 goto no_6_ dato 0A0h mens 02h ;es la palomita bsf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,5,1 return no_6_ dato 0A0h mens "x" bcf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,5,1 return siguiente_6 movlw "7" cpfseq tecla,1 goto siguiente_7 call beep_tecla btg info_sensores,6,1 btfss info_sensores,6,1 goto no_7_ dato 0D1h mens 02h ;es la palomita bsf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,6,1 return no_7_ dato 0D1h mens "x" bcf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,6,1 return siguiente_7 movlw "8" cpfseq tecla,1 goto siguiente_8 call beep_tecla btg info_sensores,7,1 btfss info_sensores,7,1 goto no_8_ dato 0A5h mens 02h ;es la palomita bsf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,7,1 return

194

Control de Eventos On/Off Ideal para un sistema de iluminación

no_8_ dato 0A5h mens

return siguiente_8 return main_retardo movlw 32h movwf _RET1,1 sigue_ clrf _RET,1 movlw 00h cpfseq _RET1,1 goto _retardo_ return _retardo_ movlw 0FFh movwf _RET,1

btfss sensores,0,1 return btfss _A,0,1 goto _0_sig_sns_1

goto _0_sig_sns_1

"x" bcf palomita_o_tache clrf info_sensor3,1 bsf info_sensor3,7,1

de_nuevo_porfa decfsz _RET,1,1 goto de_nuevo_porfa decf _RET1,1,1 goto sigue_ checa_sensor_0

btfss PORTF,0,0 goto _0_sens_apagado bsf PORTH,0,0 bcf _A_check_time;que no cheque tiempo de apagado bsf _A_edo_sens,0,1;indica que es prendido por sensor 0 _0_sens_apagado;0000001 indica que esta encendido unicamente debido al sensor 0 movff _A_edo_sens,_gral_edo_sens bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_A_ bcf _A_edo_sens,0,1

195

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf _A_check_time

bcf _A_check_time

btfss _B,0,1 goto _0_sig_sns_2 btfss PORTF,0,0 goto _0_sens_apagado_1 bsf PORTH,1,0 bcf _B_check_time bsf _B_edo_sens,0,1 goto _0_sig_sns_2

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_B_ bcf _B_edo_sens,0,1 bsf _B_check_time

bcf _B_check_time

_0_sig_sns_2 btfss _C,0,1 goto _0_sig_sns_3 btfss PORTF,0,0 goto _0_sens_apagado_2 bsf PORTH,2,0 bcf _C_check_time bsf _C_edo_sens,0,1 goto _0_sig_sns_3

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_C_ bcf _C_edo_sens,0,1 bsf _C_check_time

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_A_H movff conta_gral_L,conta_A_L goto _0_sig_sns_1 _0_sig_extra_A_

bcf _A_edo_sens,0,1;indicando que el sensor ya se apago ;cambios _0_sig_sns_1

_0_sens_apagado_1 movff _B_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_B_H movff conta_gral_L,conta_B_L goto _0_sig_sns_2 _0_sig_extra_B_

bcf _B_edo_sens,0,1;indicando que el sensor ya se apago

_0_sens_apagado_2 movff _C_edo_sens,_gral_edo_sens

196

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _C_check_time

_0_sig_sns_3 btfss _D,0,1 goto _0_sig_sns_4 btfss PORTF,0,0 goto _0_sens_apagado_3 bsf PORTH,3,0 bcf _D_check_time bsf _D_edo_sens,0,1 goto _0_sig_sns_4

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_D_ bcf _D_edo_sens,0,1 bsf _D_check_time

bcf _D_check_time

_0_sig_sns_4 btfss _E,0,1 goto _0_sig_sns_5 btfss PORTF,0,0 goto _0_sens_apagado_4 bsf PORTH,4,0 bcf _E_check_time

goto _0_sig_sns_5

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_C_H movff conta_gral_L,conta_C_L goto _0_sig_sns_3 _0_sig_extra_C_

bcf _C_edo_sens,0,1;indicando que el sensor ya se apago

_0_sens_apagado_3 movff _D_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_D_H movff conta_gral_L,conta_D_L goto _0_sig_sns_4 _0_sig_extra_D_

bcf _D_edo_sens,0,1;indicando que el sensor ya se apago

bsf _E_edo_sens,0,1 _0_sens_apagado_4 movff _E_edo_sens,_gral_edo_sens bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_E_ bcf _E_edo_sens,0,1 bsf _E_check_time movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_E_H movff conta_gral_L,conta_E_L

197

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _0_sig_sns_5 _0_sig_extra_E_ bcf _E_check_time

_0_sig_sns_5 btfss _F,0,1 goto _0_sig_sns_6 btfss PORTF,0,0 goto _0_sens_apagado_5 bsf PORTH,5,0 bcf _F_check_time bsf _F_edo_sens,0,1 goto _0_sig_sns_6

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_F_ bcf _F_edo_sens,0,1 bsf _F_check_time

bcf _F_check_time

_0_sig_sns_6 btfss _G,0,1 goto _0_sig_sns_7 btfss PORTF,0,0 goto _0_sens_apagado_6 bsf PORTH,6,0 bcf _G_check_time bsf _G_edo_sens,0,1 goto _0_sig_sns_7

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_G_ bcf _G_edo_sens,0,1 bsf _G_check_time

bcf _G_check_time

bcf _E_edo_sens,0,1;indicando que el sensor ya se apago

_0_sens_apagado_5 movff _F_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_F_H movff conta_gral_L,conta_F_L goto _0_sig_sns_6 _0_sig_extra_F_

bcf _F_edo_sens,0,1;indicando que el sensor ya se apago

_0_sens_apagado_6 movff _G_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_G_H movff conta_gral_L,conta_G_L goto _0_sig_sns_7 _0_sig_extra_G_

bcf _G_edo_sens,0,1;indicando que el sensor ya se apago

198

Control de Eventos On/Off Ideal para un sistema de iluminación

_0_sig_sns_7 btfss _H,0,1 goto _0_sig_sns_8 btfss PORTF,0,0 goto _0_sens_apagado_7 bsf PORTH,7,0 bcf _H_check_time bsf _H_edo_sens,0,1 goto _0_sig_sns_8

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_H_ bcf _H_edo_sens,0,1 bsf _H_check_time

bcf _H_check_time

_0_sig_sns_8 btfss _I,0,1 goto _0_sig_sns_9 btfss PORTF,0,0 goto _0_sens_apagado_8 bsf PORTB,0,0 bcf _I_check_time bsf _I_edo_sens,0,1 goto _0_sig_sns_9 _0_sens_apagado_8 movff _I_edo_sens,_gral_edo_sens bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_I_ bcf _I_edo_sens,0,1 bsf _I_check_time

movff conta_gral_H,conta_I_H movff conta_gral_L,conta_I_L goto _0_sig_sns_9 _0_sig_extra_I_ bcf _I_check_time

_0_sig_sns_9 btfss _J,0,1

_0_sens_apagado_7 movff _H_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_H_H movff conta_gral_L,conta_H_L goto _0_sig_sns_8 _0_sig_extra_H_

bcf _H_edo_sens,0,1;indicando que el sensor ya se apago

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo?

bcf _I_edo_sens,0,1;indicando que el sensor ya se apago

199

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _0_sig_sns_10 btfss PORTF,0,0 goto _0_sens_apagado_9 bsf PORTB,1,0 bcf _J_check_time

goto _0_sig_sns_10

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_J_

bsf _J_check_time

goto _0_sig_sns_10 _0_sig_extra_J_ bcf _J_check_time

_0_sig_sns_10 btfss _K,0,1 goto _0_sig_sns_11 btfss PORTF,0,0 goto _0_sens_apagado_10 bsf PORTB,2,0 bcf _K_check_time bsf _K_edo_sens,0,1 goto _0_sig_sns_11

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_K_ bcf _K_edo_sens,0,1 bsf _K_check_time

movff conta_gral_H,conta_K_H movff conta_gral_L,conta_K_L goto _0_sig_sns_11 _0_sig_extra_K_ bcf _K_check_time

_0_sig_sns_11 btfss _L,0,1 goto _0_sig_sns_12 btfss PORTF,0,0 goto _0_sens_apagado_11 bsf PORTB,3,0

bsf _J_edo_sens,0,1 _0_sens_apagado_9 movff _J_edo_sens,_gral_edo_sens

bcf _J_edo_sens,0,1

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_J_H movff conta_gral_L,conta_J_L

bcf _J_edo_sens,0,1;indicando que el sensor ya se apago

_0_sens_apagado_10 movff _K_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo?

bcf _K_edo_sens,0,1;indicando que el sensor ya se apago

200

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _L_check_time bsf _L_edo_sens,0,1 goto _0_sig_sns_12

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_L_ bcf _L_edo_sens,0,1 bsf _L_check_time

bcf _L_check_time

_0_sig_sns_12 btfss _M,0,1 goto _0_sig_sns_13 btfss PORTF,0,0 goto _0_sens_apagado_12 bsf PORTB,4,0 bcf _M_check_time bsf _M_edo_sens,0,1 goto _0_sig_sns_13

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_M_ bcf _M_edo_sens,0,1 bsf _M_check_time

bcf _M_check_time

_0_sig_sns_13 btfss _N,0,1 goto _0_sig_sns_14 btfss PORTF,0,0 goto _0_sens_apagado_13 bsf PORTB,5,0 bcf _N_check_time

_0_sens_apagado_11 movff _L_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_L_H movff conta_gral_L,conta_L_L goto _0_sig_sns_12 _0_sig_extra_L_

bcf _L_edo_sens,0,1;indicando que el sensor ya se apago

_0_sens_apagado_12 movff _M_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_M_H movff conta_gral_L,conta_M_L goto _0_sig_sns_13 _0_sig_extra_M_

bcf _M_edo_sens,0,1;indicando que el sensor ya se apago

bsf _N_edo_sens,0,1

201

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _0_sig_sns_14

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_N_

bsf _N_check_time

bcf _N_check_time

_0_sig_sns_14 btfss _O,0,1 goto _0_sig_sns_15 btfss PORTF,0,0 goto _0_sens_apagado_14 bsf PORTB,6,0 bcf _O_check_time

goto _0_sig_sns_15

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_O_ bcf _O_edo_sens,0,1 bsf _O_check_time

goto _0_sig_sns_15 _0_sig_extra_O_ bcf _O_check_time

_0_sig_sns_15 btfss _P,0,1 goto _0_sig_sns_16 btfss PORTF,0,0 goto _0_sens_apagado_15 bsf PORTB,7,0 bcf _P_check_time bsf _P_edo_sens,0,1 goto _0_sig_sns_16

_0_sens_apagado_13 movff _N_edo_sens,_gral_edo_sens

bcf _N_edo_sens,0,1

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_N_H movff conta_gral_L,conta_N_L goto _0_sig_sns_14 _0_sig_extra_N_

bcf _N_edo_sens,0,1;indicando que el sensor ya se apago

bsf _O_edo_sens,0,1 _0_sens_apagado_14 movff _O_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_O_H movff conta_gral_L,conta_O_L

bcf _O_edo_sens,0,1;indicando que el sensor ya se apago

_0_sens_apagado_15

202

Control de Eventos On/Off Ideal para un sistema de iluminación

movff _P_edo_sens,_gral_edo_sens bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_P_ bcf _P_edo_sens,0,1 bsf _P_check_time

bcf _P_check_time

_0_sig_sns_16 btfss _Q,0,1 goto _0_sig_sns_17 btfss PORTF,0,0 goto _0_sens_apagado_16 bsf PORTJ,0,0 bcf _Q_check_time

goto _0_sig_sns_17

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_Q_

bsf _Q_check_time

goto _0_sig_sns_17 _0_sig_extra_Q_ bcf _Q_check_time

_0_sig_sns_17 btfss _R,0,1 goto _0_sig_sns_18 btfss PORTF,0,0 goto _0_sens_apagado_17 bsf PORTJ,1,0 bcf _R_check_time bsf _R_edo_sens,0,1 goto _0_sig_sns_18

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_P_H movff conta_gral_L,conta_P_L goto _0_sig_sns_16 _0_sig_extra_P_

bcf _P_edo_sens,0,1;indicando que el sensor ya se apago

bsf _Q_edo_sens,0,1 _0_sens_apagado_16 movff _Q_edo_sens,_gral_edo_sens

bcf _Q_edo_sens,0,1

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_Q_H movff conta_gral_L,conta_Q_L

bcf _Q_edo_sens,0,1;indicando que el sensor ya se apago

_0_sens_apagado_17 movff _R_edo_sens,_gral_edo_sens

203

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _0_sig_extra_R_ bcf _R_edo_sens,0,1 bsf _R_check_time

bcf _R_check_time

_0_sig_sns_18 btfss _S,0,1 goto _0_sig_sns_19 btfss PORTF,0,0 goto _0_sens_apagado_18 bsf PORTJ,2,0 bcf _S_check_time bsf _S_edo_sens,0,1 goto _0_sig_sns_19 _0_sens_apagado_18 movff _S_edo_sens,_gral_edo_sens bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_S_ bcf _S_edo_sens,0,1 bsf _S_check_time

movff conta_gral_H,conta_S_H movff conta_gral_L,conta_S_L goto _0_sig_sns_19 _0_sig_extra_S_ bcf _S_check_time

_0_sig_sns_19 btfss _T,0,1 goto _0_sig_sns_20 btfss PORTF,0,0 goto _0_sens_apagado_19 bsf PORTJ,3,0 bcf _T_check_time bsf _T_edo_sens,0,1 goto _0_sig_sns_20

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_T_ bcf _T_edo_sens,0,1

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_R_H movff conta_gral_L,conta_R_L goto _0_sig_sns_18 _0_sig_extra_R_

bcf _R_edo_sens,0,1;indicando que el sensor ya se apago

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo?

bcf _S_edo_sens,0,1;indicando que el sensor ya se apago

_0_sens_apagado_19 movff _T_edo_sens,_gral_edo_sens

204

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf _T_check_time

bcf _T_check_time

_0_sig_sns_20 btfss _U,0,1 goto _0_sig_sns_21 btfss PORTF,0,0

bsf PORTJ,4,0 bcf _U_check_time

goto _0_sig_sns_21

bsf _U_check_time

goto _0_sig_sns_21 _0_sig_extra_U_ bcf _U_check_time

_0_sig_sns_21 btfss _V,0,1 goto _0_sig_sns_22 btfss PORTF,0,0 goto _0_sens_apagado_21 bsf PORTJ,5,0 bcf _V_check_time bsf _V_edo_sens,0,1 goto _0_sig_sns_22

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_V_ bcf _V_edo_sens,0,1 bsf _V_check_time

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_T_H movff conta_gral_L,conta_T_L goto _0_sig_sns_20 _0_sig_extra_T_

bcf _T_edo_sens,0,1;indicando que el sensor ya se apago

goto _0_sens_apagado_20

bsf _U_edo_sens,0,1 _0_sens_apagado_20 movff _U_edo_sens,_gral_edo_sens bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_U_ bcf _U_edo_sens,0,1

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_U_H movff conta_gral_L,conta_U_L

bcf _U_edo_sens,0,1;indicando que el sensor ya se apago

_0_sens_apagado_21 movff _V_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral

205

Control de Eventos On/Off Ideal para un sistema de iluminación

call que_tiempo? movff conta_gral_H,conta_V_H movff conta_gral_L,conta_V_L goto _0_sig_sns_22 _0_sig_extra_V_ bcf _V_check_time

_0_sig_sns_22 btfss _W,0,1 goto _0_sig_sns_23 btfss PORTF,0,0 goto _0_sens_apagado_22 bsf PORTJ,6,0 bcf _W_check_time bsf _W_edo_sens,0,1 goto _0_sig_sns_23

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_W_ bcf _W_edo_sens,0,1 bsf _W_check_time

movff conta_gral_H,conta_W_H movff conta_gral_L,conta_W_L goto _0_sig_sns_23 _0_sig_extra_W_ bcf _W_check_time

_0_sig_sns_23 btfss _X,0,1 return btfss PORTF,0,0

bsf PORTJ,7,0 bcf _X_check_time bsf _X_edo_sens,0,1 return

bcf _gral_edo_sens,0,1 tstfsz _gral_edo_sens,1 goto _0_sig_extra_X_ bcf _X_edo_sens,0,1 bsf _X_check_time

movff conta_gral_H,conta_X_H

bcf _V_edo_sens,0,1;indicando que el sensor ya se apago

_0_sens_apagado_22 movff _W_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo?

bcf _W_edo_sens,0,1;indicando que el sensor ya se apago

goto _0_sens_apagado_23

_0_sens_apagado_23 movff _X_edo_sens,_gral_edo_sens

movff tiempo_sensor_0,tiempo_sensor_gral call que_tiempo?

206

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_L,conta_X_L return _0_sig_extra_X_ bcf _X_check_time

return checa_sensor_1 btfss sensores,1,1 return btfss _A,1,1 goto _1_sig_sns_1

goto _1_sig_sns_1

bsf _A_check_time

bcf _A_check_time

btfss _B,1,1 goto _1_sig_sns_2 btfss PORTF,1,0 goto _1_sens_apagado_1 bsf PORTH,1,0 bcf _B_check_time bsf _B_edo_sens,1,1 goto _1_sig_sns_2

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_B_ bcf _B_edo_sens,1,1

bcf _X_edo_sens,0,1;indicando que el sensor ya se apago

btfss PORTF,1,0 goto _1_sens_apagado bsf PORTH,0,0 bcf _A_check_time;que no cheque tiempo de apagado bsf _A_edo_sens,1,1;indica que es prendido por sensor 0 _1_sens_apagado;0000001 indica que esta encendido unicamente debido al sensor 0 movff _A_edo_sens,_gral_edo_sens bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_A_ bcf _A_edo_sens,1,1

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_A_H movff conta_gral_L,conta_A_L goto _1_sig_sns_1 _1_sig_extra_A_

bcf _A_edo_sens,1,1;indicando que el sensor ya se apago ;cambios _1_sig_sns_1

_1_sens_apagado_1 movff _B_edo_sens,_gral_edo_sens

207

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf _B_check_time

bcf _B_check_time

_1_sig_sns_2 btfss _C,1,1 goto _1_sig_sns_3 btfss PORTF,1,0 goto _1_sens_apagado_2 bsf PORTH,2,0 bcf _C_check_time bsf _C_edo_sens,1,1 goto _1_sig_sns_3

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_C_ bcf _C_edo_sens,1,1 bsf _C_check_time

bcf _C_check_time

_1_sig_sns_3 btfss _D,1,1 goto _1_sig_sns_4 btfss PORTF,1,0 goto _1_sens_apagado_3 bsf PORTH,3,0 bcf _D_check_time bsf _D_edo_sens,1,1 goto _1_sig_sns_4

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_D_ bcf _D_edo_sens,1,1 bsf _D_check_time

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_B_H movff conta_gral_L,conta_B_L goto _1_sig_sns_2 _1_sig_extra_B_

bcf _B_edo_sens,1,1;indicando que el sensor ya se apago

_1_sens_apagado_2 movff _C_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_C_H movff conta_gral_L,conta_C_L goto _1_sig_sns_3 _1_sig_extra_C_

bcf _C_edo_sens,1,1;indicando que el sensor ya se apago

_1_sens_apagado_3 movff _D_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_D_H

208

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_L,conta_D_L goto _1_sig_sns_4 _1_sig_extra_D_ bcf _D_check_time

_1_sig_sns_4 btfss _E,1,1 goto _1_sig_sns_5 btfss PORTF,1,0 goto _1_sens_apagado_4 bsf PORTH,4,0 bcf _E_check_time

goto _1_sig_sns_5

goto _1_sig_sns_5 _1_sig_extra_E_ bcf _E_check_time

_1_sig_sns_5 btfss _F,1,1 goto _1_sig_sns_6 btfss PORTF,1,0 goto _1_sens_apagado_5 bsf PORTH,5,0 bcf _F_check_time bsf _F_edo_sens,1,1 goto _1_sig_sns_6

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_F_ bcf _F_edo_sens,1,1 bsf _F_check_time

bcf _F_check_time

bcf _D_edo_sens,1,1;indicando que el sensor ya se apago

bsf _E_edo_sens,1,1 _1_sens_apagado_4 movff _E_edo_sens,_gral_edo_sens bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_E_ bcf _E_edo_sens,1,1 bsf _E_check_time movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_E_H movff conta_gral_L,conta_E_L

bcf _E_edo_sens,1,1;indicando que el sensor ya se apago

_1_sens_apagado_5 movff _F_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_F_H movff conta_gral_L,conta_F_L goto _1_sig_sns_6 _1_sig_extra_F_

209

Control de Eventos On/Off Ideal para un sistema de iluminación

_1_sig_sns_6 btfss _G,1,1 goto _1_sig_sns_7 btfss PORTF,1,0 goto _1_sens_apagado_6 bsf PORTH,6,0 bcf _G_check_time bsf _G_edo_sens,1,1 goto _1_sig_sns_7

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_G_ bcf _G_edo_sens,1,1 bsf _G_check_time

bcf _G_check_time

_1_sig_sns_7 btfss _H,1,1 goto _1_sig_sns_8 btfss PORTF,1,0 goto _1_sens_apagado_7 bsf PORTH,7,0 bcf _H_check_time bsf _H_edo_sens,1,1 goto _1_sig_sns_8

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_H_ bcf _H_edo_sens,1,1 bsf _H_check_time

bcf _H_check_time

_1_sig_sns_8

bcf _F_edo_sens,1,1;indicando que el sensor ya se apago

_1_sens_apagado_6 movff _G_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_G_H movff conta_gral_L,conta_G_L goto _1_sig_sns_7 _1_sig_extra_G_

bcf _G_edo_sens,1,1;indicando que el sensor ya se apago

_1_sens_apagado_7 movff _H_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_H_H movff conta_gral_L,conta_H_L goto _1_sig_sns_8 _1_sig_extra_H_

bcf _H_edo_sens,1,1;indicando que el sensor ya se apago

210

Control de Eventos On/Off Ideal para un sistema de iluminación

btfss _I,1,1 goto _1_sig_sns_9 btfss PORTF,1,0 goto _1_sens_apagado_8 bsf PORTB,0,0 bcf _I_check_time bsf _I_edo_sens,1,1 goto _1_sig_sns_9 _1_sens_apagado_8 movff _I_edo_sens,_gral_edo_sens bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_I_ bcf _I_edo_sens,1,1 bsf _I_check_time

movff conta_gral_H,conta_I_H movff conta_gral_L,conta_I_L goto _1_sig_sns_9 _1_sig_extra_I_ bcf _I_check_time

_1_sig_sns_9 btfss _J,1,1 goto _1_sig_sns_10 btfss PORTF,1,0 goto _1_sens_apagado_9 bsf PORTB,1,0 bcf _J_check_time

goto _1_sig_sns_10

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_J_

bsf _J_check_time

goto _1_sig_sns_10 _1_sig_extra_J_ bcf _J_check_time

_1_sig_sns_10 btfss _K,1,1 goto _1_sig_sns_11 btfss PORTF,1,0 goto _1_sens_apagado_10

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo?

bcf _I_edo_sens,1,1;indicando que el sensor ya se apago

bsf _J_edo_sens,1,1 _1_sens_apagado_9 movff _J_edo_sens,_gral_edo_sens

bcf _J_edo_sens,1,1

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_J_H movff conta_gral_L,conta_J_L

bcf _J_edo_sens,1,1;indicando que el sensor ya se apago

211

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf PORTB,2,0 bcf _K_check_time bsf _K_edo_sens,1,1 goto _1_sig_sns_11

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_K_ bcf _K_edo_sens,1,1 bsf _K_check_time

movff conta_gral_H,conta_K_H movff conta_gral_L,conta_K_L goto _1_sig_sns_11 _1_sig_extra_K_ bcf _K_check_time

_1_sig_sns_11 btfss _L,1,1 goto _1_sig_sns_12 btfss PORTF,1,0 goto _1_sens_apagado_11 bsf PORTB,3,0 bcf _L_check_time bsf _L_edo_sens,1,1 goto _1_sig_sns_12

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_L_ bcf _L_edo_sens,1,1 bsf _L_check_time

bcf _L_check_time

_1_sig_sns_12 btfss _M,1,1 goto _1_sig_sns_13 btfss PORTF,1,0 goto _1_sens_apagado_12 bsf PORTB,4,0 bcf _M_check_time bsf _M_edo_sens,1,1

_1_sens_apagado_10 movff _K_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo?

bcf _K_edo_sens,1,1;indicando que el sensor ya se apago

_1_sens_apagado_11 movff _L_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_L_H movff conta_gral_L,conta_L_L goto _1_sig_sns_12 _1_sig_extra_L_

bcf _L_edo_sens,1,1;indicando que el sensor ya se apago

212

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _1_sig_sns_13

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_M_ bcf _M_edo_sens,1,1 bsf _M_check_time

bcf _M_check_time

_1_sig_sns_13 btfss _N,1,1 goto _1_sig_sns_14 btfss PORTF,1,0 goto _1_sens_apagado_13 bsf PORTB,5,0 bcf _N_check_time

goto _1_sig_sns_14

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_N_

bsf _N_check_time

bcf _N_check_time

_1_sig_sns_14 btfss _O,1,1 goto _1_sig_sns_15 btfss PORTF,1,0 goto _1_sens_apagado_14 bsf PORTB,6,0 bcf _O_check_time

goto _1_sig_sns_15

_1_sens_apagado_12 movff _M_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_M_H movff conta_gral_L,conta_M_L goto _1_sig_sns_13 _1_sig_extra_M_

bcf _M_edo_sens,1,1;indicando que el sensor ya se apago

bsf _N_edo_sens,1,1 _1_sens_apagado_13 movff _N_edo_sens,_gral_edo_sens

bcf _N_edo_sens,1,1

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_N_H movff conta_gral_L,conta_N_L goto _1_sig_sns_14 _1_sig_extra_N_

bcf _N_edo_sens,1,1;indicando que el sensor ya se apago

bsf _O_edo_sens,1,1 _1_sens_apagado_14

213

Control de Eventos On/Off Ideal para un sistema de iluminación

movff _O_edo_sens,_gral_edo_sens bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_O_ bcf _O_edo_sens,1,1 bsf _O_check_time

goto _1_sig_sns_15 _1_sig_extra_O_ bcf _O_check_time

_1_sig_sns_15 btfss _P,1,1 goto _1_sig_sns_16 btfss PORTF,1,0 goto _1_sens_apagado_15 bsf PORTB,7,0 bcf _P_check_time bsf _P_edo_sens,1,1 goto _1_sig_sns_16

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_P_ bcf _P_edo_sens,1,1 bsf _P_check_time

bcf _P_check_time

_1_sig_sns_16 btfss _Q,1,1 goto _1_sig_sns_17 btfss PORTF,1,0 goto _1_sens_apagado_16 bsf PORTJ,0,0 bcf _Q_check_time

goto _1_sig_sns_17

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_O_H movff conta_gral_L,conta_O_L

bcf _O_edo_sens,1,1;indicando que el sensor ya se apago

_1_sens_apagado_15 movff _P_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_P_H movff conta_gral_L,conta_P_L goto _1_sig_sns_16 _1_sig_extra_P_

bcf _P_edo_sens,1,1;indicando que el sensor ya se apago

bsf _Q_edo_sens,1,1 _1_sens_apagado_16 movff _Q_edo_sens,_gral_edo_sens

214

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _1_sig_extra_Q_

bsf _Q_check_time

goto _1_sig_sns_17 _1_sig_extra_Q_ bcf _Q_check_time

_1_sig_sns_17 btfss _R,1,1 goto _1_sig_sns_18 btfss PORTF,1,0 goto _1_sens_apagado_17 bsf PORTJ,1,0 bcf _R_check_time bsf _R_edo_sens,1,1 goto _1_sig_sns_18

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_R_ bcf _R_edo_sens,1,1 bsf _R_check_time

bcf _R_check_time

_1_sig_sns_18 btfss _S,1,1 goto _1_sig_sns_19 btfss PORTF,1,0 goto _1_sens_apagado_18 bsf PORTJ,2,0 bcf _S_check_time bsf _S_edo_sens,1,1 goto _1_sig_sns_19 _1_sens_apagado_18 movff _S_edo_sens,_gral_edo_sens bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_S_ bcf _S_edo_sens,1,1

bcf _Q_edo_sens,1,1

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_Q_H movff conta_gral_L,conta_Q_L

bcf _Q_edo_sens,1,1;indicando que el sensor ya se apago

_1_sens_apagado_17 movff _R_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_R_H movff conta_gral_L,conta_R_L goto _1_sig_sns_18 _1_sig_extra_R_

bcf _R_edo_sens,1,1;indicando que el sensor ya se apago

215

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf _S_check_time

movff conta_gral_H,conta_S_H movff conta_gral_L,conta_S_L goto _1_sig_sns_19 _1_sig_extra_S_ bcf _S_check_time

_1_sig_sns_19 btfss _T,1,1 goto _1_sig_sns_20 btfss PORTF,1,0 goto _1_sens_apagado_19 bsf PORTJ,3,0 bcf _T_check_time bsf _T_edo_sens,1,1 goto _1_sig_sns_20

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_T_ bcf _T_edo_sens,1,1 bsf _T_check_time

bcf _T_check_time

_1_sig_sns_20 btfss _U,1,1 goto _1_sig_sns_21 btfss PORTF,1,0

bsf PORTJ,4,0 bcf _U_check_time

goto _1_sig_sns_21

bsf _U_check_time

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo?

bcf _S_edo_sens,1,1;indicando que el sensor ya se apago

_1_sens_apagado_19 movff _T_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_T_H movff conta_gral_L,conta_T_L goto _1_sig_sns_20 _1_sig_extra_T_

bcf _T_edo_sens,1,1;indicando que el sensor ya se apago

goto _1_sens_apagado_20

bsf _U_edo_sens,1,1 _1_sens_apagado_20 movff _U_edo_sens,_gral_edo_sens bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_U_ bcf _U_edo_sens,1,1

movff tiempo_sensor_1,tiempo_sensor_gral

216

Control de Eventos On/Off Ideal para un sistema de iluminación

call que_tiempo? movff conta_gral_H,conta_U_H movff conta_gral_L,conta_U_L goto _1_sig_sns_21 _1_sig_extra_U_ bcf _U_check_time

_1_sig_sns_21 btfss _V,1,1 goto _1_sig_sns_22 btfss PORTF,1,0 goto _1_sens_apagado_21 bsf PORTJ,5,0 bcf _V_check_time bsf _V_edo_sens,1,1 goto _1_sig_sns_22

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_V_ bcf _V_edo_sens,1,1 bsf _V_check_time

bcf _V_check_time

_1_sig_sns_22 btfss _W,1,1 goto _1_sig_sns_23 btfss PORTF,1,0 goto _1_sens_apagado_22 bsf PORTJ,6,0 bcf _W_check_time bsf _W_edo_sens,1,1 goto _1_sig_sns_23

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_W_ bcf _W_edo_sens,1,1 bsf _W_check_time

movff conta_gral_H,conta_W_H

bcf _U_edo_sens,1,1;indicando que el sensor ya se apago

_1_sens_apagado_21 movff _V_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_V_H movff conta_gral_L,conta_V_L goto _1_sig_sns_22 _1_sig_extra_V_

bcf _V_edo_sens,1,1;indicando que el sensor ya se apago

_1_sens_apagado_22 movff _W_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo?

217

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_L,conta_W_L goto _1_sig_sns_23 _1_sig_extra_W_ bcf _W_check_time

_1_sig_sns_23 btfss _X,1,1 return btfss PORTF,1,0

bsf PORTJ,7,0 bcf _X_check_time bsf _X_edo_sens,1,1 return

bcf _gral_edo_sens,1,1 tstfsz _gral_edo_sens,1 goto _1_sig_extra_X_ bcf _X_edo_sens,1,1 bsf _X_check_time

movff conta_gral_H,conta_X_H movff conta_gral_L,conta_X_L return _1_sig_extra_X_ bcf _X_check_time

return checa_sensor_2 btfss sensores,2,1 return btfss _A,2,1 goto _2_sig_sns_1

goto _2_sig_sns_1

bsf _A_check_time

bcf _W_edo_sens,1,1;indicando que el sensor ya se apago

goto _1_sens_apagado_23

_1_sens_apagado_23 movff _X_edo_sens,_gral_edo_sens

movff tiempo_sensor_1,tiempo_sensor_gral call que_tiempo?

bcf _X_edo_sens,1,1;indicando que el sensor ya se apago

btfss PORTF,2,0 goto _2_sens_apagado bsf PORTH,0,0 bcf _A_check_time;que no cheque tiempo de apagado bsf _A_edo_sens,2,1;indica que es prendido por sensor 0 _2_sens_apagado;0000001 indica que esta encendido unicamente debido al sensor 0 movff _A_edo_sens,_gral_edo_sens bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_A_ bcf _A_edo_sens,2,1

movff tiempo_sensor_2,tiempo_sensor_gral

218

Control de Eventos On/Off Ideal para un sistema de iluminación

call que_tiempo? movff conta_gral_H,conta_A_H movff conta_gral_L,conta_A_L goto _2_sig_sns_1 _2_sig_extra_A_ bcf _A_check_time

btfss _B,2,1 goto _2_sig_sns_2 btfss PORTF,2,0 goto _2_sens_apagado_1 bsf PORTH,1,0 bcf _B_check_time bsf _B_edo_sens,2,1 goto _2_sig_sns_2

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_B_ bcf _B_edo_sens,2,1 bsf _B_check_time

bcf _B_check_time

_2_sig_sns_2 btfss _C,2,1 goto _2_sig_sns_3 btfss PORTF,2,0 goto _2_sens_apagado_2 bsf PORTH,2,0 bcf _C_check_time bsf _C_edo_sens,2,1 goto _2_sig_sns_3

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_C_ bcf _C_edo_sens,2,1 bsf _C_check_time

bcf _A_edo_sens,2,1;indicando que el sensor ya se apago ;cambios _2_sig_sns_1

_2_sens_apagado_1 movff _B_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_B_H movff conta_gral_L,conta_B_L goto _2_sig_sns_2 _2_sig_extra_B_

bcf _B_edo_sens,2,1;indicando que el sensor ya se apago

_2_sens_apagado_2 movff _C_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo?

219

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_H,conta_C_H movff conta_gral_L,conta_C_L goto _2_sig_sns_3 _2_sig_extra_C_ bcf _C_check_time

_2_sig_sns_3 btfss _D,2,1 goto _2_sig_sns_4 btfss PORTF,2,0 goto _2_sens_apagado_3 bsf PORTH,3,0 bcf _D_check_time bsf _D_edo_sens,2,1 goto _2_sig_sns_4

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_D_ bcf _D_edo_sens,2,1 bsf _D_check_time

bcf _D_check_time

_2_sig_sns_4 btfss _E,2,1 goto _2_sig_sns_5 btfss PORTF,2,0 goto _2_sens_apagado_4 bsf PORTH,4,0 bcf _E_check_time

goto _2_sig_sns_5

goto _2_sig_sns_5 _2_sig_extra_E_

bcf _C_edo_sens,2,1;indicando que el sensor ya se apago

_2_sens_apagado_3 movff _D_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_D_H movff conta_gral_L,conta_D_L goto _2_sig_sns_4 _2_sig_extra_D_

bcf _D_edo_sens,2,1;indicando que el sensor ya se apago

bsf _E_edo_sens,2,1 _2_sens_apagado_4 movff _E_edo_sens,_gral_edo_sens bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_E_ bcf _E_edo_sens,2,1 bsf _E_check_time movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_E_H movff conta_gral_L,conta_E_L

220

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _E_check_time

_2_sig_sns_5 btfss _F,2,1 goto _2_sig_sns_6 btfss PORTF,2,0 goto _2_sens_apagado_5 bsf PORTH,5,0 bcf _F_check_time bsf _F_edo_sens,2,1 goto _2_sig_sns_6

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_F_ bcf _F_edo_sens,2,1 bsf _F_check_time

bcf _F_check_time

_2_sig_sns_6 btfss _G,2,1 goto _2_sig_sns_7 btfss PORTF,2,0 goto _2_sens_apagado_6 bsf PORTH,6,0 bcf _G_check_time bsf _G_edo_sens,2,1 goto _2_sig_sns_7

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_G_ bcf _G_edo_sens,2,1 bsf _G_check_time

bcf _G_check_time

_2_sig_sns_7

bcf _E_edo_sens,2,1;indicando que el sensor ya se apago

_2_sens_apagado_5 movff _F_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_F_H movff conta_gral_L,conta_F_L goto _2_sig_sns_6 _2_sig_extra_F_

bcf _F_edo_sens,2,1;indicando que el sensor ya se apago

_2_sens_apagado_6 movff _G_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_G_H movff conta_gral_L,conta_G_L goto _2_sig_sns_7 _2_sig_extra_G_

bcf _G_edo_sens,2,1;indicando que el sensor ya se apago

221

Control de Eventos On/Off Ideal para un sistema de iluminación

btfss _H,2,1 goto _2_sig_sns_8 btfss PORTF,2,0 goto _2_sens_apagado_7 bsf PORTH,7,0 bcf _H_check_time bsf _H_edo_sens,2,1 goto _2_sig_sns_8

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_H_ bcf _H_edo_sens,2,1 bsf _H_check_time

bcf _H_check_time

_2_sig_sns_8 btfss _I,2,1 goto _2_sig_sns_9 btfss PORTF,2,0 goto _2_sens_apagado_8 bsf PORTB,0,0 bcf _I_check_time bsf _I_edo_sens,2,1 goto _2_sig_sns_9 _2_sens_apagado_8 movff _I_edo_sens,_gral_edo_sens bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_I_ bcf _I_edo_sens,2,1 bsf _I_check_time

movff conta_gral_H,conta_I_H movff conta_gral_L,conta_I_L goto _2_sig_sns_9 _2_sig_extra_I_ bcf _I_check_time

_2_sig_sns_9 btfss _J,2,1 goto _2_sig_sns_10 btfss PORTF,2,0

_2_sens_apagado_7 movff _H_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_H_H movff conta_gral_L,conta_H_L goto _2_sig_sns_8 _2_sig_extra_H_

bcf _H_edo_sens,2,1;indicando que el sensor ya se apago

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo?

bcf _I_edo_sens,2,1;indicando que el sensor ya se apago

222

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _2_sens_apagado_9 bsf PORTB,1,0 bcf _J_check_time

goto _2_sig_sns_10

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_J_

bsf _J_check_time

goto _2_sig_sns_10 _2_sig_extra_J_ bcf _J_check_time

_2_sig_sns_10 btfss _K,2,1 goto _2_sig_sns_11 btfss PORTF,2,0 goto _2_sens_apagado_10 bsf PORTB,2,0 bcf _K_check_time bsf _K_edo_sens,2,1 goto _2_sig_sns_11

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_K_ bcf _K_edo_sens,2,1 bsf _K_check_time

movff conta_gral_H,conta_K_H movff conta_gral_L,conta_K_L goto _2_sig_sns_11 _2_sig_extra_K_ bcf _K_check_time

_2_sig_sns_11 btfss _L,2,1 goto _2_sig_sns_12 btfss PORTF,2,0 goto _2_sens_apagado_11 bsf PORTB,3,0 bcf _L_check_time bsf _L_edo_sens,2,1

bsf _J_edo_sens,2,1 _2_sens_apagado_9 movff _J_edo_sens,_gral_edo_sens

bcf _J_edo_sens,2,1

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_J_H movff conta_gral_L,conta_J_L

bcf _J_edo_sens,2,1;indicando que el sensor ya se apago

_2_sens_apagado_10 movff _K_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo?

bcf _K_edo_sens,2,1;indicando que el sensor ya se apago

223

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _2_sig_sns_12

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_L_ bcf _L_edo_sens,2,1 bsf _L_check_time

bcf _L_check_time

_2_sig_sns_12 btfss _M,2,1 goto _2_sig_sns_13 btfss PORTF,2,0 goto _2_sens_apagado_12 bsf PORTB,4,0 bcf _M_check_time bsf _M_edo_sens,2,1 goto _2_sig_sns_13

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_M_ bcf _M_edo_sens,2,1 bsf _M_check_time

bcf _M_check_time

_2_sig_sns_13 btfss _N,2,1 goto _2_sig_sns_14 btfss PORTF,2,0 goto _2_sens_apagado_13 bsf PORTB,5,0 bcf _N_check_time

goto _2_sig_sns_14

_2_sens_apagado_11 movff _L_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_L_H movff conta_gral_L,conta_L_L goto _2_sig_sns_12 _2_sig_extra_L_

bcf _L_edo_sens,2,1;indicando que el sensor ya se apago

_2_sens_apagado_12 movff _M_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_M_H movff conta_gral_L,conta_M_L goto _2_sig_sns_13 _2_sig_extra_M_

bcf _M_edo_sens,2,1;indicando que el sensor ya se apago

bsf _N_edo_sens,2,1 _2_sens_apagado_13

224

Control de Eventos On/Off Ideal para un sistema de iluminación

movff _N_edo_sens,_gral_edo_sens bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_N_

bsf _N_check_time

bcf _N_check_time

_2_sig_sns_14 btfss _O,2,1 goto _2_sig_sns_15 btfss PORTF,2,0 goto _2_sens_apagado_14 bsf PORTB,6,0 bcf _O_check_time

goto _2_sig_sns_15

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_O_ bcf _O_edo_sens,2,1 bsf _O_check_time

goto _2_sig_sns_15 _2_sig_extra_O_ bcf _O_check_time

_2_sig_sns_15 btfss _P,2,1 goto _2_sig_sns_16 btfss PORTF,2,0 goto _2_sens_apagado_15 bsf PORTB,7,0 bcf _P_check_time bsf _P_edo_sens,2,1 goto _2_sig_sns_16

bcf _gral_edo_sens,2,1

bcf _N_edo_sens,2,1

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_N_H movff conta_gral_L,conta_N_L goto _2_sig_sns_14 _2_sig_extra_N_

bcf _N_edo_sens,2,1;indicando que el sensor ya se apago

bsf _O_edo_sens,2,1 _2_sens_apagado_14 movff _O_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_O_H movff conta_gral_L,conta_O_L

bcf _O_edo_sens,2,1;indicando que el sensor ya se apago

_2_sens_apagado_15 movff _P_edo_sens,_gral_edo_sens

225

Control de Eventos On/Off Ideal para un sistema de iluminación

tstfsz _gral_edo_sens,1 goto _2_sig_extra_P_ bcf _P_edo_sens,2,1 bsf _P_check_time

bcf _P_check_time

_2_sig_sns_16 btfss _Q,2,1 goto _2_sig_sns_17 btfss PORTF,2,0 goto _2_sens_apagado_16 bsf PORTJ,0,0 bcf _Q_check_time

goto _2_sig_sns_17

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_Q_

bsf _Q_check_time

goto _2_sig_sns_17 _2_sig_extra_Q_ bcf _Q_check_time

_2_sig_sns_17 btfss _R,2,1 goto _2_sig_sns_18 btfss PORTF,2,0 goto _2_sens_apagado_17 bsf PORTJ,1,0 bcf _R_check_time bsf _R_edo_sens,2,1 goto _2_sig_sns_18

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_R_ bcf _R_edo_sens,2,1

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_P_H movff conta_gral_L,conta_P_L goto _2_sig_sns_16 _2_sig_extra_P_

bcf _P_edo_sens,2,1;indicando que el sensor ya se apago

bsf _Q_edo_sens,2,1 _2_sens_apagado_16 movff _Q_edo_sens,_gral_edo_sens

bcf _Q_edo_sens,2,1

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_Q_H movff conta_gral_L,conta_Q_L

bcf _Q_edo_sens,2,1;indicando que el sensor ya se apago

_2_sens_apagado_17 movff _R_edo_sens,_gral_edo_sens

226

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf _R_check_time

bcf _R_check_time

_2_sig_sns_18 btfss _S,2,1 goto _2_sig_sns_19 btfss PORTF,2,0 goto _2_sens_apagado_18 bsf PORTJ,2,0 bcf _S_check_time bsf _S_edo_sens,2,1 goto _2_sig_sns_19 _2_sens_apagado_18 movff _S_edo_sens,_gral_edo_sens bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_S_ bcf _S_edo_sens,2,1 bsf _S_check_time

movff conta_gral_H,conta_S_H movff conta_gral_L,conta_S_L goto _2_sig_sns_19 _2_sig_extra_S_ bcf _S_check_time

_2_sig_sns_19 btfss _T,2,1 goto _2_sig_sns_20 btfss PORTF,2,0 goto _2_sens_apagado_19 bsf PORTJ,3,0 bcf _T_check_time bsf _T_edo_sens,2,1 goto _2_sig_sns_20

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_T_ bcf _T_edo_sens,2,1 bsf _T_check_time

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_R_H movff conta_gral_L,conta_R_L goto _2_sig_sns_18 _2_sig_extra_R_

bcf _R_edo_sens,2,1;indicando que el sensor ya se apago

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo?

bcf _S_edo_sens,2,1;indicando que el sensor ya se apago

_2_sens_apagado_19 movff _T_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral

227

Control de Eventos On/Off Ideal para un sistema de iluminación

call que_tiempo? movff conta_gral_H,conta_T_H movff conta_gral_L,conta_T_L goto _2_sig_sns_20 _2_sig_extra_T_ bcf _T_check_time

_2_sig_sns_20 btfss _U,2,1 goto _2_sig_sns_21 btfss PORTF,2,0

bsf PORTJ,4,0 bcf _U_check_time

goto _2_sig_sns_21

bsf _U_check_time

goto _2_sig_sns_21 _2_sig_extra_U_ bcf _U_check_time

_2_sig_sns_21 btfss _V,2,1 goto _2_sig_sns_22 btfss PORTF,2,0 goto _2_sens_apagado_21 bsf PORTJ,5,0 bcf _V_check_time bsf _V_edo_sens,2,1 goto _2_sig_sns_22

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_V_ bcf _V_edo_sens,2,1 bsf _V_check_time

bcf _T_edo_sens,2,1;indicando que el sensor ya se apago

goto _2_sens_apagado_20

bsf _U_edo_sens,2,1 _2_sens_apagado_20 movff _U_edo_sens,_gral_edo_sens bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_U_ bcf _U_edo_sens,2,1

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_U_H movff conta_gral_L,conta_U_L

bcf _U_edo_sens,2,1;indicando que el sensor ya se apago

_2_sens_apagado_21 movff _V_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_V_H

228

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_L,conta_V_L goto _2_sig_sns_22 _2_sig_extra_V_ bcf _V_check_time

_2_sig_sns_22 btfss _W,2,1 goto _2_sig_sns_23 btfss PORTF,2,0 goto _2_sens_apagado_22 bsf PORTJ,6,0 bcf _W_check_time bsf _W_edo_sens,2,1 goto _2_sig_sns_23

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_W_ bcf _W_edo_sens,2,1 bsf _W_check_time

movff conta_gral_H,conta_W_H movff conta_gral_L,conta_W_L goto _2_sig_sns_23 _2_sig_extra_W_ bcf _W_check_time

_2_sig_sns_23 btfss _X,2,1 return btfss PORTF,2,0

bsf PORTJ,7,0 bcf _X_check_time bsf _X_edo_sens,2,1 return

bcf _gral_edo_sens,2,1 tstfsz _gral_edo_sens,1 goto _2_sig_extra_X_ bcf _X_edo_sens,2,1 bsf _X_check_time

movff conta_gral_H,conta_X_H movff conta_gral_L,conta_X_L return

bcf _V_edo_sens,2,1;indicando que el sensor ya se apago

_2_sens_apagado_22 movff _W_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo?

bcf _W_edo_sens,2,1;indicando que el sensor ya se apago

goto _2_sens_apagado_23

_2_sens_apagado_23 movff _X_edo_sens,_gral_edo_sens

movff tiempo_sensor_2,tiempo_sensor_gral call que_tiempo?

229

Control de Eventos On/Off Ideal para un sistema de iluminación

_2_sig_extra_X_ bcf _X_check_time

return checa_sensor_3 btfss sensores,3,1 return btfss _A,3,1 goto _3_sig_sns_1

goto _3_sig_sns_1

bsf _A_check_time

bcf _A_check_time

btfss _B,3,1 goto _3_sig_sns_2 btfss PORTF,3,0 goto _3_sens_apagado_1 bsf PORTH,1,0 bcf _B_check_time bsf _B_edo_sens,3,1 goto _3_sig_sns_2

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_B_ bcf _B_edo_sens,3,1 bsf _B_check_time

bcf _X_edo_sens,2,1;indicando que el sensor ya se apago

btfss PORTF,3,0 goto _3_sens_apagado bsf PORTH,0,0 bcf _A_check_time;que no cheque tiempo de apagado bsf _A_edo_sens,3,1;indica que es prendido por sensor 0 _3_sens_apagado;0000001 indica que esta encendido unicamente debido al sensor 0 movff _A_edo_sens,_gral_edo_sens bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_A_ bcf _A_edo_sens,3,1

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_A_H movff conta_gral_L,conta_A_L goto _3_sig_sns_1 _3_sig_extra_A_

bcf _A_edo_sens,3,1;indicando que el sensor ya se apago ;cambios _3_sig_sns_1

_3_sens_apagado_1 movff _B_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo?

230

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_H,conta_B_H movff conta_gral_L,conta_B_L goto _3_sig_sns_2 _3_sig_extra_B_ bcf _B_check_time

_3_sig_sns_2 btfss _C,3,1 goto _3_sig_sns_3 btfss PORTF,3,0 goto _3_sens_apagado_2 bsf PORTH,2,0 bcf _C_check_time bsf _C_edo_sens,3,1 goto _3_sig_sns_3

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_C_ bcf _C_edo_sens,3,1 bsf _C_check_time

bcf _C_check_time

_3_sig_sns_3 btfss _D,3,1 goto _3_sig_sns_4 btfss PORTF,3,0 goto _3_sens_apagado_3 bsf PORTH,3,0 bcf _D_check_time bsf _D_edo_sens,3,1 goto _3_sig_sns_4

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_D_ bcf _D_edo_sens,3,1 bsf _D_check_time

bcf _B_edo_sens,3,1;indicando que el sensor ya se apago

_3_sens_apagado_2 movff _C_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_C_H movff conta_gral_L,conta_C_L goto _3_sig_sns_3 _3_sig_extra_C_

bcf _C_edo_sens,3,1;indicando que el sensor ya se apago

_3_sens_apagado_3 movff _D_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_D_H movff conta_gral_L,conta_D_L goto _3_sig_sns_4 _3_sig_extra_D_

231

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _D_check_time

_3_sig_sns_4 btfss _E,3,1 goto _3_sig_sns_5 btfss PORTF,3,0 goto _3_sens_apagado_4 bsf PORTH,4,0 bcf _E_check_time

goto _3_sig_sns_5

goto _3_sig_sns_5 _3_sig_extra_E_ bcf _E_check_time

_3_sig_sns_5 btfss _F,3,1 goto _3_sig_sns_6 btfss PORTF,3,0 goto _3_sens_apagado_5 bsf PORTH,5,0 bcf _F_check_time bsf _F_edo_sens,3,1 goto _3_sig_sns_6

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_F_ bcf _F_edo_sens,3,1 bsf _F_check_time

bcf _F_check_time

_3_sig_sns_6

bcf _D_edo_sens,3,1;indicando que el sensor ya se apago

bsf _E_edo_sens,3,1 _3_sens_apagado_4 movff _E_edo_sens,_gral_edo_sens bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_E_ bcf _E_edo_sens,3,1 bsf _E_check_time movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_E_H movff conta_gral_L,conta_E_L

bcf _E_edo_sens,3,1;indicando que el sensor ya se apago

_3_sens_apagado_5 movff _F_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_F_H movff conta_gral_L,conta_F_L goto _3_sig_sns_6 _3_sig_extra_F_

bcf _F_edo_sens,3,1;indicando que el sensor ya se apago

232

Control de Eventos On/Off Ideal para un sistema de iluminación

btfss _G,3,1 goto _3_sig_sns_7 btfss PORTF,3,0 goto _3_sens_apagado_6 bsf PORTH,6,0 bcf _G_check_time bsf _G_edo_sens,3,1 goto _3_sig_sns_7

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_G_ bcf _G_edo_sens,3,1 bsf _G_check_time

bcf _G_check_time

_3_sig_sns_7 btfss _H,3,1 goto _3_sig_sns_8 btfss PORTF,3,0 goto _3_sens_apagado_7 bsf PORTH,7,0 bcf _H_check_time bsf _H_edo_sens,3,1 goto _3_sig_sns_8

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_H_ bcf _H_edo_sens,3,1 bsf _H_check_time

bcf _H_check_time

_3_sig_sns_8 btfss _I,3,1 goto _3_sig_sns_9 btfss PORTF,3,0

_3_sens_apagado_6 movff _G_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_G_H movff conta_gral_L,conta_G_L goto _3_sig_sns_7 _3_sig_extra_G_

bcf _G_edo_sens,3,1;indicando que el sensor ya se apago

_3_sens_apagado_7 movff _H_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_H_H movff conta_gral_L,conta_H_L goto _3_sig_sns_8 _3_sig_extra_H_

bcf _H_edo_sens,3,1;indicando que el sensor ya se apago

233

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _3_sens_apagado_8 bsf PORTB,0,0 bcf _I_check_time bsf _I_edo_sens,3,1 goto _3_sig_sns_9 _3_sens_apagado_8 movff _I_edo_sens,_gral_edo_sens bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_I_ bcf _I_edo_sens,3,1 bsf _I_check_time

movff conta_gral_H,conta_I_H movff conta_gral_L,conta_I_L goto _3_sig_sns_9 _3_sig_extra_I_ bcf _I_check_time

_3_sig_sns_9 btfss _J,3,1 goto _3_sig_sns_10 btfss PORTF,3,0 goto _3_sens_apagado_9 bsf PORTB,1,0 bcf _J_check_time

goto _3_sig_sns_10

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_J_

bsf _J_check_time

goto _3_sig_sns_10 _3_sig_extra_J_ bcf _J_check_time

_3_sig_sns_10 btfss _K,3,1 goto _3_sig_sns_11 btfss PORTF,3,0 goto _3_sens_apagado_10 bsf PORTB,2,0 bcf _K_check_time bsf _K_edo_sens,3,1

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo?

bcf _I_edo_sens,3,1;indicando que el sensor ya se apago

bsf _J_edo_sens,3,1 _3_sens_apagado_9 movff _J_edo_sens,_gral_edo_sens

bcf _J_edo_sens,3,1

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_J_H movff conta_gral_L,conta_J_L

bcf _J_edo_sens,3,1;indicando que el sensor ya se apago

234

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _3_sig_sns_11

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_K_ bcf _K_edo_sens,3,1 bsf _K_check_time

movff conta_gral_H,conta_K_H movff conta_gral_L,conta_K_L goto _3_sig_sns_11 _3_sig_extra_K_ bcf _K_check_time

_3_sig_sns_11 btfss _L,3,1 goto _3_sig_sns_12 btfss PORTF,3,0 goto _3_sens_apagado_11 bsf PORTB,3,0 bcf _L_check_time bsf _L_edo_sens,3,1 goto _3_sig_sns_12

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_L_ bcf _L_edo_sens,3,1 bsf _L_check_time

bcf _L_check_time

_3_sig_sns_12 btfss _M,3,1 goto _3_sig_sns_13 btfss PORTF,3,0 goto _3_sens_apagado_12 bsf PORTB,4,0 bcf _M_check_time bsf _M_edo_sens,3,1 goto _3_sig_sns_13

_3_sens_apagado_10 movff _K_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo?

bcf _K_edo_sens,3,1;indicando que el sensor ya se apago

_3_sens_apagado_11 movff _L_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_L_H movff conta_gral_L,conta_L_L goto _3_sig_sns_12 _3_sig_extra_L_

bcf _L_edo_sens,3,1;indicando que el sensor ya se apago

_3_sens_apagado_12 movff _M_edo_sens,_gral_edo_sens

235

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_M_ bcf _M_edo_sens,3,1 bsf _M_check_time

bcf _M_check_time

_3_sig_sns_13 btfss _N,3,1 goto _3_sig_sns_14 btfss PORTF,3,0 goto _3_sens_apagado_13 bsf PORTB,5,0 bcf _N_check_time

goto _3_sig_sns_14

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_N_

bsf _N_check_time

bcf _N_check_time

_3_sig_sns_14 btfss _O,3,1 goto _3_sig_sns_15 btfss PORTF,3,0 goto _3_sens_apagado_14 bsf PORTB,6,0 bcf _O_check_time

goto _3_sig_sns_15

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_M_H movff conta_gral_L,conta_M_L goto _3_sig_sns_13 _3_sig_extra_M_

bcf _M_edo_sens,3,1;indicando que el sensor ya se apago

bsf _N_edo_sens,3,1 _3_sens_apagado_13 movff _N_edo_sens,_gral_edo_sens

bcf _N_edo_sens,3,1

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_N_H movff conta_gral_L,conta_N_L goto _3_sig_sns_14 _3_sig_extra_N_

bcf _N_edo_sens,3,1;indicando que el sensor ya se apago

bsf _O_edo_sens,3,1 _3_sens_apagado_14 movff _O_edo_sens,_gral_edo_sens

236

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _3_sig_extra_O_ bcf _O_edo_sens,3,1 bsf _O_check_time

goto _3_sig_sns_15 _3_sig_extra_O_ bcf _O_check_time

_3_sig_sns_15 btfss _P,3,1 goto _3_sig_sns_16 btfss PORTF,3,0 goto _3_sens_apagado_15 bsf PORTB,7,0 bcf _P_check_time bsf _P_edo_sens,3,1 goto _3_sig_sns_16

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_P_ bcf _P_edo_sens,3,1 bsf _P_check_time

bcf _P_check_time

_3_sig_sns_16 btfss _Q,3,1 goto _3_sig_sns_17 btfss PORTF,3,0 goto _3_sens_apagado_16 bsf PORTJ,0,0 bcf _Q_check_time

goto _3_sig_sns_17

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_Q_

bsf _Q_check_time

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_O_H movff conta_gral_L,conta_O_L

bcf _O_edo_sens,3,1;indicando que el sensor ya se apago

_3_sens_apagado_15 movff _P_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_P_H movff conta_gral_L,conta_P_L goto _3_sig_sns_16 _3_sig_extra_P_

bcf _P_edo_sens,3,1;indicando que el sensor ya se apago

bsf _Q_edo_sens,3,1 _3_sens_apagado_16 movff _Q_edo_sens,_gral_edo_sens

bcf _Q_edo_sens,3,1

237

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _3_sig_sns_17 _3_sig_extra_Q_ bcf _Q_check_time

_3_sig_sns_17 btfss _R,3,1 goto _3_sig_sns_18 btfss PORTF,3,0 goto _3_sens_apagado_17 bsf PORTJ,1,0 bcf _R_check_time bsf _R_edo_sens,3,1 goto _3_sig_sns_18

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_R_ bcf _R_edo_sens,3,1 bsf _R_check_time

bcf _R_check_time

_3_sig_sns_18 btfss _S,3,1 goto _3_sig_sns_19 btfss PORTF,3,0 goto _3_sens_apagado_18 bsf PORTJ,2,0 bcf _S_check_time bsf _S_edo_sens,3,1 goto _3_sig_sns_19 _3_sens_apagado_18 movff _S_edo_sens,_gral_edo_sens bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_S_ bcf _S_edo_sens,3,1 bsf _S_check_time

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_Q_H movff conta_gral_L,conta_Q_L

bcf _Q_edo_sens,3,1;indicando que el sensor ya se apago

_3_sens_apagado_17 movff _R_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_R_H movff conta_gral_L,conta_R_L goto _3_sig_sns_18 _3_sig_extra_R_

bcf _R_edo_sens,3,1;indicando que el sensor ya se apago

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo?

238

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_H,conta_S_H movff conta_gral_L,conta_S_L goto _3_sig_sns_19 _3_sig_extra_S_ bcf _S_check_time

_3_sig_sns_19 btfss _T,3,1 goto _3_sig_sns_20 btfss PORTF,3,0 goto _3_sens_apagado_19 bsf PORTJ,3,0 bcf _T_check_time bsf _T_edo_sens,3,1 goto _3_sig_sns_20

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_T_ bcf _T_edo_sens,3,1 bsf _T_check_time

bcf _T_check_time

_3_sig_sns_20 btfss _U,3,1 goto _3_sig_sns_21 btfss PORTF,3,0

bsf PORTJ,4,0 bcf _U_check_time

goto _3_sig_sns_21

bsf _U_check_time

bcf _S_edo_sens,3,1;indicando que el sensor ya se apago

_3_sens_apagado_19 movff _T_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_T_H movff conta_gral_L,conta_T_L goto _3_sig_sns_20 _3_sig_extra_T_

bcf _T_edo_sens,3,1;indicando que el sensor ya se apago

goto _3_sens_apagado_20

bsf _U_edo_sens,3,1 _3_sens_apagado_20 movff _U_edo_sens,_gral_edo_sens bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_U_ bcf _U_edo_sens,3,1

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_U_H movff conta_gral_L,conta_U_L

239

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _3_sig_sns_21 _3_sig_extra_U_ bcf _U_check_time

_3_sig_sns_21 btfss _V,3,1 goto _3_sig_sns_22 btfss PORTF,3,0 goto _3_sens_apagado_21 bsf PORTJ,5,0 bcf _V_check_time bsf _V_edo_sens,3,1 goto _3_sig_sns_22

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_V_ bcf _V_edo_sens,3,1 bsf _V_check_time

bcf _V_check_time

_3_sig_sns_22 btfss _W,3,1 goto _3_sig_sns_23 btfss PORTF,3,0 goto _3_sens_apagado_22 bsf PORTJ,6,0 bcf _W_check_time bsf _W_edo_sens,3,1 goto _3_sig_sns_23

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_W_ bcf _W_edo_sens,3,1 bsf _W_check_time

movff conta_gral_H,conta_W_H movff conta_gral_L,conta_W_L goto _3_sig_sns_23 _3_sig_extra_W_

bcf _U_edo_sens,3,1;indicando que el sensor ya se apago

_3_sens_apagado_21 movff _V_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_V_H movff conta_gral_L,conta_V_L goto _3_sig_sns_22 _3_sig_extra_V_

bcf _V_edo_sens,3,1;indicando que el sensor ya se apago

_3_sens_apagado_22 movff _W_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo?

240

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _W_check_time

_3_sig_sns_23 btfss _X,3,1 return btfss PORTF,3,0

bsf PORTJ,7,0 bcf _X_check_time bsf _X_edo_sens,3,1 return

bcf _gral_edo_sens,3,1 tstfsz _gral_edo_sens,1 goto _3_sig_extra_X_ bcf _X_edo_sens,3,1 bsf _X_check_time

movff conta_gral_H,conta_X_H movff conta_gral_L,conta_X_L return _3_sig_extra_X_ bcf _X_check_time

return checa_sensor_4 btfss sensores,4,1 return btfss _A,4,1 goto _4_sig_sns_1

goto _4_sig_sns_1

bsf _A_check_time

bcf _W_edo_sens,3,1;indicando que el sensor ya se apago

goto _3_sens_apagado_23

_3_sens_apagado_23 movff _X_edo_sens,_gral_edo_sens

movff tiempo_sensor_3,tiempo_sensor_gral call que_tiempo?

bcf _X_edo_sens,3,1;indicando que el sensor ya se apago

btfss PORTF,4,0 goto _4_sens_apagado bsf PORTH,0,0 bcf _A_check_time;que no cheque tiempo de apagado bsf _A_edo_sens,4,1;indica que es prendido por sensor 0 _4_sens_apagado;0000001 indica que esta encendido unicamente debido al sensor 0 movff _A_edo_sens,_gral_edo_sens bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_A_ bcf _A_edo_sens,4,1

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_A_H movff conta_gral_L,conta_A_L goto _4_sig_sns_1

241

Control de Eventos On/Off Ideal para un sistema de iluminación

_4_sig_extra_A_ bcf _A_check_time

btfss _B,4,1 goto _4_sig_sns_2 btfss PORTF,4,0 goto _4_sens_apagado_1 bsf PORTH,1,0 bcf _B_check_time bsf _B_edo_sens,4,1 goto _4_sig_sns_2

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_B_ bcf _B_edo_sens,4,1 bsf _B_check_time

bcf _B_check_time

_4_sig_sns_2 btfss _C,4,1 goto _4_sig_sns_3 btfss PORTF,4,0 goto _4_sens_apagado_2 bsf PORTH,2,0 bcf _C_check_time bsf _C_edo_sens,4,1 goto _4_sig_sns_3

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_C_ bcf _C_edo_sens,4,1 bsf _C_check_time

bcf _A_edo_sens,4,1;indicando que el sensor ya se apago ;cambios _4_sig_sns_1

_4_sens_apagado_1 movff _B_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_B_H movff conta_gral_L,conta_B_L goto _4_sig_sns_2 _4_sig_extra_B_

bcf _B_edo_sens,4,1;indicando que el sensor ya se apago

_4_sens_apagado_2 movff _C_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_C_H movff conta_gral_L,conta_C_L goto _4_sig_sns_3 _4_sig_extra_C_

242

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _C_check_time

_4_sig_sns_3 btfss _D,4,1 goto _4_sig_sns_4 btfss PORTF,4,0 goto _4_sens_apagado_3 bsf PORTH,3,0 bcf _D_check_time bsf _D_edo_sens,4,1 goto _4_sig_sns_4

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_D_ bcf _D_edo_sens,4,1 bsf _D_check_time

bcf _D_check_time

_4_sig_sns_4 btfss _E,4,1 goto _4_sig_sns_5 btfss PORTF,4,0 goto _4_sens_apagado_4 bsf PORTH,4,0 bcf _E_check_time

goto _4_sig_sns_5

goto _4_sig_sns_5 _4_sig_extra_E_ bcf _E_check_time

_4_sig_sns_5

bcf _C_edo_sens,4,1;indicando que el sensor ya se apago

_4_sens_apagado_3 movff _D_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_D_H movff conta_gral_L,conta_D_L goto _4_sig_sns_4 _4_sig_extra_D_

bcf _D_edo_sens,4,1;indicando que el sensor ya se apago

bsf _E_edo_sens,4,1 _4_sens_apagado_4 movff _E_edo_sens,_gral_edo_sens bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_E_ bcf _E_edo_sens,4,1 bsf _E_check_time movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_E_H movff conta_gral_L,conta_E_L

bcf _E_edo_sens,4,1;indicando que el sensor ya se apago

243

Control de Eventos On/Off Ideal para un sistema de iluminación

btfss _F,4,1 goto _4_sig_sns_6 btfss PORTF,4,0 goto _4_sens_apagado_5 bsf PORTH,5,0 bcf _F_check_time bsf _F_edo_sens,4,1 goto _4_sig_sns_6

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_F_ bcf _F_edo_sens,4,1 bsf _F_check_time

bcf _F_check_time

_4_sig_sns_6 btfss _G,4,1 goto _4_sig_sns_7 btfss PORTF,4,0 goto _4_sens_apagado_6 bsf PORTH,6,0 bcf _G_check_time bsf _G_edo_sens,4,1 goto _4_sig_sns_7

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_G_ bcf _G_edo_sens,4,1 bsf _G_check_time

bcf _G_check_time

_4_sig_sns_7 btfss _H,4,1 goto _4_sig_sns_8 btfss PORTF,4,0 goto _4_sens_apagado_7

_4_sens_apagado_5 movff _F_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_F_H movff conta_gral_L,conta_F_L goto _4_sig_sns_6 _4_sig_extra_F_

bcf _F_edo_sens,4,1;indicando que el sensor ya se apago

_4_sens_apagado_6 movff _G_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_G_H movff conta_gral_L,conta_G_L goto _4_sig_sns_7 _4_sig_extra_G_

bcf _G_edo_sens,4,1;indicando que el sensor ya se apago

244

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf PORTH,7,0 bcf _H_check_time bsf _H_edo_sens,4,1 goto _4_sig_sns_8

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_H_ bcf _H_edo_sens,4,1 bsf _H_check_time

bcf _H_check_time

_4_sig_sns_8 btfss _I,4,1 goto _4_sig_sns_9 btfss PORTF,4,0 goto _4_sens_apagado_8 bsf PORTB,0,0 bcf _I_check_time bsf _I_edo_sens,4,1 goto _4_sig_sns_9 _4_sens_apagado_8 movff _I_edo_sens,_gral_edo_sens bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_I_ bcf _I_edo_sens,4,1 bsf _I_check_time

movff conta_gral_H,conta_I_H movff conta_gral_L,conta_I_L goto _4_sig_sns_9 _4_sig_extra_I_ bcf _I_check_time

_4_sig_sns_9 btfss _J,4,1 goto _4_sig_sns_10 btfss PORTF,4,0 goto _4_sens_apagado_9 bsf PORTB,1,0 bcf _J_check_time

_4_sens_apagado_7 movff _H_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_H_H movff conta_gral_L,conta_H_L goto _4_sig_sns_8 _4_sig_extra_H_

bcf _H_edo_sens,4,1;indicando que el sensor ya se apago

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo?

bcf _I_edo_sens,4,1;indicando que el sensor ya se apago

bsf _J_edo_sens,4,1

245

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _4_sig_sns_10

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_J_

bsf _J_check_time

goto _4_sig_sns_10 _4_sig_extra_J_ bcf _J_check_time

_4_sig_sns_10 btfss _K,4,1 goto _4_sig_sns_11 btfss PORTF,4,0 goto _4_sens_apagado_10 bsf PORTB,2,0 bcf _K_check_time bsf _K_edo_sens,4,1 goto _4_sig_sns_11

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_K_ bcf _K_edo_sens,4,1 bsf _K_check_time

movff conta_gral_H,conta_K_H movff conta_gral_L,conta_K_L goto _4_sig_sns_11 _4_sig_extra_K_ bcf _K_check_time

_4_sig_sns_11 btfss _L,4,1 goto _4_sig_sns_12 btfss PORTF,4,0 goto _4_sens_apagado_11 bsf PORTB,3,0 bcf _L_check_time bsf _L_edo_sens,4,1 goto _4_sig_sns_12

bcf _gral_edo_sens,4,1

_4_sens_apagado_9 movff _J_edo_sens,_gral_edo_sens

bcf _J_edo_sens,4,1

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_J_H movff conta_gral_L,conta_J_L

bcf _J_edo_sens,4,1;indicando que el sensor ya se apago

_4_sens_apagado_10 movff _K_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo?

bcf _K_edo_sens,4,1;indicando que el sensor ya se apago

_4_sens_apagado_11 movff _L_edo_sens,_gral_edo_sens

246

Control de Eventos On/Off Ideal para un sistema de iluminación

tstfsz _gral_edo_sens,1 goto _4_sig_extra_L_ bcf _L_edo_sens,4,1 bsf _L_check_time

bcf _L_check_time

_4_sig_sns_12 btfss _M,4,1 goto _4_sig_sns_13 btfss PORTF,4,0 goto _4_sens_apagado_12 bsf PORTB,4,0 bcf _M_check_time bsf _M_edo_sens,4,1 goto _4_sig_sns_13

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_M_ bcf _M_edo_sens,4,1 bsf _M_check_time

bcf _M_check_time

_4_sig_sns_13 btfss _N,4,1 goto _4_sig_sns_14 btfss PORTF,4,0 goto _4_sens_apagado_13 bsf PORTB,5,0 bcf _N_check_time

goto _4_sig_sns_14

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_N_

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_L_H movff conta_gral_L,conta_L_L goto _4_sig_sns_12 _4_sig_extra_L_

bcf _L_edo_sens,4,1;indicando que el sensor ya se apago

_4_sens_apagado_12 movff _M_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_M_H movff conta_gral_L,conta_M_L goto _4_sig_sns_13 _4_sig_extra_M_

bcf _M_edo_sens,4,1;indicando que el sensor ya se apago

bsf _N_edo_sens,4,1 _4_sens_apagado_13 movff _N_edo_sens,_gral_edo_sens

247

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf _N_check_time

bcf _N_check_time

_4_sig_sns_14 btfss _O,4,1 goto _4_sig_sns_15 btfss PORTF,4,0 goto _4_sens_apagado_14 bsf PORTB,6,0 bcf _O_check_time

goto _4_sig_sns_15

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_O_ bcf _O_edo_sens,4,1 bsf _O_check_time

goto _4_sig_sns_15 _4_sig_extra_O_ bcf _O_check_time

_4_sig_sns_15 btfss _P,4,1 goto _4_sig_sns_16 btfss PORTF,4,0 goto _4_sens_apagado_15 bsf PORTB,7,0 bcf _P_check_time bsf _P_edo_sens,4,1 goto _4_sig_sns_16

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_P_ bcf _P_edo_sens,4,1 bsf _P_check_time

bcf _N_edo_sens,4,1

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_N_H movff conta_gral_L,conta_N_L goto _4_sig_sns_14 _4_sig_extra_N_

bcf _N_edo_sens,4,1;indicando que el sensor ya se apago

bsf _O_edo_sens,4,1 _4_sens_apagado_14 movff _O_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_O_H movff conta_gral_L,conta_O_L

bcf _O_edo_sens,4,1;indicando que el sensor ya se apago

_4_sens_apagado_15 movff _P_edo_sens,_gral_edo_sens

248

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _P_check_time

_4_sig_sns_16 btfss _Q,4,1 goto _4_sig_sns_17 btfss PORTF,4,0 goto _4_sens_apagado_16 bsf PORTJ,0,0 bcf _Q_check_time

goto _4_sig_sns_17

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_Q_

bsf _Q_check_time

goto _4_sig_sns_17 _4_sig_extra_Q_ bcf _Q_check_time

_4_sig_sns_17 btfss _R,4,1 goto _4_sig_sns_18 btfss PORTF,4,0 goto _4_sens_apagado_17 bsf PORTJ,1,0 bcf _R_check_time bsf _R_edo_sens,4,1 goto _4_sig_sns_18

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_R_ bcf _R_edo_sens,4,1 bsf _R_check_time

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_P_H movff conta_gral_L,conta_P_L goto _4_sig_sns_16 _4_sig_extra_P_

bcf _P_edo_sens,4,1;indicando que el sensor ya se apago

bsf _Q_edo_sens,4,1 _4_sens_apagado_16 movff _Q_edo_sens,_gral_edo_sens

bcf _Q_edo_sens,4,1

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_Q_H movff conta_gral_L,conta_Q_L

bcf _Q_edo_sens,4,1;indicando que el sensor ya se apago

_4_sens_apagado_17 movff _R_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_R_H

249

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_L,conta_R_L goto _4_sig_sns_18 _4_sig_extra_R_ bcf _R_check_time

_4_sig_sns_18 btfss _S,4,1 goto _4_sig_sns_19 btfss PORTF,4,0 goto _4_sens_apagado_18 bsf PORTJ,2,0 bcf _S_check_time bsf _S_edo_sens,4,1 goto _4_sig_sns_19 _4_sens_apagado_18 movff _S_edo_sens,_gral_edo_sens bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_S_ bcf _S_edo_sens,4,1 bsf _S_check_time

movff conta_gral_H,conta_S_H movff conta_gral_L,conta_S_L goto _4_sig_sns_19 _4_sig_extra_S_ bcf _S_check_time

_4_sig_sns_19 btfss _T,4,1 goto _4_sig_sns_20 btfss PORTF,4,0 goto _4_sens_apagado_19 bsf PORTJ,3,0 bcf _T_check_time bsf _T_edo_sens,4,1 goto _4_sig_sns_20

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_T_ bcf _T_edo_sens,4,1 bsf _T_check_time

bcf _R_edo_sens,4,1;indicando que el sensor ya se apago

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo?

bcf _S_edo_sens,4,1;indicando que el sensor ya se apago

_4_sens_apagado_19 movff _T_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_T_H movff conta_gral_L,conta_T_L goto _4_sig_sns_20

250

Control de Eventos On/Off Ideal para un sistema de iluminación

_4_sig_extra_T_ bcf _T_check_time

_4_sig_sns_20 btfss _U,4,1 goto _4_sig_sns_21 btfss PORTF,4,0

bsf PORTJ,4,0 bcf _U_check_time

goto _4_sig_sns_21

bsf _U_check_time

goto _4_sig_sns_21 _4_sig_extra_U_ bcf _U_check_time

_4_sig_sns_21 btfss _V,4,1 goto _4_sig_sns_22 btfss PORTF,4,0 goto _4_sens_apagado_21 bsf PORTJ,5,0 bcf _V_check_time bsf _V_edo_sens,4,1 goto _4_sig_sns_22

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_V_ bcf _V_edo_sens,4,1 bsf _V_check_time

bcf _V_check_time

bcf _T_edo_sens,4,1;indicando que el sensor ya se apago

goto _4_sens_apagado_20

bsf _U_edo_sens,4,1 _4_sens_apagado_20 movff _U_edo_sens,_gral_edo_sens bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_U_ bcf _U_edo_sens,4,1

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_U_H movff conta_gral_L,conta_U_L

bcf _U_edo_sens,4,1;indicando que el sensor ya se apago

_4_sens_apagado_21 movff _V_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_V_H movff conta_gral_L,conta_V_L goto _4_sig_sns_22 _4_sig_extra_V_

251

Control de Eventos On/Off Ideal para un sistema de iluminación

_4_sig_sns_22 btfss _W,4,1 goto _4_sig_sns_23 btfss PORTF,4,0 goto _4_sens_apagado_22 bsf PORTJ,6,0 bcf _W_check_time bsf _W_edo_sens,4,1 goto _4_sig_sns_23

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_W_ bcf _W_edo_sens,4,1 bsf _W_check_time

movff conta_gral_H,conta_W_H movff conta_gral_L,conta_W_L goto _4_sig_sns_23 _4_sig_extra_W_ bcf _W_check_time

_4_sig_sns_23 btfss _X,4,1 return btfss PORTF,4,0

bsf PORTJ,7,0 bcf _X_check_time bsf _X_edo_sens,4,1 return

bcf _gral_edo_sens,4,1 tstfsz _gral_edo_sens,1 goto _4_sig_extra_X_ bcf _X_edo_sens,4,1 bsf _X_check_time

movff conta_gral_H,conta_X_H movff conta_gral_L,conta_X_L return _4_sig_extra_X_ bcf _X_check_time

return

bcf _V_edo_sens,4,1;indicando que el sensor ya se apago

_4_sens_apagado_22 movff _W_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo?

bcf _W_edo_sens,4,1;indicando que el sensor ya se apago

goto _4_sens_apagado_23

_4_sens_apagado_23 movff _X_edo_sens,_gral_edo_sens

movff tiempo_sensor_4,tiempo_sensor_gral call que_tiempo?

bcf _X_edo_sens,4,1;indicando que el sensor ya se apago

252

Control de Eventos On/Off Ideal para un sistema de iluminación

checa_sensor_5 btfss sensores,5,1 return btfss _A,5,1 goto _5_sig_sns_1

goto _5_sig_sns_1

bsf _A_check_time

bcf _A_check_time

btfss _B,5,1 goto _5_sig_sns_2 btfss PORTF,5,0 goto _5_sens_apagado_1 bsf PORTH,1,0 bcf _B_check_time bsf _B_edo_sens,5,1 goto _5_sig_sns_2

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_B_ bcf _B_edo_sens,5,1 bsf _B_check_time

btfss PORTF,5,0 goto _5_sens_apagado bsf PORTH,0,0 bcf _A_check_time;que no cheque tiempo de apagado bsf _A_edo_sens,5,1;indica que es prendido por sensor 0 _5_sens_apagado;0000001 indica que esta encendido unicamente debido al sensor 0 movff _A_edo_sens,_gral_edo_sens bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_A_ bcf _A_edo_sens,5,1

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_A_H movff conta_gral_L,conta_A_L goto _5_sig_sns_1 _5_sig_extra_A_

bcf _A_edo_sens,5,1;indicando que el sensor ya se apago ;cambios _5_sig_sns_1

_5_sens_apagado_1 movff _B_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_B_H movff conta_gral_L,conta_B_L goto _5_sig_sns_2

253

Control de Eventos On/Off Ideal para un sistema de iluminación

_5_sig_extra_B_ bcf _B_check_time

_5_sig_sns_2 btfss _C,5,1 goto _5_sig_sns_3 btfss PORTF,5,0 goto _5_sens_apagado_2 bsf PORTH,2,0 bcf _C_check_time bsf _C_edo_sens,5,1 goto _5_sig_sns_3

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_C_ bcf _C_edo_sens,5,1 bsf _C_check_time

bcf _C_check_time

_5_sig_sns_3 btfss _D,5,1 goto _5_sig_sns_4 btfss PORTF,5,0 goto _5_sens_apagado_3 bsf PORTH,3,0 bcf _D_check_time bsf _D_edo_sens,5,1 goto _5_sig_sns_4

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_D_ bcf _D_edo_sens,5,1 bsf _D_check_time

bcf _D_check_time

bcf _B_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_2 movff _C_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_C_H movff conta_gral_L,conta_C_L goto _5_sig_sns_3 _5_sig_extra_C_

bcf _C_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_3 movff _D_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_D_H movff conta_gral_L,conta_D_L goto _5_sig_sns_4 _5_sig_extra_D_

bcf _D_edo_sens,5,1;indicando que el sensor ya se apago

254

Control de Eventos On/Off Ideal para un sistema de iluminación

_5_sig_sns_4 btfss _E,5,1 goto _5_sig_sns_5 btfss PORTF,5,0 goto _5_sens_apagado_4 bsf PORTH,4,0 bcf _E_check_time

goto _5_sig_sns_5

goto _5_sig_sns_5 _5_sig_extra_E_ bcf _E_check_time

_5_sig_sns_5 btfss _F,5,1 goto _5_sig_sns_6 btfss PORTF,5,0 goto _5_sens_apagado_5 bsf PORTH,5,0 bcf _F_check_time bsf _F_edo_sens,5,1 goto _5_sig_sns_6

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_F_ bcf _F_edo_sens,5,1 bsf _F_check_time

bcf _F_check_time

_5_sig_sns_6 btfss _G,5,1 goto _5_sig_sns_7 btfss PORTF,5,0

bsf _E_edo_sens,5,1 _5_sens_apagado_4 movff _E_edo_sens,_gral_edo_sens bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_E_ bcf _E_edo_sens,5,1 bsf _E_check_time movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_E_H movff conta_gral_L,conta_E_L

bcf _E_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_5 movff _F_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_F_H movff conta_gral_L,conta_F_L goto _5_sig_sns_6 _5_sig_extra_F_

bcf _F_edo_sens,5,1;indicando que el sensor ya se apago

255

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _5_sens_apagado_6 bsf PORTH,6,0 bcf _G_check_time bsf _G_edo_sens,5,1 goto _5_sig_sns_7

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_G_ bcf _G_edo_sens,5,1 bsf _G_check_time

bcf _G_check_time

_5_sig_sns_7 btfss _H,5,1 goto _5_sig_sns_8 btfss PORTF,5,0 goto _5_sens_apagado_7 bsf PORTH,7,0 bcf _H_check_time bsf _H_edo_sens,5,1 goto _5_sig_sns_8

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_H_ bcf _H_edo_sens,5,1 bsf _H_check_time

bcf _H_check_time

_5_sig_sns_8 btfss _I,5,1 goto _5_sig_sns_9 btfss PORTF,5,0 goto _5_sens_apagado_8 bsf PORTB,0,0 bcf _I_check_time

_5_sens_apagado_6 movff _G_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_G_H movff conta_gral_L,conta_G_L goto _5_sig_sns_7 _5_sig_extra_G_

bcf _G_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_7 movff _H_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_H_H movff conta_gral_L,conta_H_L goto _5_sig_sns_8 _5_sig_extra_H_

bcf _H_edo_sens,5,1;indicando que el sensor ya se apago

256

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf _I_edo_sens,5,1 goto _5_sig_sns_9 _5_sens_apagado_8 movff _I_edo_sens,_gral_edo_sens bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_I_ bcf _I_edo_sens,5,1 bsf _I_check_time

movff conta_gral_H,conta_I_H movff conta_gral_L,conta_I_L goto _5_sig_sns_9 _5_sig_extra_I_ bcf _I_check_time

_5_sig_sns_9 btfss _J,5,1 goto _5_sig_sns_10 btfss PORTF,5,0 goto _5_sens_apagado_9 bsf PORTB,1,0 bcf _J_check_time

goto _5_sig_sns_10

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_J_

bsf _J_check_time

goto _5_sig_sns_10 _5_sig_extra_J_ bcf _J_check_time

_5_sig_sns_10 btfss _K,5,1 goto _5_sig_sns_11 btfss PORTF,5,0 goto _5_sens_apagado_10 bsf PORTB,2,0 bcf _K_check_time bsf _K_edo_sens,5,1 goto _5_sig_sns_11

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo?

bcf _I_edo_sens,5,1;indicando que el sensor ya se apago

bsf _J_edo_sens,5,1 _5_sens_apagado_9 movff _J_edo_sens,_gral_edo_sens

bcf _J_edo_sens,5,1

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_J_H movff conta_gral_L,conta_J_L

bcf _J_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_10 movff _K_edo_sens,_gral_edo_sens

257

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_K_ bcf _K_edo_sens,5,1 bsf _K_check_time

movff conta_gral_H,conta_K_H movff conta_gral_L,conta_K_L goto _5_sig_sns_11 _5_sig_extra_K_ bcf _K_check_time

_5_sig_sns_11 btfss _L,5,1 goto _5_sig_sns_12 btfss PORTF,5,0 goto _5_sens_apagado_11 bsf PORTB,3,0 bcf _L_check_time bsf _L_edo_sens,5,1 goto _5_sig_sns_12

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_L_ bcf _L_edo_sens,5,1 bsf _L_check_time

bcf _L_check_time

_5_sig_sns_12 btfss _M,5,1 goto _5_sig_sns_13 btfss PORTF,5,0 goto _5_sens_apagado_12 bsf PORTB,4,0 bcf _M_check_time bsf _M_edo_sens,5,1 goto _5_sig_sns_13

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_M_

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo?

bcf _K_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_11 movff _L_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_L_H movff conta_gral_L,conta_L_L goto _5_sig_sns_12 _5_sig_extra_L_

bcf _L_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_12 movff _M_edo_sens,_gral_edo_sens

258

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _M_edo_sens,5,1 bsf _M_check_time

bcf _M_check_time

_5_sig_sns_13 btfss _N,5,1 goto _5_sig_sns_14 btfss PORTF,5,0 goto _5_sens_apagado_13 bsf PORTB,5,0 bcf _N_check_time

goto _5_sig_sns_14

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_N_

bsf _N_check_time

bcf _N_check_time

_5_sig_sns_14 btfss _O,5,1 goto _5_sig_sns_15 btfss PORTF,5,0 goto _5_sens_apagado_14 bsf PORTB,6,0 bcf _O_check_time

goto _5_sig_sns_15

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_O_ bcf _O_edo_sens,5,1 bsf _O_check_time

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_M_H movff conta_gral_L,conta_M_L goto _5_sig_sns_13 _5_sig_extra_M_

bcf _M_edo_sens,5,1;indicando que el sensor ya se apago

bsf _N_edo_sens,5,1 _5_sens_apagado_13 movff _N_edo_sens,_gral_edo_sens

bcf _N_edo_sens,5,1

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_N_H movff conta_gral_L,conta_N_L goto _5_sig_sns_14 _5_sig_extra_N_

bcf _N_edo_sens,5,1;indicando que el sensor ya se apago

bsf _O_edo_sens,5,1 _5_sens_apagado_14 movff _O_edo_sens,_gral_edo_sens

259

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _5_sig_sns_15 _5_sig_extra_O_ bcf _O_check_time

_5_sig_sns_15 btfss _P,5,1 goto _5_sig_sns_16 btfss PORTF,5,0 goto _5_sens_apagado_15 bsf PORTB,7,0 bcf _P_check_time bsf _P_edo_sens,5,1 goto _5_sig_sns_16

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_P_ bcf _P_edo_sens,5,1 bsf _P_check_time

bcf _P_check_time

_5_sig_sns_16 btfss _Q,5,1 goto _5_sig_sns_17 btfss PORTF,5,0 goto _5_sens_apagado_16 bsf PORTJ,0,0 bcf _Q_check_time

goto _5_sig_sns_17

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_Q_

bsf _Q_check_time

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_O_H movff conta_gral_L,conta_O_L

bcf _O_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_15 movff _P_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_P_H movff conta_gral_L,conta_P_L goto _5_sig_sns_16 _5_sig_extra_P_

bcf _P_edo_sens,5,1;indicando que el sensor ya se apago

bsf _Q_edo_sens,5,1 _5_sens_apagado_16 movff _Q_edo_sens,_gral_edo_sens

bcf _Q_edo_sens,5,1

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_Q_H

260

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_L,conta_Q_L goto _5_sig_sns_17 _5_sig_extra_Q_ bcf _Q_check_time

_5_sig_sns_17 btfss _R,5,1 goto _5_sig_sns_18 btfss PORTF,5,0 goto _5_sens_apagado_17 bsf PORTJ,1,0 bcf _R_check_time bsf _R_edo_sens,5,1 goto _5_sig_sns_18

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_R_ bcf _R_edo_sens,5,1 bsf _R_check_time

bcf _R_check_time

_5_sig_sns_18 btfss _S,5,1 goto _5_sig_sns_19 btfss PORTF,5,0 goto _5_sens_apagado_18 bsf PORTJ,2,0 bcf _S_check_time bsf _S_edo_sens,5,1 goto _5_sig_sns_19 _5_sens_apagado_18 movff _S_edo_sens,_gral_edo_sens bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_S_ bcf _S_edo_sens,5,1 bsf _S_check_time

movff conta_gral_H,conta_S_H movff conta_gral_L,conta_S_L goto _5_sig_sns_19

bcf _Q_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_17 movff _R_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_R_H movff conta_gral_L,conta_R_L goto _5_sig_sns_18 _5_sig_extra_R_

bcf _R_edo_sens,5,1;indicando que el sensor ya se apago

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo?

261

Control de Eventos On/Off Ideal para un sistema de iluminación

_5_sig_extra_S_ bcf _S_check_time

_5_sig_sns_19 btfss _T,5,1 goto _5_sig_sns_20 btfss PORTF,5,0 goto _5_sens_apagado_19 bsf PORTJ,3,0 bcf _T_check_time bsf _T_edo_sens,5,1 goto _5_sig_sns_20

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_T_ bcf _T_edo_sens,5,1 bsf _T_check_time

bcf _T_check_time

_5_sig_sns_20 btfss _U,5,1 goto _5_sig_sns_21 btfss PORTF,5,0

bsf PORTJ,4,0 bcf _U_check_time

goto _5_sig_sns_21

bsf _U_check_time

goto _5_sig_sns_21 _5_sig_extra_U_ bcf _U_check_time

bcf _S_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_19 movff _T_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_T_H movff conta_gral_L,conta_T_L goto _5_sig_sns_20 _5_sig_extra_T_

bcf _T_edo_sens,5,1;indicando que el sensor ya se apago

goto _5_sens_apagado_20

bsf _U_edo_sens,5,1 _5_sens_apagado_20 movff _U_edo_sens,_gral_edo_sens bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_U_ bcf _U_edo_sens,5,1

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_U_H movff conta_gral_L,conta_U_L

262

Control de Eventos On/Off Ideal para un sistema de iluminación

_5_sig_sns_21 btfss _V,5,1 goto _5_sig_sns_22 btfss PORTF,5,0 goto _5_sens_apagado_21 bsf PORTJ,5,0 bcf _V_check_time bsf _V_edo_sens,5,1 goto _5_sig_sns_22

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_V_ bcf _V_edo_sens,5,1 bsf _V_check_time

bcf _V_check_time

_5_sig_sns_22 btfss _W,5,1 goto _5_sig_sns_23 btfss PORTF,5,0 goto _5_sens_apagado_22 bsf PORTJ,6,0 bcf _W_check_time bsf _W_edo_sens,5,1 goto _5_sig_sns_23

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_W_ bcf _W_edo_sens,5,1 bsf _W_check_time

movff conta_gral_H,conta_W_H movff conta_gral_L,conta_W_L goto _5_sig_sns_23 _5_sig_extra_W_ bcf _W_check_time

bcf _U_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_21 movff _V_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_V_H movff conta_gral_L,conta_V_L goto _5_sig_sns_22 _5_sig_extra_V_

bcf _V_edo_sens,5,1;indicando que el sensor ya se apago

_5_sens_apagado_22 movff _W_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo?

bcf _W_edo_sens,5,1;indicando que el sensor ya se apago

263

Control de Eventos On/Off Ideal para un sistema de iluminación

_5_sig_sns_23 btfss _X,5,1 return btfss PORTF,5,0

bsf PORTJ,7,0 bcf _X_check_time bsf _X_edo_sens,5,1 return

bcf _gral_edo_sens,5,1 tstfsz _gral_edo_sens,1 goto _5_sig_extra_X_ bcf _X_edo_sens,5,1 bsf _X_check_time

movff conta_gral_H,conta_X_H movff conta_gral_L,conta_X_L return _5_sig_extra_X_ bcf _X_check_time

return checa_sensor_6 btfss sensores,6,1 return btfss _A,6,1 goto _6_sig_sns_1

goto _6_sig_sns_1

bsf _A_check_time

bcf _A_check_time

goto _5_sens_apagado_23

_5_sens_apagado_23 movff _X_edo_sens,_gral_edo_sens

movff tiempo_sensor_5,tiempo_sensor_gral call que_tiempo?

bcf _X_edo_sens,5,1;indicando que el sensor ya se apago

btfss PORTF,6,0 goto _6_sens_apagado bsf PORTH,0,0 bcf _A_check_time;que no cheque tiempo de apagado bsf _A_edo_sens,6,1;indica que es prendido por sensor 0 _6_sens_apagado;0000001 indica que esta encendido unicamente debido al sensor 0 movff _A_edo_sens,_gral_edo_sens bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_A_ bcf _A_edo_sens,6,1

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_A_H movff conta_gral_L,conta_A_L goto _6_sig_sns_1 _6_sig_extra_A_

bcf _A_edo_sens,6,1;indicando que el sensor ya se apago

264

Control de Eventos On/Off Ideal para un sistema de iluminación

;cambios _6_sig_sns_1 btfss _B,6,1 goto _6_sig_sns_2 btfss PORTF,6,0 goto _6_sens_apagado_1 bsf PORTH,1,0 bcf _B_check_time bsf _B_edo_sens,6,1 goto _6_sig_sns_2

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_B_ bcf _B_edo_sens,6,1 bsf _B_check_time

bcf _B_check_time

_6_sig_sns_2 btfss _C,6,1 goto _6_sig_sns_3 btfss PORTF,6,0 goto _6_sens_apagado_2 bsf PORTH,2,0 bcf _C_check_time bsf _C_edo_sens,6,1 goto _6_sig_sns_3

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_C_ bcf _C_edo_sens,6,1 bsf _C_check_time

bcf _C_check_time

_6_sig_sns_3

_6_sens_apagado_1 movff _B_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_B_H movff conta_gral_L,conta_B_L goto _6_sig_sns_2 _6_sig_extra_B_

bcf _B_edo_sens,6,1;indicando que el sensor ya se apago

_6_sens_apagado_2 movff _C_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_C_H movff conta_gral_L,conta_C_L goto _6_sig_sns_3 _6_sig_extra_C_

bcf _C_edo_sens,6,1;indicando que el sensor ya se apago

265

Control de Eventos On/Off Ideal para un sistema de iluminación

btfss _D,6,1 goto _6_sig_sns_4 btfss PORTF,6,0 goto _6_sens_apagado_3 bsf PORTH,3,0 bcf _D_check_time bsf _D_edo_sens,6,1 goto _6_sig_sns_4

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_D_ bcf _D_edo_sens,6,1 bsf _D_check_time

bcf _D_check_time

_6_sig_sns_4 btfss _E,6,1 goto _6_sig_sns_5 btfss PORTF,6,0 goto _6_sens_apagado_4 bsf PORTH,4,0 bcf _E_check_time

goto _6_sig_sns_5

goto _6_sig_sns_5 _6_sig_extra_E_ bcf _E_check_time

_6_sig_sns_5 btfss _F,6,1 goto _6_sig_sns_6 btfss PORTF,6,0 goto _6_sens_apagado_5

_6_sens_apagado_3 movff _D_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_D_H movff conta_gral_L,conta_D_L goto _6_sig_sns_4 _6_sig_extra_D_

bcf _D_edo_sens,6,1;indicando que el sensor ya se apago

bsf _E_edo_sens,6,1 _6_sens_apagado_4 movff _E_edo_sens,_gral_edo_sens bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_E_ bcf _E_edo_sens,6,1 bsf _E_check_time movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_E_H movff conta_gral_L,conta_E_L

bcf _E_edo_sens,6,1;indicando que el sensor ya se apago

266

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf PORTH,5,0 bcf _F_check_time bsf _F_edo_sens,6,1 goto _6_sig_sns_6

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_F_ bcf _F_edo_sens,6,1 bsf _F_check_time

bcf _F_check_time

_6_sig_sns_6 btfss _G,6,1 goto _6_sig_sns_7 btfss PORTF,6,0 goto _6_sens_apagado_6 bsf PORTH,6,0 bcf _G_check_time bsf _G_edo_sens,6,1 goto _6_sig_sns_7

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_G_ bcf _G_edo_sens,6,1 bsf _G_check_time

bcf _G_check_time

_6_sig_sns_7 btfss _H,6,1 goto _6_sig_sns_8 btfss PORTF,6,0 goto _6_sens_apagado_7 bsf PORTH,7,0 bcf _H_check_time bsf _H_edo_sens,6,1 goto _6_sig_sns_8

_6_sens_apagado_5 movff _F_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_F_H movff conta_gral_L,conta_F_L goto _6_sig_sns_6 _6_sig_extra_F_

bcf _F_edo_sens,6,1;indicando que el sensor ya se apago

_6_sens_apagado_6 movff _G_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_G_H movff conta_gral_L,conta_G_L goto _6_sig_sns_7 _6_sig_extra_G_

bcf _G_edo_sens,6,1;indicando que el sensor ya se apago

267

Control de Eventos On/Off Ideal para un sistema de iluminación

_6_sens_apagado_7 movff _H_edo_sens,_gral_edo_sens bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_H_ bcf _H_edo_sens,6,1 bsf _H_check_time

bcf _H_check_time

_6_sig_sns_8 btfss _I,6,1 goto _6_sig_sns_9 btfss PORTF,6,0 goto _6_sens_apagado_8 bsf PORTB,0,0 bcf _I_check_time bsf _I_edo_sens,6,1 goto _6_sig_sns_9 _6_sens_apagado_8 movff _I_edo_sens,_gral_edo_sens bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_I_ bcf _I_edo_sens,6,1 bsf _I_check_time

movff conta_gral_H,conta_I_H movff conta_gral_L,conta_I_L goto _6_sig_sns_9 _6_sig_extra_I_ bcf _I_check_time

_6_sig_sns_9 btfss _J,6,1 goto _6_sig_sns_10 btfss PORTF,6,0 goto _6_sens_apagado_9 bsf PORTB,1,0 bcf _J_check_time

goto _6_sig_sns_10

bcf _gral_edo_sens,6,1

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_H_H movff conta_gral_L,conta_H_L goto _6_sig_sns_8 _6_sig_extra_H_

bcf _H_edo_sens,6,1;indicando que el sensor ya se apago

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo?

bcf _I_edo_sens,6,1;indicando que el sensor ya se apago

bsf _J_edo_sens,6,1 _6_sens_apagado_9 movff _J_edo_sens,_gral_edo_sens

268

Control de Eventos On/Off Ideal para un sistema de iluminación

tstfsz _gral_edo_sens,1 goto _6_sig_extra_J_

bsf _J_check_time

goto _6_sig_sns_10 _6_sig_extra_J_ bcf _J_check_time

_6_sig_sns_10 btfss _K,6,1 goto _6_sig_sns_11 btfss PORTF,6,0 goto _6_sens_apagado_10 bsf PORTB,2,0 bcf _K_check_time bsf _K_edo_sens,6,1 goto _6_sig_sns_11

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_K_ bcf _K_edo_sens,6,1 bsf _K_check_time

movff conta_gral_H,conta_K_H movff conta_gral_L,conta_K_L goto _6_sig_sns_11 _6_sig_extra_K_ bcf _K_check_time

_6_sig_sns_11 btfss _L,6,1 goto _6_sig_sns_12 btfss PORTF,6,0 goto _6_sens_apagado_11 bsf PORTB,3,0 bcf _L_check_time bsf _L_edo_sens,6,1 goto _6_sig_sns_12

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_L_ bcf _L_edo_sens,6,1 bsf _L_check_time

bcf _J_edo_sens,6,1

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_J_H movff conta_gral_L,conta_J_L

bcf _J_edo_sens,6,1;indicando que el sensor ya se apago

_6_sens_apagado_10 movff _K_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo?

bcf _K_edo_sens,6,1;indicando que el sensor ya se apago

_6_sens_apagado_11 movff _L_edo_sens,_gral_edo_sens

269

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _L_check_time

_6_sig_sns_12 btfss _M,6,1 goto _6_sig_sns_13 btfss PORTF,6,0 goto _6_sens_apagado_12 bsf PORTB,4,0 bcf _M_check_time bsf _M_edo_sens,6,1 goto _6_sig_sns_13

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_M_ bcf _M_edo_sens,6,1 bsf _M_check_time

bcf _M_check_time

_6_sig_sns_13 btfss _N,6,1 goto _6_sig_sns_14 btfss PORTF,6,0 goto _6_sens_apagado_13 bsf PORTB,5,0 bcf _N_check_time

goto _6_sig_sns_14

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_N_

bsf _N_check_time

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_L_H movff conta_gral_L,conta_L_L goto _6_sig_sns_12 _6_sig_extra_L_

bcf _L_edo_sens,6,1;indicando que el sensor ya se apago

_6_sens_apagado_12 movff _M_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_M_H movff conta_gral_L,conta_M_L goto _6_sig_sns_13 _6_sig_extra_M_

bcf _M_edo_sens,6,1;indicando que el sensor ya se apago

bsf _N_edo_sens,6,1 _6_sens_apagado_13 movff _N_edo_sens,_gral_edo_sens

bcf _N_edo_sens,6,1

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo?

270

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_H,conta_N_H movff conta_gral_L,conta_N_L goto _6_sig_sns_14 _6_sig_extra_N_ bcf _N_check_time

_6_sig_sns_14 btfss _O,6,1 goto _6_sig_sns_15 btfss PORTF,6,0 goto _6_sens_apagado_14 bsf PORTB,6,0 bcf _O_check_time

goto _6_sig_sns_15

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_O_ bcf _O_edo_sens,6,1 bsf _O_check_time

goto _6_sig_sns_15 _6_sig_extra_O_ bcf _O_check_time

_6_sig_sns_15 btfss _P,6,1 goto _6_sig_sns_16 btfss PORTF,6,0 goto _6_sens_apagado_15 bsf PORTB,7,0 bcf _P_check_time bsf _P_edo_sens,6,1 goto _6_sig_sns_16

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_P_ bcf _P_edo_sens,6,1 bsf _P_check_time

bcf _N_edo_sens,6,1;indicando que el sensor ya se apago

bsf _O_edo_sens,6,1 _6_sens_apagado_14 movff _O_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_O_H movff conta_gral_L,conta_O_L

bcf _O_edo_sens,6,1;indicando que el sensor ya se apago

_6_sens_apagado_15 movff _P_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_P_H movff conta_gral_L,conta_P_L

271

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _6_sig_sns_16 _6_sig_extra_P_ bcf _P_check_time

_6_sig_sns_16 btfss _Q,6,1 goto _6_sig_sns_17 btfss PORTF,6,0 goto _6_sens_apagado_16 bsf PORTJ,0,0 bcf _Q_check_time

goto _6_sig_sns_17

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_Q_

bsf _Q_check_time

goto _6_sig_sns_17 _6_sig_extra_Q_ bcf _Q_check_time

_6_sig_sns_17 btfss _R,6,1 goto _6_sig_sns_18 btfss PORTF,6,0 goto _6_sens_apagado_17 bsf PORTJ,1,0 bcf _R_check_time bsf _R_edo_sens,6,1 goto _6_sig_sns_18

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_R_ bcf _R_edo_sens,6,1 bsf _R_check_time

bcf _R_check_time

bcf _P_edo_sens,6,1;indicando que el sensor ya se apago

bsf _Q_edo_sens,6,1 _6_sens_apagado_16 movff _Q_edo_sens,_gral_edo_sens

bcf _Q_edo_sens,6,1

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_Q_H movff conta_gral_L,conta_Q_L

bcf _Q_edo_sens,6,1;indicando que el sensor ya se apago

_6_sens_apagado_17 movff _R_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_R_H movff conta_gral_L,conta_R_L goto _6_sig_sns_18 _6_sig_extra_R_

272

Control de Eventos On/Off Ideal para un sistema de iluminación

_6_sig_sns_18 btfss _S,6,1 goto _6_sig_sns_19 btfss PORTF,6,0 goto _6_sens_apagado_18 bsf PORTJ,2,0 bcf _S_check_time bsf _S_edo_sens,6,1 goto _6_sig_sns_19 _6_sens_apagado_18 movff _S_edo_sens,_gral_edo_sens bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_S_ bcf _S_edo_sens,6,1 bsf _S_check_time

movff conta_gral_H,conta_S_H movff conta_gral_L,conta_S_L goto _6_sig_sns_19 _6_sig_extra_S_ bcf _S_check_time

_6_sig_sns_19 btfss _T,6,1 goto _6_sig_sns_20 btfss PORTF,6,0 goto _6_sens_apagado_19 bsf PORTJ,3,0 bcf _T_check_time bsf _T_edo_sens,6,1 goto _6_sig_sns_20

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_T_ bcf _T_edo_sens,6,1 bsf _T_check_time

bcf _T_check_time

bcf _R_edo_sens,6,1;indicando que el sensor ya se apago

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo?

bcf _S_edo_sens,6,1;indicando que el sensor ya se apago

_6_sens_apagado_19 movff _T_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_T_H movff conta_gral_L,conta_T_L goto _6_sig_sns_20 _6_sig_extra_T_

bcf _T_edo_sens,6,1;indicando que el sensor ya se apago

273

Control de Eventos On/Off Ideal para un sistema de iluminación

_6_sig_sns_20 btfss _U,6,1 goto _6_sig_sns_21 btfss PORTF,6,0

bsf PORTJ,4,0 bcf _U_check_time

goto _6_sig_sns_21

bsf _U_check_time

goto _6_sig_sns_21 _6_sig_extra_U_ bcf _U_check_time

_6_sig_sns_21 btfss _V,6,1 goto _6_sig_sns_22 btfss PORTF,6,0 goto _6_sens_apagado_21 bsf PORTJ,5,0 bcf _V_check_time bsf _V_edo_sens,6,1 goto _6_sig_sns_22

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_V_ bcf _V_edo_sens,6,1 bsf _V_check_time

bcf _V_check_time

_6_sig_sns_22

goto _6_sens_apagado_20

bsf _U_edo_sens,6,1 _6_sens_apagado_20 movff _U_edo_sens,_gral_edo_sens bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_U_ bcf _U_edo_sens,6,1

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_U_H movff conta_gral_L,conta_U_L

bcf _U_edo_sens,6,1;indicando que el sensor ya se apago

_6_sens_apagado_21 movff _V_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_V_H movff conta_gral_L,conta_V_L goto _6_sig_sns_22 _6_sig_extra_V_

bcf _V_edo_sens,6,1;indicando que el sensor ya se apago

274

Control de Eventos On/Off Ideal para un sistema de iluminación

btfss _W,6,1 goto _6_sig_sns_23 btfss PORTF,6,0 goto _6_sens_apagado_22 bsf PORTJ,6,0 bcf _W_check_time bsf _W_edo_sens,6,1 goto _6_sig_sns_23

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_W_ bcf _W_edo_sens,6,1 bsf _W_check_time

movff conta_gral_H,conta_W_H movff conta_gral_L,conta_W_L goto _6_sig_sns_23 _6_sig_extra_W_ bcf _W_check_time

_6_sig_sns_23 btfss _X,6,1 return btfss PORTF,6,0

bsf PORTJ,7,0 bcf _X_check_time bsf _X_edo_sens,6,1 return

bcf _gral_edo_sens,6,1 tstfsz _gral_edo_sens,1 goto _6_sig_extra_X_ bcf _X_edo_sens,6,1 bsf _X_check_time

movff conta_gral_H,conta_X_H movff conta_gral_L,conta_X_L return _6_sig_extra_X_ bcf _X_check_time

return checa_sensor_7 btfss sensores,7,1

_6_sens_apagado_22 movff _W_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo?

bcf _W_edo_sens,6,1;indicando que el sensor ya se apago

goto _6_sens_apagado_23

_6_sens_apagado_23 movff _X_edo_sens,_gral_edo_sens

movff tiempo_sensor_6,tiempo_sensor_gral call que_tiempo?

bcf _X_edo_sens,6,1;indicando que el sensor ya se apago

275

Control de Eventos On/Off Ideal para un sistema de iluminación

return btfss _A,7,1 goto _7_sig_sns_1

goto _7_sig_sns_1

bsf _A_check_time

bcf _A_check_time

btfss _B,7,1 goto _7_sig_sns_2 btfss PORTF,7,0 goto _7_sens_apagado_1 bsf PORTH,1,0 bcf _B_check_time bsf _B_edo_sens,7,1 goto _7_sig_sns_2

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_B_ bcf _B_edo_sens,7,1 bsf _B_check_time

bcf _B_check_time

_7_sig_sns_2

btfss PORTF,7,0 goto _7_sens_apagado bsf PORTH,0,0 bcf _A_check_time;que no cheque tiempo de apagado bsf _A_edo_sens,7,1;indica que es prendido por sensor 0 _7_sens_apagado;0000001 indica que esta encendido unicamente debido al sensor 0 movff _A_edo_sens,_gral_edo_sens bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_A_ bcf _A_edo_sens,7,1

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_A_H movff conta_gral_L,conta_A_L goto _7_sig_sns_1 _7_sig_extra_A_

bcf _A_edo_sens,7,1;indicando que el sensor ya se apago ;cambios _7_sig_sns_1

_7_sens_apagado_1 movff _B_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_B_H movff conta_gral_L,conta_B_L goto _7_sig_sns_2 _7_sig_extra_B_

bcf _B_edo_sens,7,1;indicando que el sensor ya se apago

276

Control de Eventos On/Off Ideal para un sistema de iluminación

btfss _C,7,1 goto _7_sig_sns_3 btfss PORTF,7,0 goto _7_sens_apagado_2 bsf PORTH,2,0 bcf _C_check_time bsf _C_edo_sens,7,1 goto _7_sig_sns_3

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_C_ bcf _C_edo_sens,7,1 bsf _C_check_time

bcf _C_check_time

_7_sig_sns_3 btfss _D,7,1 goto _7_sig_sns_4 btfss PORTF,7,0 goto _7_sens_apagado_3 bsf PORTH,3,0 bcf _D_check_time bsf _D_edo_sens,7,1 goto _7_sig_sns_4

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_D_ bcf _D_edo_sens,7,1 bsf _D_check_time

bcf _D_check_time

_7_sig_sns_4 btfss _E,7,1 goto _7_sig_sns_5 btfss PORTF,7,0 goto _7_sens_apagado_4

_7_sens_apagado_2 movff _C_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_C_H movff conta_gral_L,conta_C_L goto _7_sig_sns_3 _7_sig_extra_C_

bcf _C_edo_sens,7,1;indicando que el sensor ya se apago

_7_sens_apagado_3 movff _D_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_D_H movff conta_gral_L,conta_D_L goto _7_sig_sns_4 _7_sig_extra_D_

bcf _D_edo_sens,7,1;indicando que el sensor ya se apago

277

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf PORTH,4,0 bcf _E_check_time

goto _7_sig_sns_5

goto _7_sig_sns_5 _7_sig_extra_E_ bcf _E_check_time

_7_sig_sns_5 btfss _F,7,1 goto _7_sig_sns_6 btfss PORTF,7,0 goto _7_sens_apagado_5 bsf PORTH,5,0 bcf _F_check_time bsf _F_edo_sens,7,1 goto _7_sig_sns_6

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_F_ bcf _F_edo_sens,7,1 bsf _F_check_time

bcf _F_check_time

_7_sig_sns_6 btfss _G,7,1 goto _7_sig_sns_7 btfss PORTF,7,0 goto _7_sens_apagado_6 bsf PORTH,6,0 bcf _G_check_time bsf _G_edo_sens,7,1 goto _7_sig_sns_7

bsf _E_edo_sens,7,1 _7_sens_apagado_4 movff _E_edo_sens,_gral_edo_sens bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_E_ bcf _E_edo_sens,7,1 bsf _E_check_time movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_E_H movff conta_gral_L,conta_E_L

bcf _E_edo_sens,7,1;indicando que el sensor ya se apago

_7_sens_apagado_5 movff _F_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_F_H movff conta_gral_L,conta_F_L goto _7_sig_sns_6 _7_sig_extra_F_

bcf _F_edo_sens,7,1;indicando que el sensor ya se apago

278

Control de Eventos On/Off Ideal para un sistema de iluminación

_7_sens_apagado_6 movff _G_edo_sens,_gral_edo_sens bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_G_ bcf _G_edo_sens,7,1 bsf _G_check_time

bcf _G_check_time

_7_sig_sns_7 btfss _H,7,1 goto _7_sig_sns_8 btfss PORTF,7,0 goto _7_sens_apagado_7 bsf PORTH,7,0 bcf _H_check_time bsf _H_edo_sens,7,1 goto _7_sig_sns_8

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_H_ bcf _H_edo_sens,7,1 bsf _H_check_time

bcf _H_check_time

_7_sig_sns_8 btfss _I,7,1 goto _7_sig_sns_9 btfss PORTF,7,0 goto _7_sens_apagado_8 bsf PORTB,0,0 bcf _I_check_time bsf _I_edo_sens,7,1 goto _7_sig_sns_9 _7_sens_apagado_8 movff _I_edo_sens,_gral_edo_sens bcf _gral_edo_sens,7,1

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_G_H movff conta_gral_L,conta_G_L goto _7_sig_sns_7 _7_sig_extra_G_

bcf _G_edo_sens,7,1;indicando que el sensor ya se apago

_7_sens_apagado_7 movff _H_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_H_H movff conta_gral_L,conta_H_L goto _7_sig_sns_8 _7_sig_extra_H_

bcf _H_edo_sens,7,1;indicando que el sensor ya se apago

279

Control de Eventos On/Off Ideal para un sistema de iluminación

tstfsz _gral_edo_sens,1 goto _7_sig_extra_I_ bcf _I_edo_sens,7,1 bsf _I_check_time

movff conta_gral_H,conta_I_H movff conta_gral_L,conta_I_L goto _7_sig_sns_9 _7_sig_extra_I_ bcf _I_check_time

_7_sig_sns_9 btfss _J,7,1 goto _7_sig_sns_10 btfss PORTF,7,0 goto _7_sens_apagado_9 bsf PORTB,1,0 bcf _J_check_time

goto _7_sig_sns_10

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_J_

bsf _J_check_time

goto _7_sig_sns_10 _7_sig_extra_J_ bcf _J_check_time

_7_sig_sns_10 btfss _K,7,1 goto _7_sig_sns_11 btfss PORTF,7,0 goto _7_sens_apagado_10 bsf PORTB,2,0 bcf _K_check_time bsf _K_edo_sens,7,1 goto _7_sig_sns_11

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_K_ bcf _K_edo_sens,7,1 bsf _K_check_time

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo?

bcf _I_edo_sens,7,1;indicando que el sensor ya se apago

bsf _J_edo_sens,7,1 _7_sens_apagado_9 movff _J_edo_sens,_gral_edo_sens

bcf _J_edo_sens,7,1

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_J_H movff conta_gral_L,conta_J_L

bcf _J_edo_sens,7,1;indicando que el sensor ya se apago

_7_sens_apagado_10 movff _K_edo_sens,_gral_edo_sens

280

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_H,conta_K_H movff conta_gral_L,conta_K_L goto _7_sig_sns_11 _7_sig_extra_K_ bcf _K_check_time

_7_sig_sns_11 btfss _L,7,1 goto _7_sig_sns_12 btfss PORTF,7,0 goto _7_sens_apagado_11 bsf PORTB,3,0 bcf _L_check_time bsf _L_edo_sens,7,1 goto _7_sig_sns_12

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_L_ bcf _L_edo_sens,7,1 bsf _L_check_time

bcf _L_check_time

_7_sig_sns_12 btfss _M,7,1 goto _7_sig_sns_13 btfss PORTF,7,0 goto _7_sens_apagado_12 bsf PORTB,4,0 bcf _M_check_time bsf _M_edo_sens,7,1 goto _7_sig_sns_13

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_M_ bcf _M_edo_sens,7,1 bsf _M_check_time

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo?

bcf _K_edo_sens,7,1;indicando que el sensor ya se apago

_7_sens_apagado_11 movff _L_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_L_H movff conta_gral_L,conta_L_L goto _7_sig_sns_12 _7_sig_extra_L_

bcf _L_edo_sens,7,1;indicando que el sensor ya se apago

_7_sens_apagado_12 movff _M_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_M_H

281

Control de Eventos On/Off Ideal para un sistema de iluminación

movff conta_gral_L,conta_M_L goto _7_sig_sns_13 _7_sig_extra_M_ bcf _M_check_time

_7_sig_sns_13 btfss _N,7,1 goto _7_sig_sns_14 btfss PORTF,7,0 goto _7_sens_apagado_13 bsf PORTB,5,0 bcf _N_check_time

goto _7_sig_sns_14

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_N_

bsf _N_check_time

bcf _N_check_time

_7_sig_sns_14 btfss _O,7,1 goto _7_sig_sns_15 btfss PORTF,7,0 goto _7_sens_apagado_14 bsf PORTB,6,0 bcf _O_check_time

goto _7_sig_sns_15

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_O_ bcf _O_edo_sens,7,1 bsf _O_check_time

goto _7_sig_sns_15

bcf _M_edo_sens,7,1;indicando que el sensor ya se apago

bsf _N_edo_sens,7,1 _7_sens_apagado_13 movff _N_edo_sens,_gral_edo_sens

bcf _N_edo_sens,7,1

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_N_H movff conta_gral_L,conta_N_L goto _7_sig_sns_14 _7_sig_extra_N_

bcf _N_edo_sens,7,1;indicando que el sensor ya se apago

bsf _O_edo_sens,7,1 _7_sens_apagado_14 movff _O_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_O_H movff conta_gral_L,conta_O_L

282

Control de Eventos On/Off Ideal para un sistema de iluminación

_7_sig_extra_O_ bcf _O_check_time

_7_sig_sns_15 btfss _P,7,1 goto _7_sig_sns_16 btfss PORTF,7,0 goto _7_sens_apagado_15 bsf PORTB,7,0 bcf _P_check_time bsf _P_edo_sens,7,1 goto _7_sig_sns_16

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_P_ bcf _P_edo_sens,7,1 bsf _P_check_time

bcf _P_check_time

_7_sig_sns_16 btfss _Q,7,1 goto _7_sig_sns_17 btfss PORTF,7,0 goto _7_sens_apagado_16 bsf PORTJ,0,0 bcf _Q_check_time

goto _7_sig_sns_17

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_Q_

bsf _Q_check_time

goto _7_sig_sns_17 _7_sig_extra_Q_ bcf _Q_check_time

bcf _O_edo_sens,7,1;indicando que el sensor ya se apago

_7_sens_apagado_15 movff _P_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_P_H movff conta_gral_L,conta_P_L goto _7_sig_sns_16 _7_sig_extra_P_

bcf _P_edo_sens,7,1;indicando que el sensor ya se apago

bsf _Q_edo_sens,7,1 _7_sens_apagado_16 movff _Q_edo_sens,_gral_edo_sens

bcf _Q_edo_sens,7,1

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_Q_H movff conta_gral_L,conta_Q_L

bcf _Q_edo_sens,7,1;indicando que el sensor ya se apago

283

Control de Eventos On/Off Ideal para un sistema de iluminación

_7_sig_sns_17 btfss _R,7,1 goto _7_sig_sns_18 btfss PORTF,7,0 goto _7_sens_apagado_17 bsf PORTJ,1,0 bcf _R_check_time bsf _R_edo_sens,7,1 goto _7_sig_sns_18

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_R_ bcf _R_edo_sens,7,1 bsf _R_check_time

bcf _R_check_time

_7_sig_sns_18 btfss _S,7,1 goto _7_sig_sns_19 btfss PORTF,7,0 goto _7_sens_apagado_18 bsf PORTJ,2,0 bcf _S_check_time bsf _S_edo_sens,7,1 goto _7_sig_sns_19 _7_sens_apagado_18 movff _S_edo_sens,_gral_edo_sens bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_S_ bcf _S_edo_sens,7,1 bsf _S_check_time

movff conta_gral_H,conta_S_H movff conta_gral_L,conta_S_L goto _7_sig_sns_19 _7_sig_extra_S_ bcf _S_check_time

_7_sens_apagado_17 movff _R_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_R_H movff conta_gral_L,conta_R_L goto _7_sig_sns_18 _7_sig_extra_R_

bcf _R_edo_sens,7,1;indicando que el sensor ya se apago

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo?

bcf _S_edo_sens,7,1;indicando que el sensor ya se apago

284

Control de Eventos On/Off Ideal para un sistema de iluminación

_7_sig_sns_19 btfss _T,7,1 goto _7_sig_sns_20 btfss PORTF,7,0 goto _7_sens_apagado_19 bsf PORTJ,3,0 bcf _T_check_time bsf _T_edo_sens,7,1 goto _7_sig_sns_20

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_T_ bcf _T_edo_sens,7,1 bsf _T_check_time

bcf _T_check_time

_7_sig_sns_20 btfss _U,7,1 goto _7_sig_sns_21 btfss PORTF,7,0

bsf PORTJ,4,0 bcf _U_check_time

goto _7_sig_sns_21

bsf _U_check_time

goto _7_sig_sns_21 _7_sig_extra_U_ bcf _U_check_time

_7_sig_sns_21 btfss _V,7,1

_7_sens_apagado_19 movff _T_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_T_H movff conta_gral_L,conta_T_L goto _7_sig_sns_20 _7_sig_extra_T_

bcf _T_edo_sens,7,1;indicando que el sensor ya se apago

goto _7_sens_apagado_20

bsf _U_edo_sens,7,1 _7_sens_apagado_20 movff _U_edo_sens,_gral_edo_sens bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_U_ bcf _U_edo_sens,7,1

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_U_H movff conta_gral_L,conta_U_L

bcf _U_edo_sens,7,1;indicando que el sensor ya se apago

285

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _7_sig_sns_22 btfss PORTF,7,0 goto _7_sens_apagado_21 bsf PORTJ,5,0 bcf _V_check_time bsf _V_edo_sens,7,1 goto _7_sig_sns_22

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_V_ bcf _V_edo_sens,7,1 bsf _V_check_time

bcf _V_check_time

_7_sig_sns_22 btfss _W,7,1 goto _7_sig_sns_23 btfss PORTF,7,0 goto _7_sens_apagado_22 bsf PORTJ,6,0 bcf _W_check_time bsf _W_edo_sens,7,1 goto _7_sig_sns_23

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_W_ bcf _W_edo_sens,7,1 bsf _W_check_time

movff conta_gral_H,conta_W_H movff conta_gral_L,conta_W_L goto _7_sig_sns_23 _7_sig_extra_W_ bcf _W_check_time

_7_sig_sns_23 btfss _X,7,1 return btfss PORTF,7,0

_7_sens_apagado_21 movff _V_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo? movff conta_gral_H,conta_V_H movff conta_gral_L,conta_V_L goto _7_sig_sns_22 _7_sig_extra_V_

bcf _V_edo_sens,7,1;indicando que el sensor ya se apago

_7_sens_apagado_22 movff _W_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo?

bcf _W_edo_sens,7,1;indicando que el sensor ya se apago

286

Control de Eventos On/Off Ideal para un sistema de iluminación

bsf PORTJ,7,0

bcf _X_check_time bsf _X_edo_sens,7,1 return

bcf _gral_edo_sens,7,1 tstfsz _gral_edo_sens,1 goto _7_sig_extra_X_ bcf _X_edo_sens,7,1 bsf _X_check_time

movff conta_gral_H,conta_X_H movff conta_gral_L,conta_X_L return _7_sig_extra_X_ bcf _X_check_time

call checa_sensor_0 btfsc info_sensor3,1,1 call checa_sensor_1 btfsc info_sensor3,2,1 call checa_sensor_2 btfsc info_sensor3,3,1 call checa_sensor_3 btfsc info_sensor3,4,1 call checa_sensor_4 btfsc info_sensor3,5,1 call checa_sensor_5 btfsc info_sensor3,6,1 call checa_sensor_6 btfsc info_sensor3,7,1 call checa_sensor_7 return checa_sensores call checa_sensor_0 call checa_sensor_1 call checa_sensor_2 call checa_sensor_3 call checa_sensor_4 call checa_sensor_5 call checa_sensor_6 call checa_sensor_7 return mueve_flecha_0

goto _7_sens_apagado_23

_7_sens_apagado_23 movff _X_edo_sens,_gral_edo_sens

movff tiempo_sensor_7,tiempo_sensor_gral call que_tiempo?

bcf _X_edo_sens,7,1;indicando que el sensor ya se apago return ajusta_palomita btfsc info_sensor3,0,1

287

Control de Eventos On/Off Ideal para un sistema de iluminación

movlw

mens " " dato 0C8h mens 03h

return mueve0_1 movlw 02h

mens " " dato 0CFh mens 03h

return mueve0_2 movlw 03h

mens " " dato 097h mens 03h

return mueve0_3 movlw 04h

mens " " dato 09Eh mens 03h

return mueve0_4 movlw 05h

return dato 09Eh mens " " dato 0C1h mens 03h movlw

return mueve_flecha_1

01h cpfseq tiempo_sensor_0,1 goto mueve0_1 dato 0C1h

incf tiempo_sensor_0,1,1

cpfseq tiempo_sensor_0,1 goto mueve0_2 dato 0C8h

incf tiempo_sensor_0,1,1

cpfseq tiempo_sensor_0,1 goto mueve0_3 dato 0CFh

incf tiempo_sensor_0,1,1

cpfseq tiempo_sensor_0,1 goto mueve0_4 dato 097h

incf tiempo_sensor_0,1,1

cpfseq tiempo_sensor_0,1

01h movwf tiempo_sensor_0,1

288

Control de Eventos On/Off Ideal para un sistema de iluminación

movlw

mens " " dato 0C8h mens 03h

return mueve1_1 movlw 02h

mens " " dato 0CFh mens 03h

return mueve1_2 movlw 03h

mens " " dato 097h mens 03h

return mueve1_3 movlw 04h

mens " " dato 09Eh mens 03h

return mueve1_4 movlw 05h

return dato 09Eh mens " " dato 0C1h mens 03h movlw

return mueve_flecha_2 movlw

01h cpfseq tiempo_sensor_1,1 goto mueve1_1 dato 0C1h

incf tiempo_sensor_1,1,1

cpfseq tiempo_sensor_1,1 goto mueve1_2 dato 0C8h

incf tiempo_sensor_1,1,1

cpfseq tiempo_sensor_1,1 goto mueve1_3 dato 0CFh

incf tiempo_sensor_1,1,1

cpfseq tiempo_sensor_1,1 goto mueve1_4 dato 097h

incf tiempo_sensor_1,1,1

cpfseq tiempo_sensor_1,1

01h movwf tiempo_sensor_1,1

01h cpfseq tiempo_sensor_2,1

289

Control de Eventos On/Off Ideal para un sistema de iluminación

goto mueve2_1 dato 0C1h mens " " dato 0C8h mens 03h

return mueve2_1 movlw 02h

mens " " dato 0CFh mens 03h

return mueve2_2 movlw 03h

mens " " dato 097h mens 03h

return mueve2_3 movlw 04h

mens " " dato 09Eh mens 03h

return mueve2_4 movlw 05h

return dato 09Eh mens " " dato 0C1h mens 03h movlw

return mueve_flecha_3 movlw

incf tiempo_sensor_2,1,1

cpfseq tiempo_sensor_2,1 goto mueve2_2 dato 0C8h

incf tiempo_sensor_2,1,1

cpfseq tiempo_sensor_2,1 goto mueve2_3 dato 0CFh

incf tiempo_sensor_2,1,1

cpfseq tiempo_sensor_2,1 goto mueve2_4 dato 097h

incf tiempo_sensor_2,1,1

cpfseq tiempo_sensor_2,1

01h movwf tiempo_sensor_2,1

01h cpfseq tiempo_sensor_3,1

290

Control de Eventos On/Off Ideal para un sistema de iluminación

goto mueve3_1 dato 0C1h mens " " dato 0C8h mens 03h

return mueve3_1 movlw 02h

mens " " dato 0CFh mens 03h

return mueve3_2 movlw 03h

mens " " dato 097h mens 03h

return mueve3_3 movlw 04h

incf tiempo_sensor_3,1,1

cpfseq tiempo_sensor_3,1 goto mueve3_2 dato 0C8h

incf tiempo_sensor_3,1,1

cpfseq tiempo_sensor_3,1 goto mueve3_3 dato 0CFh

incf tiempo_sensor_3,1,1

cpfseq tiempo_sensor_3,1 goto mueve3_4 dato 097h mens " " dato 09Eh mens 03h incf tiempo_sensor_3,1,1 return mueve3_4 movlw 05h cpfseq tiempo_sensor_3,1 return dato 09Eh mens " " dato 0C1h mens 03h movlw 01h movwf tiempo_sensor_3,1 return mueve_flecha_4 movlw 01h cpfseq tiempo_sensor_4,1 goto mueve4_1 dato 0C1h

291

Control de Eventos On/Off Ideal para un sistema de iluminación

mens " " dato 0C8h mens 03h incf tiempo_sensor_4,1,1 return mueve4_1 movlw 02h cpfseq tiempo_sensor_4,1 goto mueve4_2 dato 0C8h mens " " dato 0CFh mens 03h incf tiempo_sensor_4,1,1 return mueve4_2 movlw 03h cpfseq tiempo_sensor_4,1 goto mueve4_3 dato 0CFh mens " " dato 097h mens 03h incf tiempo_sensor_4,1,1 return mueve4_3 movlw 04h cpfseq tiempo_sensor_4,1 goto mueve4_4 dato 097h mens " " dato 09Eh mens 03h incf tiempo_sensor_4,1,1 return mueve4_4 movlw 05h cpfseq tiempo_sensor_4,1 return dato 09Eh mens " " dato 0C1h mens 03h movlw 01h movwf tiempo_sensor_4,1 return mueve_flecha_5 movlw 01h cpfseq tiempo_sensor_5,1 goto mueve5_1 dato 0C1h mens " "

292

Control de Eventos On/Off Ideal para un sistema de iluminación

dato 0C8h mens 03h incf tiempo_sensor_5,1,1 return mueve5_1 movlw 02h cpfseq tiempo_sensor_5,1 goto mueve5_2 dato 0C8h mens " " dato 0CFh mens 03h incf tiempo_sensor_5,1,1 return mueve5_2 movlw 03h cpfseq tiempo_sensor_5,1 goto mueve5_3 dato 0CFh mens " " dato 097h mens 03h incf tiempo_sensor_5,1,1 return mueve5_3 movlw 04h cpfseq tiempo_sensor_5,1 goto mueve5_4 dato 097h mens " " dato 09Eh mens 03h incf tiempo_sensor_5,1,1 return mueve5_4 movlw 05h cpfseq tiempo_sensor_5,1 return dato 09Eh mens " " dato 0C1h mens 03h movlw 01h movwf tiempo_sensor_5,1 return mueve_flecha_6 movlw 01h cpfseq tiempo_sensor_6,1 goto mueve6_1 dato 0C1h mens " " dato 0C8h

293

Control de Eventos On/Off Ideal para un sistema de iluminación

mens 03h incf tiempo_sensor_6,1,1 return mueve6_1 movlw 02h cpfseq tiempo_sensor_6,1 goto mueve6_2 dato 0C8h mens " " dato 0CFh mens 03h incf tiempo_sensor_6,1,1 return mueve6_2 movlw 03h cpfseq tiempo_sensor_6,1 goto mueve6_3 dato 0CFh mens " " dato 097h mens 03h incf tiempo_sensor_6,1,1 return mueve6_3 movlw 04h cpfseq tiempo_sensor_6,1 goto mueve6_4 dato 097h mens " " dato 09Eh mens 03h incf tiempo_sensor_6,1,1 return mueve6_4 movlw 05h cpfseq tiempo_sensor_6,1 return dato 09Eh mens " " dato 0C1h mens 03h movlw 01h movwf tiempo_sensor_6,1 return mueve_flecha_7 movlw 01h cpfseq tiempo_sensor_7,1 goto mueve7_1 dato 0C1h mens " " dato 0C8h mens 03h

294

Control de Eventos On/Off Ideal para un sistema de iluminación

incf tiempo_sensor_7,1,1 return mueve7_1 movlw 02h cpfseq tiempo_sensor_7,1 goto mueve7_2 dato 0C8h mens " " dato 0CFh mens 03h incf tiempo_sensor_7,1,1 return mueve7_2 movlw 03h cpfseq tiempo_sensor_7,1 goto mueve7_3 dato 0CFh mens " " dato 097h mens 03h incf tiempo_sensor_7,1,1 return mueve7_3 movlw 04h cpfseq tiempo_sensor_7,1 goto mueve7_4 dato 097h mens " " dato 09Eh mens 03h incf tiempo_sensor_7,1,1 return mueve7_4 movlw 05h cpfseq tiempo_sensor_7,1 return dato 09Eh mens " " dato 0C1h mens 03h movlw 01h movwf tiempo_sensor_7,1 return que_tiempo? movlw 01h cpfseq tiempo_sensor_gral,1

295

Control de Eventos On/Off Ideal para un sistema de iluminación

goto _0_next_1 clrf conta_gral_H,1 movlw 64h movwf conta_gral_L,1 return _0_next_1 movlw 02h cpfseq tiempo_sensor_gral,1 goto _0_next_2 movlw 01h movwf conta_gral_H,1 movlw 02Ch movwf conta_gral_L,1 return _0_next_2 movlw 03h cpfseq tiempo_sensor_gral,1 goto _0_next_3 movlw 02h movwf conta_gral_H,1 movlw 058h movwf conta_gral_L,1 return _0_next_3 movlw 04h cpfseq tiempo_sensor_gral,1 goto _0_next_4 movlw 0Bh movwf conta_gral_H,1 movlw 0B8h movwf conta_gral_L,1 return _0_next_4 movlw 05h cpfseq tiempo_sensor_gral,1 goto _0_sig_sns_1 movlw 017h movwf conta_gral_H,1 movlw 070h movwf conta_gral_L,1 return checa_tiempos_sensores btfsc _A_check_time call _A_decrementa_apaga btfsc _B_check_time call _B_decrementa_apaga btfsc _C_check_time call _C_decrementa_apaga btfsc _D_check_time call _D_decrementa_apaga btfsc _E_check_time

296

Control de Eventos On/Off Ideal para un sistema de iluminación

call _E_decrementa_apaga btfsc _F_check_time call _F_decrementa_apaga btfsc _G_check_time call _G_decrementa_apaga btfsc _H_check_time call _H_decrementa_apaga btfsc _I_check_time call _I_decrementa_apaga btfsc _J_check_time call _J_decrementa_apaga btfsc _K_check_time call _K_decrementa_apaga btfsc _L_check_time call _L_decrementa_apaga btfsc _M_check_time call _M_decrementa_apaga btfsc _N_check_time call _N_decrementa_apaga btfsc _O_check_time call _O_decrementa_apaga btfsc _P_check_time call _P_decrementa_apaga btfsc _Q_check_time call _Q_decrementa_apaga btfsc _R_check_time call _R_decrementa_apaga btfsc _S_check_time call _S_decrementa_apaga btfsc _T_check_time call _T_decrementa_apaga btfsc _U_check_time call _U_decrementa_apaga btfsc _V_check_time call _V_decrementa_apaga btfsc _W_check_time call _W_decrementa_apaga btfsc _X_check_time call _X_decrementa_apaga return _A_decrementa_apaga movlw 00h cpfseq conta_A_H,1 goto no_A_H cpfseq conta_A_L,1 goto no_A_L bcf PORTH,0,0 bcf _A_check_time return no_A_L decf conta_A_L,1,1 return no_A_H

297

Control de Eventos On/Off Ideal para un sistema de iluminación

cpfseq conta_A_L,1 goto no_A_LL decf conta_A_H,1,1 decf conta_A_L,1,1 return no_A_LL decf conta_A_L,1,1 return _B_decrementa_apaga movlw 00h cpfseq conta_B_H,1 goto no_B_H cpfseq conta_B_L,1 goto no_B_L bcf PORTH,1,0 bcf _B_check_time return no_B_L decf conta_B_L,1,1 return no_B_H cpfseq conta_B_L,1 goto no_B_LL decf conta_B_H,1,1 decf conta_B_L,1,1 return no_B_LL decf conta_B_L,1,1 return _C_decrementa_apaga movlw 00h cpfseq conta_C_H,1 goto no_C_H cpfseq conta_C_L,1 goto no_C_L bcf PORTH,2,0 bcf _C_check_time return no_C_L decf conta_C_L,1,1 return no_C_H cpfseq conta_C_L,1 goto no_C_LL decf conta_C_H,1,1 decf conta_C_L,1,1 return no_C_LL decf conta_C_L,1,1 return

298

Control de Eventos On/Off Ideal para un sistema de iluminación

_D_decrementa_apaga movlw 00h cpfseq conta_D_H,1 goto no_D_H cpfseq conta_D_L,1 goto no_D_L bcf PORTH,3,0 bcf _D_check_time return no_D_L decf conta_D_L,1,1 return no_D_H cpfseq conta_D_L,1 goto no_D_LL decf conta_D_H,1,1 decf conta_D_L,1,1 return no_D_LL decf conta_D_L,1,1 return _E_decrementa_apaga movlw 00h cpfseq conta_E_H,1 goto no_E_H cpfseq conta_E_L,1 goto no_E_L bcf PORTH,4,0 bcf _E_check_time return no_E_L decf conta_E_L,1,1 return no_E_H cpfseq conta_E_L,1 goto no_E_LL decf conta_E_H,1,1 decf conta_E_L,1,1 return no_E_LL decf conta_E_L,1,1 return _F_decrementa_apaga movlw 00h cpfseq conta_F_H,1 goto no_F_H cpfseq conta_F_L,1 goto no_F_L bcf PORTH,5,0 bcf _F_check_time

299

Control de Eventos On/Off Ideal para un sistema de iluminación

return no_F_L decf conta_F_L,1,1 return no_F_H cpfseq conta_F_L,1 goto no_F_LL decf conta_F_H,1,1 decf conta_F_L,1,1 return no_F_LL decf conta_F_L,1,1 return _G_decrementa_apaga movlw 00h cpfseq conta_G_H,1 goto no_G_H cpfseq conta_G_L,1 goto no_G_L bcf PORTH,6,0 bcf _G_check_time return no_G_L decf conta_G_L,1,1 return no_G_H cpfseq conta_G_L,1 goto no_G_LL decf conta_G_H,1,1 decf conta_G_L,1,1 return no_G_LL decf conta_G_L,1,1 return _H_decrementa_apaga movlw 00h cpfseq conta_H_H,1 goto no_H_H cpfseq conta_H_L,1 goto no_H_L bcf PORTH,7,0 bcf _H_check_time return no_H_L decf conta_H_L,1,1 return no_H_H cpfseq conta_H_L,1 goto no_H_LL decf conta_H_H,1,1

300

Control de Eventos On/Off Ideal para un sistema de iluminación

decf conta_H_L,1,1 return no_H_LL decf conta_H_L,1,1 return _I_decrementa_apaga movlw 00h cpfseq conta_I_H,1 goto no_I_H cpfseq conta_I_L,1 goto no_I_L bcf PORTB,0,0 bcf _I_check_time return no_I_L decf conta_I_L,1,1 return no_I_H cpfseq conta_I_L,1 goto no_I_LL decf conta_I_H,1,1 decf conta_I_L,1,1 return no_I_LL decf conta_I_L,1,1 return _J_decrementa_apaga movlw 00h cpfseq conta_J_H,1 goto no_J_H cpfseq conta_J_L,1 goto no_J_L bcf PORTB,1,0 bcf _J_check_time return no_J_L decf conta_J_L,1,1 return no_J_H cpfseq conta_J_L,1 goto no_J_LL decf conta_J_H,1,1 decf conta_J_L,1,1 return no_J_LL decf conta_J_L,1,1 return

301

Control de Eventos On/Off Ideal para un sistema de iluminación

_K_decrementa_apaga movlw 00h cpfseq conta_K_H,1 goto no_K_H cpfseq conta_K_L,1 goto no_K_L bcf PORTB,2,0 bcf _K_check_time return no_K_L decf conta_K_L,1,1 return no_K_H cpfseq conta_K_L,1 goto no_K_LL decf conta_K_H,1,1 decf conta_K_L,1,1 return no_K_LL decf conta_K_L,1,1 return _L_decrementa_apaga movlw 00h cpfseq conta_L_H,1 goto no_L_H cpfseq conta_L_L,1 goto no_L_L bcf PORTB,3,0 bcf _L_check_time return no_L_L decf conta_L_L,1,1 return no_L_H cpfseq conta_L_L,1 goto no_L_LL decf conta_L_H,1,1 decf conta_L_L,1,1 return no_L_LL decf conta_L_L,1,1 return _M_decrementa_apaga movlw 00h cpfseq conta_M_H,1 goto no_M_H cpfseq conta_M_L,1 goto no_M_L bcf PORTB,4,0 bcf _M_check_time return

302

Control de Eventos On/Off Ideal para un sistema de iluminación

no_M_L decf conta_M_L,1,1 return no_M_H cpfseq conta_M_L,1 goto no_M_LL decf conta_M_H,1,1 decf conta_M_L,1,1 return no_M_LL decf conta_M_L,1,1 return _N_decrementa_apaga movlw 00h cpfseq conta_N_H,1 goto no_N_H cpfseq conta_N_L,1 goto no_N_L bcf PORTB,5,0 bcf _N_check_time return no_N_L decf conta_N_L,1,1 return no_N_H cpfseq conta_N_L,1 goto no_N_LL decf conta_N_H,1,1 decf conta_N_L,1,1 return no_N_LL decf conta_N_L,1,1 return _O_decrementa_apaga movlw 00h cpfseq conta_O_H,1 goto no_O_H cpfseq conta_O_L,1 goto no_O_L bcf PORTB,6,0 bcf _O_check_time return no_O_L decf conta_O_L,1,1 return no_O_H cpfseq conta_O_L,1 goto no_O_LL decf conta_O_H,1,1 decf conta_O_L,1,1 return no_O_LL

303

Control de Eventos On/Off Ideal para un sistema de iluminación

decf conta_O_L,1,1 return _P_decrementa_apaga movlw 00h cpfseq conta_P_H,1 goto no_P_H cpfseq conta_P_L,1 goto no_P_L bcf PORTB,7,0 bcf _P_check_time return no_P_L decf conta_P_L,1,1 return no_P_H cpfseq conta_P_L,1 goto no_P_LL decf conta_P_H,1,1 decf conta_P_L,1,1 return no_P_LL decf conta_P_L,1,1 return _Q_decrementa_apaga movlw 00h cpfseq conta_Q_H,1 goto no_Q_H cpfseq conta_Q_L,1 goto no_Q_L bcf PORTJ,0,0 bcf _Q_check_time return no_Q_L decf conta_Q_L,1,1 return no_Q_H cpfseq conta_Q_L,1 goto no_Q_LL decf conta_Q_H,1,1 decf conta_Q_L,1,1 return no_Q_LL decf conta_Q_L,1,1 return _R_decrementa_apaga movlw 00h cpfseq conta_R_H,1 goto no_R_H cpfseq conta_R_L,1 goto no_R_L bcf PORTJ,1,0

304

Control de Eventos On/Off Ideal para un sistema de iluminación

bcf _R_check_time return no_R_L decf conta_R_L,1,1 return no_R_H cpfseq conta_R_L,1 goto no_R_LL decf conta_R_H,1,1 decf conta_R_L,1,1 return no_R_LL decf conta_R_L,1,1 return _S_decrementa_apaga movlw 00h cpfseq conta_S_H,1 goto no_S_H cpfseq conta_S_L,1 goto no_S_L bcf PORTJ,2,0 bcf _S_check_time return no_S_L decf conta_S_L,1,1 return no_S_H cpfseq conta_S_L,1 goto no_S_LL decf conta_S_H,1,1 decf conta_S_L,1,1 return no_S_LL decf conta_S_L,1,1 return _T_decrementa_apaga movlw 00h cpfseq conta_T_H,1 goto no_T_H cpfseq conta_T_L,1 goto no_T_L bcf PORTJ,3,0 bcf _T_check_time return no_T_L decf conta_T_L,1,1 return no_T_H cpfseq conta_T_L,1 goto no_T_LL

305

Control de Eventos On/Off Ideal para un sistema de iluminación

decf conta_T_H,1,1 decf conta_T_L,1,1 return no_T_LL decf conta_T_L,1,1 return _U_decrementa_apaga movlw 00h cpfseq conta_U_H,1 goto no_U_H cpfseq conta_U_L,1 goto no_U_L bcf PORTJ,4,0 bcf _U_check_time return no_U_L decf conta_U_L,1,1 return no_U_H cpfseq conta_U_L,1 goto no_U_LL decf conta_U_H,1,1 decf conta_U_L,1,1 return no_U_LL decf conta_U_L,1,1 return _V_decrementa_apaga movlw 00h cpfseq conta_V_H,1 goto no_V_H cpfseq conta_V_L,1 goto no_V_L bcf PORTJ,5,0 bcf _V_check_time return no_V_L decf conta_V_L,1,1 return no_V_H cpfseq conta_V_L,1 goto no_V_LL decf conta_V_H,1,1 decf conta_V_L,1,1 return no_V_LL decf conta_V_L,1,1 return

306

Control de Eventos On/Off Ideal para un sistema de iluminación

_W_decrementa_apaga movlw 00h cpfseq conta_W_H,1 goto no_W_H cpfseq conta_W_L,1 goto no_W_L bcf PORTJ,6,0 bcf _W_check_time return no_W_L decf conta_W_L,1,1 return no_W_H cpfseq conta_W_L,1 goto no_W_LL decf conta_W_H,1,1 decf conta_W_L,1,1 return no_W_LL decf conta_W_L,1,1 return _X_decrementa_apaga movlw 00h cpfseq conta_X_H,1 goto no_X_H cpfseq conta_X_L,1 goto no_X_L bcf PORTJ,7,0 bcf _X_check_time return no_X_L decf conta_X_L,1,1 return no_X_H cpfseq conta_X_L,1 goto no_X_LL decf conta_X_H,1,1 decf conta_X_L,1,1 return no_X_LL decf conta_X_L,1,1 return

307

Control de Eventos On/Off Ideal para un sistema de iluminación

org 1F000h db " CENTRO DE CONTROL ";1F000h db " DE ";1F014h db " ILUMINACION ";1F028h db "*continuar ";1F03Ch db " Control, y ";1F050h db " Monitoreo ";1F064h db " Independiente ";1F078h db "*entrar #salir";1F08Ch db " Configuracion ";1F0A0h db " del ";1F064h db " Sistema ";1F0C8h db " Control de ";1F0DCh db " temporizacion ";1F0F0h db " del sistema ";1F104h db " 1= 4= 7= ";1F118h db " 2= 5= 8= ";1F12Ch db " 3= 6= 9= ";1F140h db " #salir";1F154h db " *aceptar #borrar";1F168h db " !!FUERA DE RANGO!! ";1F17Ch db " 10= 13= 16= ";1F190h db " 11= 14= 17= ";1F1A4h db " 12= 15= 18= ";1F1B8h db " 19= 22= 25=X ";1F1CCh db " 20= 23= 26=X ";1F1E0h db " 21= 24= 27=X ";1F1F4h db " Deseas cambiar la ";1F208h db "asignacion de teclas";1F21Ch db "a puertos de salida?";1F230h db " Guardar ";1F244h db " Configuracion del ";1F258h db " Sistema ";1F26Ch db "*aceptar #salir";1F280h db " Cargar ULTIMA ";1F294h db " Configurar la ";1F2A8h db "contrasena inicial ";1F26Ch db " del Sistema ";1F2D0h db "*modificar #salir";1F2E4h db " PUERTO = TECLA ";1F2F8h db " #atras";1F30Ch db " !!SIN ACCESO!! ";1F320h db "!!VALOR MODIFICADO!!";1F334h db "!!!!ENCENDIENDO!!!!!";1F348h db "!!!!!!!LUCES!!!!!!!!";1F35Ch db "!!!!!APAGANDO!!!!!!!";1F370h db "Configuracion actual";1F384h db " guardada ";1F398h db " cargada ";1F3ACh db " Configuracion ";1F3C0h db " de SENSORES ";1F3D4h db " de entrada ";1F3E8h db " Hablitar y ";1F3FCh

308

Control de Eventos On/Off Ideal para un sistema de iluminación

db " Deshabilitar ";1F410h db " SENSORES ";1F424h db " Definir puertos ";1F438h db " controlados ";1F44Ch db " por SENSORES ";1F460h db " SENSOR numero: ";1F474h db "1( ) 3( ) 5( ) 7( ) ";1F488h db "2( ) 4( ) 6( ) 8( ) ";1F49Ch db " #salir";1F4B0h db "Puerto por sensor:";1F4C4h db "de puertos, sensores";1F4D8h db " y temporizadores ";1F4ECh db "*SI #NO ";1F500h db " Cargar config. ";1F514h db " por DEFAULT del ";1F528h db " sistema ";1F53Ch db "Config. por default ";1F550h db " ";1F564h db " Definir tiempo ";1F578h db " de apagado ";1F58Ch db " en SENSORES ";1F5A0h db " SENSOR ";1F5B4h db " 10seg 30seg 1min";1F5C8h db " 5min 10min ";1F5DCh db "*cambiar #salir";1F5F0h fin end

309