Sei sulla pagina 1di 6

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERA ELECTRNICA MICROCONTROLADORES AUTOMATIZACIN DE LAS LUCES Y PUERTAS DE UNA VIVIENDA

Ricardo Parada Richardo76@latinmail.com RESUMEN

Carlos Alberto Daz cad7910@hotmail.com

Mario Alexander Caicedo maalcaos@latinmail.com

microcontrolador que ejecute determinadas ordenes. La comunicacin entre el microcontrolador y el computador se realiz a travs del puerto serie. Para ello se utiliz el integrado MAX 232, el cual nos permite realizar la conversin de los niveles lgicos de voltaje entre el puerto serie del computador y el del microcontrolador; y as poder establecer la comunicacin entre estos dos dispositivos. Para el control del puerto serie se utiliz el MODO 1 de funcionamiento del puerto, donde 10 bits son los que se transmiten por la lnea (TxD) o se reciben por lnea (RxD). Un bit de inicio (Start bit de nivel 0 lgico), 8 bits de datos y un bit de fin o de parada (Stop bit de nivel 1 lgico). En la transmisin, los bits de datos utilizados son: 1 bit de la foto-resistencia que indica si es de da o de noche, 2 bits de los finales de carrera de los motores que abren y cierran las puertas y 3 bits que indican el estado de la iluminacin. Y en la recepcin, es decir, la informacin transmitida por el PC al uC, los bits de datos utilizados son: 3 bits para el control de la iluminacin y 2 bits para el control de las puertas. La etapa de potencia de los motores dc, se realizo mediante un puente H. Y la sensorica se llevo a cabo mediante un diodo infrarrojo, un foto-transistor y comparador de voltaje, de tal forma, que se le indica al microcontrolador mediante un 1 lgico que el sensor fue interrumpido. El microcontrolador se programo para realizar el control de dos puertas, en donde, cada puerta tiene dos sensores (uno de entrada y uno de salida) y tres lmparas de una vivienda. A continuacin

Este proyecto lleva cabo la automatizacin de luces y puertas de una vivienda por medio de un microcontrolador AT89C51 que recibe informacin proveniente de sensores infrarrojos colocados en las puertas, la configuracin inicial del sistema se carga por medio de una interfaz grfica desarrollada en el lenguaje de programacin LABVIEW el cual se comunica con el microcontrolador a travs del puerto serial. DESARROLLO OBJETIVOS: Implementar la lgica de control adecuada para que el microcontrolador AT89C51 lleve a cabo el control de las puertas y las luces de una vivienda por medio de sensores infrarrojos. Conocer el funcionamiento del puerto serie del microcontrolador AT89C51. Disear una interfaz por medio del puerto serie para establecer una comunicacin entre el microcontrolador y el computador, el cual establecer los valores iniciales del sistema. DESCRIPCIN DEL SISTEMA El sistema esta compuesto por una interfaz desarrollada en labview, la cual nos permite al momento de su activacin, ver el estado inicial de las puertas (abierta / cerrada), de la iluminacin (on / off) y si es de da o de noche; adems nos permite indicarle al

se hace una descripcin detallada del programa que se implemento en el microcontrolador. DESCRIPCIN DEL PROGRAMA DEL MICROCONTROLADOR $MOD51 $TITLE(CASA AUTOMATIZADA) ORG LJMP 00H 100H

En el registro acumulador se colocan los bits correspondientes a los fines de carrera de los dos motores y al sensor que incdica si es de dia o de noche, tomndolos del puerto 1 con una operacin lgica and. ;---------SE COMUNICA CON EL PC---------------------------------------------;----------ENVIA DATOS---------MOV SCON,#40H Configura puerto serie en el modo 1 de transmisin MOV TH1,#0FDH MOV TL1,#0FDH Configura la tasa de baudios a 9600 con el timer 1 MOV TMOD,#20H Configura el timer en el modo 2 como temporizador MOV TCON,#40H Habilita el timer 1

Salta a la direccin 100H donde comienza el programa ORG 0023H Aqui se ubica la interrupcin del puerto serie direccin 23H SETB C ANL C,SCON.1 JNC RCC Si el bit 1 del registro SCON el cual es el indicador de la interrupcin del Puerto serie por transmisin TI es cero salta a la etiqueta RCC sino continua el flujo normal CLR SCON.1

MOV IE,#90H Si la interrupcin fue por transmisin se clarea el indicador correspondiente LJMP UK Salta a la etiqueta UK RCC: MOV A,SBUF MOV P0,A CLR RI MOV SBUF,A Coloca el dato de los sensores en el registro SBUF para ser transmitido ESPTR1: JNB SCON.1,ESPTR1 Espera que se active el indicador de la interrupcin del puerto serie por transmisin , la cual sucede junto con el bit de stop. ;---------RECIBE DATOS-------MOV SCON,#50H Configura puerto serie en el modo 1 de recepcin MOV TH1,#0FDH MOV TL1,#0FDH Configura la tasa de baudios a 9600 con el timer 1 Habilita interrupciones, desenmascara la interrupcin del puerto serie

Si la interrupcin fue por recepcin se toma el dato del registro SBUF, se coloca en el puerto de salida correspondiente y se clarea el indicador correspondiente UK: RETI Retorna de la interrupcin. ORG 100H

;------------------------LEE LOS SENSORES-------------------------------------------------INI: MOV A,P1 ANL A,#0C1H MOV R1,A

MOV TMOD,#20H Configura el timer en el modo 2 como temporizador CLR TCON.7 MOV IE,#90H Habilita interrupciones, desenmascara la interrupcin del puerto serie MOV TCON,#40H

JNC

EL1

Espera por la seal del fin de carrera para detener el motor CLR CLR P0.3 P0.4

Detiene el motor ACALL RED2 Demora un tiempo la puerta abierta

Habilita el timer 1 ESPTR2: JNB SCON.0,ESPTR2 Espera que se active el indicador de la interrupcin del puerto serie por transmisin , la cual sucede junto con el bit de stop. SGU: Hace un retardo de tiempo mientras se cierra la puerta ;-------EJECUTA LAS ORDENES DEL PC----------------------------------------MOV R0,A ANL P0,#07H Clarea los bits encargados de manejar los motores ANL A,#08H JNZ EL1 Revisa si el tercer bit recibido es cero o uno, si es cero no hace nada, si es uno salta a la rutina que abre la puerta PL2: MOV A,R0 ANL A,#10H JNZ EL2 EL2: CLR CLR P0.3 P0.4 SETB P0.4 CLR P0.3 Pone a funcionar el motor para cerrar la puerta ACALL RED1

Detiene el motor LJMP PL2

Salta a la etiqueta PL2 SETB P0.5 CLR P0.6

Pone a funcionar el motor para abrir la puerta SETB C ANL C,P1.6 JNC EL2 Espera por la seal del fin de carrera para detener el motor CLR CLR P0.5 P0.6

Revisa si el cuarto bit recibido es cero o uno, si es cero no hace nada, si es uno salta a la rutina que abre la puerta LJMP LGC Salta a la etiqueta LGC EL1: SETB P0.3 CLR P0.4

Detiene el motor ACALL RED2 Demora un tiempo la puerta abierta Pone a funcionar el motor para abrir la puerta SETB C ANL C,P1.7 SETB P0.6 CLR P0.5 Pone a funcionar el motor para cerrar la puerta

ACALL RED1 Hace un retardo de tiempo mientras se cierra la puerta CLR CLR P0.5 P0.6

RETN3: SETB C ANL C,P1.4 JC OUTCUARTO2 Si se activa el segundo infrarrojo del cuarto2 quiere decir que alguien quiere salir cuarto2 por lo tanto salta a la rutina que abre la puerta LJMP LGC

Detiene el motor LGC: ;--------------LOGICA DE CONTROL IMPLEMENTADA---------------------SETB C ANL C,P1.0 JNC DEDIA MOV R3,#01H LJMP FR DEDIA: MOV R3,#00H CLR P0.0 CLR P0.1 CLR P0.2 MOV R7,#00H MOV R2,#00H Si el sensor que indica si es de da o de noche P1.0 es uno indica que es de noche y para indicar esto se coloca R3 en uno. Si el sensor est en cero indica que es de da y por lo tanto se apagan las luces y se clarean los contadores de las personas que entran y salen de los cuartos. FR: SETB C ANL C,P1.1 JC INCUARTO1 Si se activa el primer infrarrojo del cuarto1 quiere decir que alguien quiere entrar al cuarto1 por lo tanto salta a la rutina que abre la puerta RETN: SETB C ANL C,P1.2 JC OUTCUARTO1 Si se activa el segundo infrarrojo del cuarto1 quiere decir que alguien quiere salir del cuarto1 por lo tanto salta a la rutina que abre la puerta RETN2: SETB C ANL C,P1.3 JC INCU2 Si se activa el primer infrarrojo del cuarto2 quiere decir que alguien quiere entrar al cuarto2 por lo tanto salta a la rutina que abre la puerta

Salta a la etiqueta al comienzo de la lgica de control INCU2: LJMP INCUARTO2

OUTCUARTO1: SETB P0.3 CLR P0.4 SETB C ANL C,P1.7 JNC OUTCUARTO1 CLR P0.3 CLR P0.4 INF1A: SETB C ANL C,P1.2 JNC ARR1 SETB C ANL C,P1.1 JNC INF1A CJNE R7,#01H,OTR1 CLR P0.0 OTR1: DEC R7 ACALL RED2 ARR1: SETB P0.4 CLR P0.3 ACALL RED1 CLR P0.3 CLR P0.4 LJMP RETN2 Rutina que abre la puerta1 cuenta el numero de personas que estn dentro, y apaga la luz si es la ultima persona que sale del cuarto INCUARTO1: SETB P0.3 CLR P0.4 SETB C ANL C,P1.7 JNC INCUARTO1 CLR P0.3 CLR P0.4 INF1B: SETB C ANL C,P1.1 JNC ARR2 SETB C ANL C,P1.2 JNC INF1B CJNE R7,#00H,OTR CJNE R3,#01H,OTR

SETB P0.0 INC R7 ACALL RED2 ARR2: SETB P0.4 CLR P0.3 ACALL RED1 CLR P0.3 CLR P0.4 LJMP RETN OTR: Rutina que abre la puerta1 cuenta el numero de personas que estn dentro, enciende la luz si es la primera persona que entra al cuarto y es de noche. OUTCUARTO2: SETB P0.5 CLR P0.6 SETB C ANL C,P1.6 JNC OUTCUARTO2 CLR P0.5 CLR P0.6 INF2A: SETB C ANL C,P1.4 JNC ARR3 SETB C ANL C,P1.3 JNC INF2A CJNE R2,#01H,OTR2 CLR P0.1 OTR2: DEC R2 ACALL RED2 ARR3: SETB P0.6 CLR P0.5 ACALL RED1 CLR P0.5 CLR P0.6 LJMP LGC Rutina que abre la puerta2 cuenta el numero de personas que estn dentro, y apaga la luz si es la ultima persona que sale del cuarto INCUARTO2: SETB P0.5 CLR P0.6 SETB C ANL C,P1.6 JNC INCUARTO2 CLR P0.5 CLR P0.6 INF2B: SETB C ANL C,P1.3 JNC ARR4 SETB C ANL C,P1.4 JNC INF2B CJNE R2,#00H,OTR3 CJNE R3,#01H,OTR3 SETB P0.1

OTR3:

INC R2 ACALL RED2 ARR4: SETB P0.6 CLR P0.5 ACALL RED1 CLR P0.5 CLR P0.6 LJMP RETN3 Rutina que abre la puerta2 cuenta el numero de personas que estn dentro, enciende la luz si es la primera persona que entra al cuarto y es de noche ;--------SUBRUTINAS DE RETARDOS-------------------------------RED1: MOV R4,#0FAH AL2: MOV R5,#32H AL1: MOV R6,#32H AM: DJNZ R6,AM DJNZ R5,AL1 DJNZ R4,AL2 RET Retardo para temporizar el tiempo que dura cerrndose la puerta RED2: AL21: AL11: AM1: MOV R4,#0FFH MOV R5,#32H MOV R6,#32H DJNZ R6,AM1 DJNZ R5,AL11 DJNZ R4,AL21 RET

Retardo para temporizar el tiempo que dura abierta la puerta. END PROGRAMA EN LABVIEW El panel frontal del programa en LABVIEW es el siguiente:

El diagrama de bloques del programa es el siguiente:

El frame 0

BIBLIOGRAFA GONZALEZ VASQUEZ, JOSE ADOLFO. Introduccin a los microcontroladores, Hardware, software y aplicaciones. Mc Graw-Hill. MANUEL SANCHEZ RAYA, Introduccin al 8051 (PDF) Escuela Politcnica Superior Universidad de Huelva.

El frame 1

Dr ALEJANDRO VEGA S, Manual del microcontrolador 8051 (PDF).

CONCLUSIONES Al realizar el control a una gran cantidad de variables que intervienen en un proceso, el C 89C51 nos facilita esta tarea, debido a sus tres puertos, los cuales se pueden configurar como de entrada o de salida y un puerto de control. El puerto serie del C 89C51 presenta cuatro diferentes modos de configuracin, los cuales le van ha permitir trabajar o comunicarse con otro dispositivo implementando cualquier protocolo de comunicacin por va serial. Se presentaron mltiples inconvenientes en el sincronismo del C con el PC; a pesar que la tasa de transferencia era la misma (9600 baudios/seg), debido a que es difcil determinar cuando Labview vuelve a muestrear el puerto serie. Se debe aislar los puertos de salida del C con los circuitos de potencia de los motores, o de lo contrario se corre el riesgo de daar el C .

C interprete Para que el correctamente la informacin proveniente de los sensores; los niveles lgicos alto y bajo debe ser aproximadamente entre 4.5V y 3V y de 0V a 1V respectivamente; o de lo contrario la lectura de estos ser erronea.

Potrebbero piacerti anche