ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Sistema De Seguridad Con PIC18f4550

Foller7 de Abril de 2014

2.543 Palabras (11 Páginas)1.175 Visitas

Página 1 de 11

UNIVERSIDAD DEL VALLE

´´BOLIVIA´´

INFORME # 10

TRABAJO # 10

INGENIERIA DE

TELECOMUNICACIONES

MICROPROCESADORES I

ALUMNOS:

MAMANI ESTAY CARLA GIOVANNA

MELEAN ZAPATA MARCO ANTONIO

VARGAS ÁLVAREZ DANIEL ALI

LOPEZ ALFARO FREDDY

PARALELO: 6º Semestre

FECHA: 28 / 11 / 2013

LA PAZ - BOLIVIA

INFORME Nº 10

SISTEMA DE SEGURIDAD CON INTERRUPCIONES EN MIKROC

OBJETIVOS

- Diseñar software y hardware de un sistema de seguridad en MickroC

- Emplear las interrupciones del microcontrolador para montar las alarmas a ser activadas

OBJETIVO DE LA PRUEBA

Programar un algoritmo empleando las interrupciones del microcontrolador, además de generar una alerta tanto visual en una pantalla LCD como sonora (mediante un buzzer) y el uso de un teclado matricial para introducir una contraseña que finalizará la alerta.

MARCO TEORICO

Microcontrolador PIC

Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument.

El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz periférico).

El PIC original se diseñó para ser usado con la nueva CPU de 16 bits CP16000. Siendo en general una buena CPU, ésta tenía malas prestaciones de entrada y salida, y el PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de E/S a la CPU. El PIC utilizaba microcódigo simple almacenado en ROM para realizar estas tareas; y aunque el término no se usaba por aquel entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.

Programación del PIC

El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto se denomina el código ejecutable y está compuesto por una serie de ceros y unos, aparentemente sin significado. Dependiendo de la arquitectura del microcontrolador, el código binario está compuesto por palabras de 12, 14 o 16 bits de anchura. Cada palabra se interpreta por la CPU como una instrucción a ser ejecutada durante el funcionamiento del microcontrolador. Todas las instrucciones que el microcontrolador puede reconocer y ejecutar se les denominan colectivamente Conjunto de instrucciones. Como es más fácil trabajar con el sistema de numeración hexadecimal, el código ejecutable se representa con frecuencia como una serie de los números hexadecimales denominada código Hex. En los microcontroladores PIC con las palabras de programa de 14 bits de anchura, el conjunto de instrucciones tiene 35 instrucciones diferentes

Display LCD

Una pantalla de cristal líquido o LCD (sigla del inglés liquid crystal display) es una pantalla delgada y plana formada por un número de píxeles en color o monocromos colocados delante de una fuente de luz o reflectora. Tiene la capacidad de mostrar cualquier carácter alfanumérico, permitiendo representar la información que genera cualquier equipo de una forma fácil y económica.

Las principales características de la pantalla son:

• Consumo muy reducido, del orden de 7,5mW

• Pantalla de caracteres ASCII, además de los caracteres Japoneses Kanji, caracteres Griegos y símbolos matemáticos.

• Desplazamiento de los caracteres hacia la izquierda o a la derecha.

• Memoria de 40 caracteres por línea de pantalla, visualizándose 16 caracteres por línea.

• Movimiento del cursor y cambio de su aspecto.

• Permite que el usuario pueda programar ocho caracteres.

• Pueden ser gobernados mediante conexión con bus de 4 u 8 bits.

Teclado Matricial

Un teclado matricial es un conjunto de botones (switches) dispuestos en forma de malla, de modo que no se requieran de muchas líneas para su interface. De hecho, la mayoría de los teclados (incluyendo quizá el de tu computadora) funciona con una estructura similar. En esta práctica trabajaremos con un teclado de 4×4.

Como se aprecia en la siguiente imagen, cada botón del teclado está conectado a alguna de las filas Row, por un lado; y por el otro, a alguna de las columnas Col.

Figura 1. Esquemático de un teclado matricial

Fuente: www.cursomicros.com/pantalla_lcd.htm

Por ejemplo, al presionar la tecla ‘6’ se unen las líneas Row 1 y Col 2. O sea, si sacamos un 1 (ó 0) por el pin de Row 1, también deberíamos leer un 1 (ó 0) en el pin de Col 2, o viceversa. Generalizando, solo hay un par Row-Col que identifica cada tecla.

En consecuencia, para saber cuál fue la tecla pulsada debemos sondear una a una todas las combinaciones Row-Col. Una vez detectada la condición de circuito cerrado, se usa el par Row-Col para deducir la posición de la tecla pulsada.

Decodificador

Un decodificador o descodificador es un circuito combinacional, cuya función es inversa a la del codificador, esto es, convierte un código binario de entrada (natural, BCD, etc.) de N bits de entrada y M líneas de salida (N puede ser cualquier entero y M es un entero menor o igual a 2N), tales que cada línea de salida será activada para una sola de las combinaciones posibles de entrada. Estos circuitos, normalmente, se suelen encontrar como decodificador / demultiplexor. Esto es debido a que un demultiplexor puede comportarse como un decodificador.

Si por ejemplo tenemos un decodificador de 2 entradas con 22=4 salidas, su funcionamiento sería el que se indica en la siguiente tabla, donde se ha considerado que las salidas se activen con un "uno" lógico:

Tabla de verdad para el decodificador 2 a 4

Entradas Salidas

A B D3 D2 D1 D0

0 0 0 0 0 1

0 1 0 0 1 0

1 0 0 1 0 0

1 1 1 0 0 0

Un tipo de decodificador muy empleado es el de siete segmentos. Este circuito decodifica la información de entrada en BCD a un código de siete segmentos adecuado para que se muestre en un visualizador de siete segmentos.

Interrupción

En el contexto de la informática, una interrupción (del inglés Interrupt Request, también conocida como petición de interrupción) es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.

Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa. Una vez finalizada dicha subrutina, se reanuda la ejecución del programa

El uC PIC18F4550 dispone de 21 fuentes de interrupciones. Se distinguen dos grupos de interrupciones:

Grupo general de interrupciones:

- Interrupción del Temporizador 0

- Interrupción externa 0

- Interrupción externa 1

- Interrupción externa 2

- Interrupción por cambio en PORTB

Grupo de interrupciones de periféricos:

- Interrupción del SPP

- Interrupción de recepción de la EUSART

- Interrupción de transmisión de la EUSART

- Interrupción del MSSP

- Interrupción del A/D

- Interrupción del CCP1

- Interrupción del Temporizador1

- Interrupción de fallo del oscilador

- Interrupción del comparador

- Interrupción del Temporizador 2

- Interrupción de escritura en Flash/EEPROM

- Interrupción de colisión de bus (MSSP)

- Interrupción del detección de anomalías en VDD

- Interrupción del USB

- Interrupción del Temporizador 3

- Interrupción del CCP2

Estas interrupciones se pueden gestionar mediante los registros incorporados en el microcontrolador:

• INTCON: registro general de control y estado.

• En función de los periféricos disponibles por una MCU:

• PIE1, PIE2 (Peripheal Interrupt Enable) habilitan las interrupciones de cada periférico.

• PIR1 y PIR2 (Peripheal Interrupt Flag Registers) identifican el periférico que interrumpe.

Para habilitar las interrupciones en si se emplean dos bits que son los que aseguran un control global de las interrupciones:

GIE/GIEH: Bit de habilitación global de las interrupciones. Su función depende del valor de IPEN:

IPEN=‘0’:

* GIE=‘0’: Interrupciones deshabilitadas a nivel global

* GIE=‘1’: Interrupciones habilitadas a nivel global

IPEN=‘1’:

* GIEH=‘0’: Interrupciones de alta prioridad deshabilitadas a nivel global

* GIEH=‘1’: Interrupciones de alta prioridad habilitadas a nivel global

– PEIE/GIEL: Bit de habilitación global de las interrupciones de periféricos. Su función depende del valor de IPEN:

IPEN=‘0’:

* PEIE=‘0’: Interrupciones de periféricos deshabilitadas a nivel global

* PEIE=‘1’: Interrupciones de periféricos habilitadas a nivel global

IPEN=‘1’:

* GIEL=‘0’: Interrupciones de baja prioridad deshabilitadas a nivel global

* GIEL=‘1’: Interrupciones de baja prioridad

...

Descargar como (para miembros actualizados) txt (17 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com