Vous êtes sur la page 1sur 6

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERIA ELECTRONICA MICROCONTROLADORES CARLOS ALBERTO GUERRERO COD. 160318 alvertoguerrero@latinmail.

com RENE RAMIRO RUBIO COD. 160254 RENATO2160@HOTMAIL.COM RICHAR FABIAN JAIMES COD.160283 rjaimes32@latinmail.com FABIAN SERRANO COD.160 PRESENTADO A: ING. GABRIEL SNCHEZ SUAREZ

SISTEMA DE SEGURIDAD Y CONTROL DE ACCESO MEDIANTE EL MICROCONTROLADOR 8051 RESUMEN El siguiente informe describe el funcionamiento de un sistema de seguridad a travs de el micro controlador 89C51 que permite el acceso a un lugar a 10 usuarios mediante un cdigo de 4 dgitos visualizado en un LCD. Adems implementar una base de datos para controlar el acceso de cada usuario por medio de una interfaz con un servidor (PC), este almacenara los datos como nmero y tiempos de acceso. OBJETIVOS Realizar un programa en lenguaje ensamblador que funcione como base de datos, que permita obtener informacin por medio de el puerto paralelo de el PC proveniente de el micro controlador. Implementar un teclado numrico como entradas a los puertos del microcontrolador. Disear un programa en el microcontrolador 89C51 que permita procesar datos provenientes de le teclado los procese y los visualice en el LCD. Implementar un LCD que servir como interfaz con el usuario. Disear un circuito que reciba una seal de control proveniente de el microcontrolador con la cual se active un motor en sentido de giro hacia la derecha durante un tiempo y luego hacia la izquierda el mismo tiempo, despus debe detenerse. DESARROLLO

Mediante el microcontrolador 89C51 se disear un sistema de seguridad en el que varios usuarios dispondrn de su respectiva clave para ingresar a su sitio de trabajo, activando con esta clave un motor que simular el corrimiento de una puerta. Los datos sern ingresados al microcontrolador a travs de un teclado numrico donde sern procesados y de el cual saldrn las seales con destino al LCD para mostrar los nmeros digitados y generar mensajes de error si la clave es errnea. Cuando la clave es correcta se enviar a travs de uno de los puertos de el microcontrolador los datos referentes de el usuario que ingresa para ser almacenados en una base de datos en el PC, donde puedan ser estudiados en cualquier momento. Tambin se activar un motor que simulara el abrir y cerrar de la puerta de el sitio de trabajo. Se dispondrn de tres oportunidades para digitar la clave correctamente de lo contrario el sistema bloquear el acceso por un instante y enviar una seal de alerta al servidor. DIAGRAMA DE BLOQUES MOTOR
ETAP . DE POTENCIA

TECLADO

MICRO CONTROL

LCD

BASE DE DATOS (PC)

Puertos utilizados del C 89C51: Puerto 0: Puerto 1: Puerto2: Puerto3:

Ing. Gabriel Snchez Surez gsanchez@bari.ufps.edu.co

Componentes:

CRISTAL de 12MHz: para obtener un menor tiempo de ejecucin de cada instruccin, y por ende para obtener mayor frecuencia en la salida. MICROCONTROLADOR 89C51: Se utilizo para guardar y ejecutar el programa de la clave de acceso. LCD: 2 lineas por 16 caracteres utilizado para visualizar cuando la clave es correcta o incorrecta. TECLADO NUMERICO DE 12 CARACTERES: Utilizado para ingresar la clave de cada usuario. PROGRAMA $MOD51 $TITLE(Escriba aqu un ttulo) ;****** ;PUERTO2 ;****** E EQU RS EQU RDB EQU LIBRE EQU D0 EQU D1 EQU D2 EQU D3 EQU coN 01h

MOV CERO,#00H ;limpiar direccion 28h MOV UNO,#01H ;mover direccion 27h con 1 MOV DOS,#02H ;mover direccion 26h con 2 MOV TRES,#03H ;mover direccion 25h con 3 CALL RETARDO5 CALL ;rutina para el lcd MOV DPH,#00H ;carga la direccion de memoria coN 00h MOV DPL,#50H ;carga la direccion de memoria coN 50h CALL MENS1 ;rutina para desplegar el primer mensaje MOV DPH,#01H ;carga la direccion de memoria externa MOV DPL,#00H ;carga la direccion de memoria externa coN 00h CALL MENS2 ;rutina para desplegar el segundo mensaje MODO

P2.3H P2.1H P2.0H P2.2H P2.4H P2.5H P2.6H P2.7H

MOV MOV ;MOV MOV VAGO: CALL MOV JMP ;************** ;RUTINA DE TECLA ;************** INGRESE: MOV R0,P1 MOV R1,P0 CJNE R0,#00H,A1 CJNE R1,#00H,A1 JMP INGRESE A1: MOV A,R0 JNB P1.0,N0 MOV A,#00H CALL GUARDAR JMP SOLTO MOV A,R0 JNB P1.1,N1 MOV A,#01H CALL GUARDAR JMP SOLTO MOV A,R0 JNB P1.2,N2

A,#00H P1,A A,#00H P0,A INGRESE A,R6 VAGO

;****************** ;REGISTROS GENERALES ;****************** TECLA DATO0 DATO1 DATO2 DATO3 TRES DOS UNO CERO EQU EQU EQU EQU EQU EQU EQU EQU EQU ORG JMP ORG INICIO: ;clarear puerto 2 MOV ;limpiar direccion 20h TECLA,#00H 20H 21H 22H 23H 24H 25H 26H 27H 28H 00H INICIO 200H MOV MOV A,#00H P2,A

N0:

N1:

Ing. Gabriel Snchez Surez gsanchez@bari.ufps.edu.co

MOV A,#02H CALL GUARDAR JMP SOLTO N2: MOV A,R0 JNB P1.3,N3 MOV A,#03H CALL GUARDAR JMP SOLTO N3: MOV A,R0 JNB P1.4,N4 MOV A,#04H CALL GUARDAR JMP SOLTO N4: MOV A,R0 JNB P1.5,N5 MOV A,#05H CALL GUARDAR JMP SOLTO N5: MOV A,R0 JNB P1.6,N6 MOV A,#06H CALL GUARDAR JMP SOLTO N6: MOV A,R0 JNB P1.7,N7 MOV A,#07H CALL GUARDAR JMP SOLTO N7: MOV A,R0 JNB P0.0,N8 MOV A,#08H CALL GUARDAR JMP SOLTO N8: MOV A,R0 JNB P0.1,N9 MOV A,#09H CALL GUARDAR JMP SOLTO N9: MOV A,R0 JNB P0.2,N10 MOV A,#0FFH; CALL GUARDAR JMP SOLTO N10: MOV A,R0 JNB P0.3,A23 MOV A,#0FH CALL GUARDAR JMP SOLTO A23: JMP A1 solto: MOV R6,A MOV R2,P1 MOV R3,P0 MOV A,R2 ARG: JNZ ARG MOV A,R3 A11: JNZ A11 RET ;****************************************** ;RUTINA PARA GUARDAR LA TECLA EN SU POSICION

;****************************************** GUARDAR: MOV CJNE MOV MOV CLR JMP CJNE MOV MOV INC RET CJNE MOV MOV INC RET CJNE MOV MOV INC RET A,TECLA A,TRES,SEG0 A,R0 DATO3,A TECLA COMPARE A,DOS,SEG1 A,R0 DATO2,A TECLA A,UNO,SEG2 A,R0 DATO1,A TECLA A,CERO,GUARDAR A,R0 DATO0,A TECLA

SEG0:

SEG1:

SEG2:

;************* ;RUTINA COMPARA ;************* COMPARE: MOV DPH,#00H

MOV DPL,#30H MOV A,#00H MOVC A,@A+DPTR CJNE A,DATO0,INCORRECT MOV DPH,#00H MOV DPL,#31H MOV A,#00H MOVC A,@A+DPTR CJNE A,DATO1,INCORRECT MOV DPH,#00H MOV DPL,#32H MOV A,#00H MOVC A,@A+DPTR CJNE A,DATO2,INCORRECT MOV DPH,#00H MOV DPL,#33H MOV A,#00H MOVC A,@A+DPTR CJNE A,DATO3,INCORRECT CALL CORRECTO SETB P0.6

Ing. Gabriel Snchez Surez gsanchez@bari.ufps.edu.co

LISTO: CALL RETARD CALL RETARD CALL RETARD CALL RETARD ATRAS: JB P0.5,PASO JMP ATRAS PASO: CLR CLR JMP INCORRECT: P0.6 P0.7 INICIO CALL ERROR SETB P0.7 JMP LISTO

RETARDO1: DE 101 MICROSEGUNDOS MOV R0,#25D RTDO1: NOP NOP DJNZ R0,RTDO1 RET RETARDO4: MOV R0,#30H RET4: MOV A,R0 PUSH ACC CALL RETARDO1 POP ACC MOV R0,A DJNZ R0,RET4 RET RETARDO5: MOV RET5: MOV PUSH CALL POP MOV DJNZ RET R0,#80H A,R0 ACC RETARDO1 ACC R0,A R0,RET5

;RETARDO

RETARD: MOV B,#0FFH LOOP2: MOV R3,#0FFH LOOP1: DJNZ DJNZ RET ;****************** ;RUTINAS DE MENSAJES ;****************** ;************** ;RUTINA DE ERROR ;************** ERROR: B,LOOP1 R3,LOOP2

;********************* ;TRANSFIERE AL MODULO ;********************* CONTROL: CLR JMP DATO: SETB C PSW ACC ESCRIBIR ACC A ESCRIBIR PSW IGUAL: PUSH PUSH CALL POP SWAP CALL POP RET ESCRIBIR: ANL MOV CALL MOV CALL SETB CALL CLR CALL SETB CALL RET C IGUAL

MOV MOV CALL MOV MOV CALL RET

DPH,#01H DPL,#20H MENS1 DPH,#01H DPL,#30H MENS2

;***************** ;RUTINA DE CORRECTO ;***************** CORRECTO: MOV MOV CALL MOV MOV CALL RET

DPH,#01H DPL,#50H MENS1 DPH,#01H DPL,#60H MENS2

;************************** ;RUTINAS PARA MANEJO DEL LCD ;************************** ;************* ;RETARDOS ;*************

A,#0F0H P2,A RETARDO1 RS,C RETARDO1 E RETARDO1 E RETARDO1 RS RETARDO1

Ing. Gabriel Snchez Surez gsanchez@bari.ufps.edu.co

;*************************************** ;IMPRIME MENSAJE EN LA LINEA UNO O DOS ;*************************************** MENS1: MOV A,#80H CALL CONTROL JMP EMP MENS2: MOV CALL EMP: MOV A,#0C0H CONTROL R7,#00H A,#00H A,@A+DPTR DATO RETARDO5 DPTR R7 R7,#014H,REPET Explicacin: El programa del 89c51 ha sido realizado a base de subrutinas que permiten ser llamadas en el momento que sea necesario. El programa comienza en la direccin de memoria 200h, all se empieza clareando los puertos a utilizar, luego se asignan unos valores a diferentes direcciones de memoria ram del micro para ser utilizados. Call modo es una subrutina que permite inicializar el display para empezar a desplegar mensajes. Luego se direcciona la posicin de memoria interna con DPTR donde se tiene el primer mensaje a desplegar bienvenidos de la misma manera se direcciona lsa posicin de memoria del segundo mensaje digite su clave. Se posiciona el cursor del display en la fila dos de la primera casilla y se da paso al ingreso de datos de la clave por teclado . La funcion INGRESE es la que permite almacenar un numero de cuatro digitos proveniente del puerto para luego ser comparado con la clave almacenada. La rutina compare es llamada en el momento que se han digitado los cuatro numeros esta permite la llamada a dos mensajes, cuando alguno de los digitos no son iguales interviene la subrutina que envia el mensaje de error CLAVE INCORRECTA cuando todos los 4 digitos concuerdan envia el mensaje CLAVE CORRECTA y a su vez envia un bit en estado alto por el puerto para ser tomado como seal que permita abrir la puerta CONCLUSIONES El uso del LCD es muy til en dispositivos en donde la comunicacin con el usuario es indispensable para el desarrollo correcto de sistemas de control o de automatizacin. El acoplamiento entre un buen programa y los dispositivos adecuados permiten el diseo y optimizacin de cualquier sistema desarrollado para el servicio del ser humano con un buen grado de miniaturizacin y ahorro de espacio cuando usamos microcontroladores. Es necesario comprender perfectamente la forma de enlazar dispositivos de entrada o salida a los puertos del microcontrolador, as como las seales de control que son necesarias

REPET: MOV MOVC CALL CALL INC INC CJNE

RET ;************************** ;MODO DE OPERACION A 4 BITS ;************************** MODO: MOV 4 BITS CALL CALL MOV CALL CALL CALL CALL MOV CALL CALL MOV CALL CALL MOV MENSAJE FIJO CALL CALL MOV CALL CALL MOV CALL CALL RET END CONTROL RETARDO4 A,#01H ;LIMPIAR PANTALLA CONTROL RETARDO4 MOV A,#01H CONTROL RETARDO4 A,#28H ;MODO 4 BITS CONTROL RETARDO4 A,#0CH ;ACTIVAR PANTALLA CONTROL RETARDO4 A,#06H ;ESCRIBE DE IZQ CONTROL RETARDO4 A,#01H CONTROL RETARDO4 A,#01H CONTROL RETARDO4 A,#28H ;MODO DE CONTROL

Ing. Gabriel Snchez Surez gsanchez@bari.ufps.edu.co

generar desde el mismo y hacia el mismo para el buen desarrollo de un sistema en general . Con lenguajes como en el ensamblador se puede apoyar o ampliar los programas almacenados en el micro con el fin de obtener un dispositivo ms completo y eficiente BIBLIOGRAFIA Manual del Microcontrolador 8051 Dr. Alejandro Vega S.

http://www.abcdatos.com/tutoriales/tutorial/l9745. html

http://www.abcdatos.com/tutoriales/electr onicayelectricidad/electronica/microcontr oladorespic.html. http://www.monografias.com/trabajos12/ micrcont/micrcont.shtml

Ing. Gabriel Snchez Surez gsanchez@bari.ufps.edu.co

Vous aimerez peut-être aussi