Sunteți pe pagina 1din 19

MICROCONTROLADORES

Electrnica Prctica no poda dejar atrs este importante elemento electrnico que ha revolucionado en todo el mundo, y podramos decir que actualmente es el ms utilizado por la versatilidad de manejo y las portentosas ventajas que posee.
El primer paso importante es ver el diagrama de pines del PIC16F84, en el cual se observa cmo estn distribuidos sus pines. Este circuito integrado cuenta con 2 puertos configurables como entradas o salidas segn sea el caso, y consta de 18 patas las cuales se encuentran asignadas de la siguiente manera:
Pin 1 Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 Pin 7 Pin 8 Pin 9 - Bit 3 del Puerto A (RA2) - Bit 4 del Puerto A (RA3) - Bit 5 del Puerto A (RA4) - MCLR o Reset del PIC - Tierra (GND) Bit 1 del Puerto B (RB0) Bit 2 del Puerto B (RB1) Bit 3 del Puerto B (RB2) Bit 4 del Puerto B (RB3) Bit 5 del Puerto B (RB4) Bit 6 del Puerto B (RB5) Bit 7 del Puerto B (RB6) Bit 8 del Puerto B (RB7) Alimentacin BBC OCS 2 OCS 1 Bit 1 del Puerto A (RA0) Bit 1 del Puerto A (RA0)

registros diseados para tal fin. En ese registro un "0" configura el pin del puerto correspondiente como salida y un "1" lo configura como entrada. - PUERTO A
RA0, RA1, RA2, RA3 y RA4 RA1, RA2, y RA3 = Pines de Entrada / salida (TTL). RA4/TOCKI = Pin de Entrada / salida o entrada de Reloj Externo para el TMR0, cuando este pin se configura como salida es de tipo Open Drain (ST), cuando funciona como salida se debe conectar a BBC (+5V) a travs de una resistencia.

- PUERTO B
RB0/INT = Pin de Entrada / salida o entrada de interrupcin externa. (TTL/ST). RB1, RB2, RB3 = Pines de Entrada / salida (TTL). RB4, RB5, RB6, RB7 = Pines de Entrada / salida con Interrupcin por cambio de Flanco (TTL).

Pin 10 Pin 11 Pin 12 Pin 13 Pin 14 Pin 15 Pin 16 Pin 17 Pin 18 -

- PINES ADICIONALES
MCLR = Pin de Reset del Microcontrolador (Master Clear). Se activa (el PIC se resetea) cuando tiene un "0" lgico en su entrada. Vss = Ground o Tierra VDD = Fuente Positiva (+5V) OSC2/CLKOUT = Entrada del Oscilador del Cristal. Se conecta al Cristal o Resonador en modo XT (Oscilador de Cristal). En modo RC (Resistencia - Condensador), este Pin acta como salida el cual tiene 1/4 de la frecuencia que entra por el Pin OCS1/CLKIN. OSC1/CLKIN = Entrada del Oscilador del Cristal / Entrada de reloj de una Fuente Externa.

Tabla 1

Los PUERTOS son el puente entre el microcontrolador y el mundo exterior. Son lneas digitales que trabajan entre cero y cinco voltios y pueden ser configuradas como entradas o como salidas. El PIC 16F84 tiene dos puertos. El puerto A con 5 lneas y el puerto B con 8 lneas. Cada pin se puede configurar como entrada o como salida independientemente, programado por un par de

El Puerto B posee internamente unas resistencias pull-up conectadas a sus pines (sirven

MICROCONTROLADORES
para fijar el pin a un nivel de cinco voltios); su uso puede ser habilitado o deshabilitado bajo control del programa. Todas las resistencias de pull-up se conectan o desconectan a la vez. La resistencia de pull-up es desconectada automticamente en un pin si este se programa como salida. El pin RB0/INT se puede configurar por software, para que funcione como interrupcin externa. El pin RA4/TOCKI del puerto A puede ser configurado como un pin de entrada / salida como se mencionaba anteriormente o como entrada del temporizador / contador. Cuando este Pin se programa como entrada digital, funciona como un disparador de Schmitt (Schmitt trigger, ST); esto quiere decir que puede reconocer seales un poco distorsionadas y llevarlas a niveles lgicos (cero y cinco voltios). Cuando se usa como salida digital se comporta como colector abierto, por lo tanto se debe poner una resistencia de pull-up (resistencia externa conectada a un nivel lgico de cinco voltios). Como salida, la lgica es inversa: un "0" escrito al Pin del puerto entrega en el Pin un "1" lgico. Adems como salida no puede manejar cargas como fuente, slo en el modo sumidero. Como este dispositivo es de tecnologa CMOS, todos los pines deben estar conectado a alguna parte. Se recomienda no dejarlos al aire por que se puede daar el integrado. La mxima capacidad de corriente de cada uno de los pines de los puertos en modo sumidero (sink) es de 25 mA y en modo fuente (source) es de 20 mA. El consumo de corriente del microcontrolador, para su funcionamiento, depende del voltaje de operacin, la frecuencia y de las cargas que tengan sus pines. CARACTERISTICAS ESPECIALES Algunos elementos que forman parte de los PIC no se encuentran en microcontroladores de otros fabricantes, o simplemente representan alguna ventaja o facilidad a la hora de hacer un diseo. A continuacin una corta descripcin de las ms significativas. - CIRCUITO DE VIGILANCIA (Watchdog Timer) Su funcin es restablecer el programa cuando ste se ha perdido por fallas en la programacin o por alguna razn externa. Cuando se habilita su funcionamiento, dicho circuito hace que el microcontrolador sufra un Reset cada determinado tiempo (que se puede programar entre 18 ms y 2 segundos). Este Reset lo puede evitar el usuario mediante una instruccin especial del microcontrolador (CLRWT que borra el contenido del Watchdog), la cual se debe ejecutar antes de que termine el periodo nominal de dicho temporizador (cuando se acabe el tiempo programado y no se haya borrado el contador) y el programa puede restablecerse para continuar con su funcionamiento normal. - TEMPORIZADOR DE ENCENDIDO (Power-up Timer) ste proporciona un Reset al microcontrolador en el momento de conectar la fuente de alimentacin, lo que garantiza un arranque correcto del sistema. En el momento de grabar el microcontrolador se debe habilitar el fusible de configuracin "Power-up Timer", para ello se debe seleccionar "ON". Su tiempo de retardo es de 72 milisegundos. - MODO DE BAJO CONSUMO (Sleep) Esta caracterstica permite que el microcontrolador entre en un estado pasivo donde consume muy poca potencia. Cuando se entra en este modo, el oscilador principal se detiene, pero el temporizador del circuito de vigilancia (Watchdog) se reinicia y empieza su conteo nuevamente. Se entra en ese estado por la ejecucin de una instruccin especial (llamada SLEEP) y se sale de l cuando el microcontrolador sufre un reset por un pulso en el pin MCLR, porque el Watchdog hace que se reinicie el sistema o porque ocurre una interrupcin al sistema. - INTERRUPCIONES Este microcontrolador incluye el manejo de interrupciones, lo cual representa grandes ventajas. El PIC16F84 posee cuatro formas de interrupcin que son:
Interrupcin externa en el pin RB0/INT Finalizacin del temporizador / contador TMR0 Finalizacin de escritura en la EEPROM de datos Cambio de estado en los pines RB4 a RB7

El registro 0Bh o INTCON contiene las banderas de las interrupciones INT, cambio en el puerto B y finalizacin del conteo del TMR0, al igual que el control para habilitar o deshabilitar cada una de las fuentes de interrupcin, incluida la de escritura de la memoria EEPROM. Slo la bandera de finalizacin de la escritura reside en el registro 88h o EECON1. Si el bit GIE (Global Interrup Enable) se coloca en 0, deshabilita todas las interrupciones. Cuando una interrupcin es atendida, el bit GIE se coloca en 0 automticamente para evitar interferencias con otras interrupciones que se pudieran presentar. La direccin de retorno se coloca en la pila, y el PIC se carga con la direccin 04h. Una vez en la rutina de servicio, la fuente de interrupcin se puede determinar examinando las banderas de interrupcin.

MICROCONTROLADORES
La bandera respectiva se debe colocar, por software, en cero, antes de regresar de la interrupcin, para evitar que se vuelva a detectar nuevamente la misma interrupcin. La instruccin RETFIE permite al usuario retornar de la interrupcin, a la vez que habilita de nuevo las interrupciones, al colocar el bit GIE en uno. Interrupcin Externa. Acta sobre el Pin RB0/INT y se puede configurar para activarse con el flanco de subida o el de bajada, de acuerdo al bit INTEDG (Interrup Edge Select Bit, localizado en el registro OPTION). Cuando se presenta un flanco vlido en el pin INT, la bandera INTF (INTCON) se coloca en uno. La interrupcin se puede deshabilitar colocando el bit de control INTE (INTCON) en cero. Cuando se atiende la interrupcin, a travs de la rutina de servicio INTF, se debe colocar en cero antes de regresar al programa principal. La interrupcin puede reactivar al microcontrolador despus de la instruccin SLEEP, si previamente el bit INTE fue habilitado Interrupcin por finalizacin de la temporizacin. La superacin del conteo mximo (0FFh) en el TMR0 colocara el bit TOIF (INTCON) en uno. El bit de control respectivo es TOIE (INTCON). Interrupcin por cambio en el puerto RB. Un cambio en los pines del puerto B (RB4 a RB7) colocar en uno el bit RBIF (INTCON). El bit de control respectivo es RBIE (INTCON). Interrupcin por finalizacin de escritura. Cuando la escritura de un dato en la EEPROM finaliza, se coloca en 1 el bit EEIF (EECON1). El bit de control respectivo es EEIE (INTCON). - MEMORIA DE DATOS DE LA EEPROM El PIC 16F84 tiene una memoria EEPROM de datos de 64 posiciones (00h a 3Fh), de 8 bits cada una. Este bloque de memoria no se encuentra mapeado en ningn banco, el acceso a esas posiciones se consigue a travs de dos registros de la RAM: El registro EEADR (posicin 09), debe contener la direccin de la posicin de la EEPROM a ser accesada. El registro EEDATA (posicin 08), que contiene el dato de 8 bits que se va a escribir o el que se obtuvo de la ltima lectura. Adicionalmente, existen dos registros de control: el EECON1 (88h), que posee cinco bits que manejan las operaciones de lectura / escritura y el EECON2 (89h), que aunque no es un registro fsico, es necesario para realizar las operaciones de escritura. La lectura toma un ciclo de reloj de instrucciones, mientras que la escritura, por ser controlada por un temporizador incorporado, tiene un tiempo nominal de 10 milisegundos, este tiempo puede variar con la temperatura y el voltaje. Cuando se va a realizar una operacin escritura, automticamente se hace primero operacin de borrado. El nmero tpico de ciclos borrado / escritura de la EEPROM de datos es 1.000.000. - FUSIBLES DE CONFIGURACIN El PIC 16F84 posee cinco fusibles, cada uno de los cuales es un bit. Estos fusibles se pueden programar para seleccionar varias configuraciones del dispositivo: tipo de oscilador, proteccin de cdigo, habilitacin del circuito de vigilancia y el temporizador al encendido. Los bits se localizan en la posicin de memoria 2007h, posicin a la cual el usuario slo tiene acceso durante la programacin del microcontrolador. Cuando se programa la proteccin del cdigo, el contenido de cada posicin de la memoria no se puede leer completamente, de tal manera que el cdigo del programa no se puede reconstruir. Adicionalmente, todas las posiciones de memoria del programa se protegen contra la reprogramacin. Una vez protegido el cdigo, el fusible de proteccin solo puede ser borrado (puesto a 1) si se borra toda la memoria del programa y la de datos. de la de de

FIGURA

MICROCONTROLADORES
SET DE INSTRUCCIONES PARA EL PIC 16F84 Sintaxis
ADDLW k ADDWF f,d ANDLW k ANDWF f,d BCF f,b BSF f,b BTFSC f,b BTFSS f,b CALL k CLRF f CLRW CLRWDT COMF f,d DECF f,d DECFSZ f,d GOTO k INCF f,d INCFSZ f,d IORLW k IORWF f,d MOVLW k MOVF f,d MOVWF f NOP OPTION RETFIE RETLW k RETURN RLF f,d RRF f,d SLEEP SUBLW k SUBWF f,d SWAPF f TRIS f XORLW k XORWF f,d

Descripcin Microchip
Add Literal and W Add W and f AND Literal with W AND W with f Bit Clear f Bit Set f Bit Test f, Skip if Clear Bit Test f, skip if Set Subroutine Call Clear f Clear W Register Clear Watchdog Timer Complement f Decrement f Decrement f, Skip if 0 Go to address Increment f Increment f, Skip if 0 Inclusive OR Literal with W Inclusive OR W with f Move literal to W Move f Move W to f No Operation Load Option Register Return from Interrupt Return Literal to W Return from Subroutine Rotate Left f through Carry Rotate Right f through Carry Go into Standby Mode Subtract W from Literal Subtract W from f Swap f Load TRIS Register Exclusive OR Literal with W Exclusive OR W with f

Operacin equivalente
W=W+k d = W + f (donde d puede ser W f) W = W AND k d = W AND f (donde d puede ser W f) f(b) = 0 f(b) = 1 f(b) = 0 ? Si, salta la siguiente instruccin f(b) = 1 ? Si, salta la siguiente instruccin Llama a la subrutina en la direccin k f=0 W=0 Watchdog timer = 0 d = not f (donde d puede ser W f) d = f -1 (donde d puede ser W f) d = f -1 (donde d puede ser W f) si d = 0 salta Salto incondicional a la direccin k d = f +1 (donde d puede ser W f) d = f +1 (donde d puede ser W f) si d = 0 salta W = W OR k d = f OR W (donde d puede ser W f) W=k d = f (donde d puede ser W f) f=W No operacin OPTION = W Retorna de una subrutina de interrupcin Retorna de una subrutina con W = k Retorna de una subrutina d = f << 1 (donde d puede ser W f) d = f >> 1 (donde d puede ser W f) Pone el PIC en standby W=k-W d = f - W (donde d puede ser W f) f = Swap Intercambia los bit 0123 con 4567 de f TRIS de f = W W = W XOR k d = f XOR W (donde d puede ser W f)

Tabla 2 .- Set de Instrucciones del PIC 16F84

ESTRUCTURA GENERAL DE UN PROGRAMA EN ENSAMBLADOR. En un programa escrito en lenguaje ensamblador, adems de las 35 instrucciones que interpreta el procesador tambin se colocan directivas, que son comandos para realizar ciertas operaciones con el programa. A continuacin, se comenta en relacion a las partes que generalmente hay en un programa: 1.Modelo de numeracin. procesador y sistema de

Lo usual es emplear el sistema hexadecimal, en el que los valores se expresan precedidos de 0x. En los ejemplos que se desarrollarn a lo largo del tema comenzaremos el programa ensamblador con las siguientes directivas (detrs del punto y coma se pueden aadir comentarios)
List P=16F84 microcontrolador PIC16F84 Radix hex. ;Se utiliza el ;Se usar el sistema hexadecimal

2. Variables Las posiciones de la memoria de datos se utilizan para guardar operandos y resultados, adems de almacenar registros especiales. Para que al programador le sea ms sencillo confeccionar el programa, en lugar de hacer referencia a las posiciones de la memoria donde se encuentran los

Los programas comienzan con la directiva list que referencia el modelo de microcontrolador. Tambin se suele especificar el tipo de numeracin que se emplear con la directiva radix.

MICROCONTROLADORES
datos que va a emplear, a cada una de estas posiciones se le asocia un nombre. La directiva equ relaciona un nombre con la direccin que se asigna, as el programador trabaja con nombres y el compilador traduce automticamente stos a las direcciones correspondientes. Por ejemplo el registro que contiene la informacin de estado se encuentra en la direccin 0x03, el puerto de entrada A en 0x05, etc.. Si queremos emplear nombres de variables para estas direcciones de memoria escribiramos:
STATUS equ 0x03 ;ESTADO est asociada a la direccin 0x03 . PORTA equ 0x05 ;PUERTAA est asociada a la direccin 0x05.

estas partes (como INICIO en el ejemplo anterior). Las siguientes columnas contienen el campo de instrucciones, el campo de datos y el campo de comentarios. Los comentarios comienzan con ; ). Al final del programa se coloca la directiva end.

EJEMPLO DE APLICACION

;Este pequeo ejemplo que se muestra a ;continuacin tiene la finalidad de reflejar en el ;Puerto B (RB0 a RB4) el estado de los; Switch, ;que se encuentran conectados a los pines del ;puerto A.

3. Origen del programa. Antes de comenzar a escribir instrucciones de mquina debe definirse la direccin de la memoria de programa a partir de la cual se desea comenzar a cargar el programa. Para ello se emplea la directiva org. En los PIC el origen del programa siempre se pone en la direccin 0x00 porque es donde comienza a ejecutarse el programa despus de hacer un Reset. Definiremos el origen de la siguiente manera:
ORG 0x00 ;Inicio de programa

List P=16F84 Radix Hex STATUS PORTA PORTB Org 0 Goto Config Org 5 Config Bsf STATUS,5 Movlw B11100000 Movwf PORTB Movlw B00011111 Movwf PORTA Bcf STATUS,5 Clrf PORTA Clrf PORTB Inicio Clwdt Movf PORTA,0 Movwf PORTB Goto Inicio End Equ Equ Equ 0x03 0x05 0x06

Cuando el programa maneja interrupciones, no se comienza a cargar el programa desde la direccin 0x00, porque si se genera una interrupcin el programa que la atiende comienza en la direccin 0x04 (vector de interrupcin). En este caso lo que se suele hacer es poner en la direccin 0x00 un salto a una direccin de la memoria de programa posterior al vector de reset. Por ejemplo saltaramos a una posicin etiquetada como INICIO que se encuentra en la direccin 0x05
Org 0x00 memoria Goto INICIO Org 0x05 0x05 INICIO ------end ;La siguiente instruccin estar al inicio de la

;Salta a la direccin etiquetada con INICIO ;La siguiente instruccin estar en la direccin

4. Cuerpo del programa y final. Tras indicar la direccin donde se comenzar a cargar el programa, sigue el cuerpo del mismo compuesto por las instrucciones-mquina y los operandos de stas. El cdigo se estructura en columnas. La primera columna se utiliza para las etiquetas que se emplean para hacer referencia a partes del programa y nos permiten realizar saltos a

MICROCONTROLADORES

Mini Contador de 4 Dgitos

En electrnica digital (sin utilizar microcontroladores), para realizar un simple contador, que muestre el valor numrico en cuatro displays de 7 segmentos, es necesario el empleo de diversos circuitos integrados, como ser: Contadores, Latch, decodificadores, etc. Con el empleo del microcontrolador PIC 16F84, se minimiza un 90% de los componentes utilizados tradicionalmente. Estos tipos de contadores tienen un sin fin de aplicaciones, como por ejemplo: contadores de personas, de objetos, contadores pticos, contadores de revoluciones, etc., etc., segn la aplicacin que se le d. Electrnica Prctica les presenta el Mini Contador. Este contador permite realizar un conteo ascendente o descendente (Up Down), que va desde 0 a 9999 o de 9999 a 0. Caractersticas del Mini contador Maneja 4 displays de 7 segmentos, lo cual implica un conteo de 0 a 9999. Posee un switch para escoger la modalidad Ascendente o Descendente, cada modo es representado por un LED de diferente color. En cada pulso de entrada que se presente, adems de ser representado en los displays, se emitir un sonido. La dimensin del sistema es bastante reducido comparado con un contador de las mismas caractersticas, utilizando CI digitales TTL o CMOS. La aplicacin que se le puede dar es variada, por ejemplo: Contador de objetos, de personas, etc.

microcontrolador PIC 16F84, con un oscilador de cristal de 4 MHz. El funcionamiento del circuito es bastante sencillo; el microcontrolador est continuamente monitoreando el estado de los pines RA3 y RA4 que indican la modalidad y el pulso de entrada respectivamente. De acuerdo al estado que presenta el pin RA3, se iluminan los LEDs rojo o verde, que indican una modalidad Ascendente o Descendente. Cuando se detecta un pulso de entrada en el Pin RA4, el PIC emite un pitido mediante el Buzzer conectado al pin RA0, Si la modalidad es ascendente se incrementa en uno el valor de una variable utilizada como contador, y si es descendente la variable se decrementa en uno. El valor es representado en los displays que se encuentran conectados al puerto B del PIC, mediante un decodificador de siete segmentos (74LS47), y haciendo una mltiplexacin a travs de los transistores PNP 2N2222 excitando el nodo de cada display. COMPONENTES

1 Microcontrolador PIC 16F84 1 Oscilador de Cristal de 4 MHz 1 Decodificador BCD 74LS47

4 Displays nodo Comn 2 Leds (Uno Rojo, Otro Verde) 4 Transistores 2N2222 3 Resistencias de 4K7 4 Resistencias de 220 Ohms 2 Capacitores cermicos de 22 pF

2 Pulsadores 1 Switch 1 Buzzer

Funcionamiento.- Como se puede observar en el circuito esquemtico, se est utilizando el

MICROCONTROLADORES

MICROCONTROLADORES

SECUENCIAL DE 8 CANALES

Una forma diferente de crear efectos de luces espectaculares para sus fiestas, eventos sociales o para decorar su vitrina con una llamativa y agradable secuencia de luces, ponemos a su disposicin este esplndido proyecto, que es muy sencillo de construir. Este secuenciador fue desarrollado basndose en el microcontrolador PIC 16F84, por su bajo costo, y por su fcil adquisicin en nuestro medio. EL secuenciador posee 7 tipos de efectos muy complejos, los cuales se apartan de la monotona de los sistemas tradicionales. El equipo desarrollado alrededor de un microcontrolador PIC 16F84 produce una serie de secuencias de iluminacin que dan como resultado una atractiva estructura de luces movindose continuamente en todas direcciones (dependiendo del efecto escogido) y a diferentes velocidades.

tipo de efecto requerido, adems de un pulsador de reset, que inicializa todo el sistema. El sistema incluye un circuito de control de potencia, para manejar cargas alimentadas directamente de la red pblica 220 V AC. Se incluy en el sistema Opto acopladores, para evitar cualquier dao que se pueda causar al microcontrolador, por algn corto circuito que pudiera ocurrir, manejando corriente alterna.

Caractersticas del Secuenciador Las siguientes son algunas de sus caractersticas ms notables: Proporciona ocho canales de salida. Posee 7 tipos de efectos a eleccin Incluye un pulsador de control de velocidad de secuencia, adems del pulsador de eleccin del

Funcionamiento.- En esta primera edicin de en la seccin de Electrnica Prctica, microcontroladores, todos los proyectos que se exponen, utilizan como Microcontrolador base al PIC 16F84, con un oscilador de cristal de 4 MHz, como se observa en el circuito esquemtico del secuencial. Este proyecto es de muy fcil construccin y de bajo precio, comparado con sus similares. El circuito posee tres pulsadores de los cuales uno de ellos (conectado a RA4) tiene la funcin de seleccionar el tipo de efecto que se desea exhibir (Existen 7 tipos de efectos), el nmero correspondiente al efecto seleccionado es mostrado en un display de nodo comn conectado al decodificador de 7 segmentos 74LS47. El segundo pulsador que est conectado al pin RA3 del microcontrolador tiene la finalidad de setear el tiempo de retardo para los efectos. El tiempo de retardo es incrementado en 0.5 segundos por cada pulsacin, el tiempo mximo de temporizacin es de 3 Segundos, si se presiona nuevamente este pulsador la temporizacin vuelve a 0.5 segundos. Cada pin correspondiente al puerto B del microcontrolador (RB0 a RB7) est conectado a un opto DIAC (MOC3041), para aislar elctricamente al microcontrolador con la parte de potencia. Con la utilizacin del Triac BT138 500 V de 12 Amperes, se puede llegar a conectar como mximo una carga de 2640 Watts, lo cual no es recomendable para una aplicacin prctica; en este caso le recomendamos conectar 25 focos de 60 Watts cada uno, por canal (1500 Watts).

MICROCONTROLADORES
Componentes 1 Microcontrolador PIC 16F84 1 Oscilador de Cristal de 4 MHz 1 Decodificar de 7 segmentos 74LS47 2 Capacitores cermicos de 22 pF 3 Pulsadores 3 Resistencias de 4K7 8 Resistencias de 330 Ohms 8 Resistencias de 2K2 1 Display nodo Comn 8 Opto DIAC MOC3041 8 TRIACs BT138 8 LEDs

MICROCONTROLADORES

CERRADURA ELECTRNICA

Los sistemas de seguridad son hoy en da muy importantes y requeridos en lugares donde se necesita un control de acceso; por ejemplo, los podemos encontrar en bancos, vehculos, hogares, etc. Un ejemplo tpico de un dispositivo de seguridad para el control de acceso es una Cerradura electrnica, la cual, por medio de un teclado, acciona un dispositivo de potencia que a su vez activa un sistema electromecnico de apertura, similar al que se instala en los porteros automticos.

Para configurar el cdigo de acceso se deber presionar al mismo tiempo las teclas Set y Up Nro 1 (RA0 y RA1), luego se introducir la clave de ingreso; una vez introducida la clave de ingreso, se establecer la nueva clave de acceso mediante el teclado terminando el proceso presionando nuevamente la tecla Set / Start (RA0). Este proyecto podr ser empleado en diferentes entornos que precisen controlar la apertura de una puerta. Por ejemplo seria til instalarlo en una bodega o almacn para controlar la puerta de ingreso, en un laboratorio de fotografa para restringir el acceso al cuarto oscuro, en un supermercado para entrar en la habitacin de cmaras de vigilancia, en el ingreso principal de una casa, etc. Con pequeas modificaciones del software podra adaptarse el sistema a otras aplicaciones, en las que se controle el encendido y apagado de un dispositivo elctrico o electrnico. As podra emplearse el sistema para controlar el encendido de un juego de luces, un telfono, una fotocopiadora, etc. Para este modo de funcionamiento el software debera conmutar el estado del rel cada vez que se teclee el password de acceso. Con un software ms potente sera posible dotar al sistema de varios password, de manera que cada usuario tuviese un cdigo diferente y mediante una conexin serial con una Computadora, almacenarse en una base datos estadsticas de nmeros y nombres de los usuarios, da y hora de entrada, frecuencia de entrada, etc.

Electrnica Prctica propone el montaje de una cerradura electrnica controlada por microcontrolador, para restringir el acceso a una habitacin o rea reservada. La puerta se abrir introduciendo el password correcto mediante un teclado, destinado para introducir el cdigo secreto. El funcionamiento es sencillo, y se lo detallamos a continuacin:
El nmero de clave consta de 4 dgitos, y se encuentra grabado dentro de las cuatro primeras posiciones de la memoria EEPROM del microcontrolador, (la memoria EEPROM del PIC es una memoria no voltil, que tiene garantizada, una duracin de 40 aos y tiene un tamao de 64 bytes en PIC 16F84), el password o nmero de la clave secreta es introducida a travs del teclado, mostrndose el nmero introducido en los displays correspondientes. Una vez introducida la clave, se presiona la tecla Set / Start, (conectada a RA0) con la cual el microcontrolador verifica si el nmero introducido es el correcto. Si el nmero es incorrecto, el microcontrolador pone a 0 todos los displays y emite un pitido por el Buzzer conectado al pin RB7. En el caso de que la clave introducida sea correcta, el microcontrolador activar al Rel y emitir un pitido durante algunos segundos.

MICROCONTROLADORES
Componentes 1 Microcontrolador PIC 16F84 1 Oscilador de Cristal de 4 MHz 1 Decodificar de 7 segmentos 74LS47 2 Capacitores cermicos de 22 pF 6 Pulsadores 7 Resistencias de 4K7 1 CI Registro de Desplazamiento 74LS164 4 Transistores BC558 2 Transistores BC548 1 Buzzer 1 Rel 12 V. 1 A. 4 Displays con nodo comn

MICROCONTROLADORES

RELOJ DIGITAL BASADO EN UN MICROCONTROLADOR PIC

Las aplicaciones, que se les puede dar a los microcontroladores son considerablemente numerosas, y una de las utilidades ms difundidas son los relojes digitales. Aqu le presentamos un proyecto bastante sencillo de construir y relativamente econmico, un Reloj Digital Basado en un Microcontrolador PIC 16F84. Caractersticas Eleccin del modo de horario en forma manual, a travs de un switch que permite el cambio de modo de horario: de 1 a 12 Horas o de 0 a 24 Horas. Indicador AM / PM, cuando el modo horario est trabajando de 1 a 12 Horas. Configuracin de alarma, mediante combinacin de teclas, la activacin de esta alarma se la realiza a travs de un switch dispuesto para tal efecto, adems de un indicador que indica la activacin. Seteo de la hora a travs de 3 teclas destinadas para este fin.

microsegundo (salvo las de salto que duran 2 ciclos de instruccin):

El software que lleva incrustado el microcontrolador hace que ste mientras est monitoreando los diferentes pulsadores y switchs que se encuentran distribuidos en los diferentes pines de sus puertos, se lleve a cabo una temporizacin que llega a ser casi 500 milisegundos (medio segundo), durante el cual los leds que se encuentran conectados al pin RB4 del PIC y que van situados entre los displays que indican la hora y los minutos queden encendidos, para luego nuevamente empezar otra temporizacin de 500 milisegundos, durante los cuales los leds que indican los segundos (RB4) estarn apagados. La temporizacin se la realiza gracias a TMRO que trae incorporado el PIC 16F84. Para que el microcontrolador pueda encargarse de exhibir el valor de las horas y los minutos sin que los pines del microcontrolador estn limitados se implement un registro de desplazamiento (74LS164), con el cual se logra la mltiplexacin deseada, y se consigue ahorrar pines del microcontrolador. Con el uso del registro de desplazamiento como se mencion anteriormente, se logra la mltiplexacin, haciendo que cada display est encendido durante 2 milisegundos, dando lugar a un fenmeno ptico, con el cual se da la impresin de que todos los displays estn encendidos, tambin llamado efecto de barrido. Asimismo este proyecto cuenta con una alarma incorporada, la cual puede ser configurada a travs de pulsadores y un switch, dispuestos para este propsito. La hora a la que es configurada la

Principio de Funcionamiento Como se puede observar en la figura XX, el proyecto est basado en el microcontrolador PIC16F84, al igual que los anteriores. Como es de suponer el microcontrolador es el que se encarga de todo el proceso de control que se requiere para el manejo de todos los CI de apoyo que conforman en s el Reloj Digital. Cuando se est trabajando en un proyecto, donde el tiempo es fundamental, hay que tener muy en cuenta la frecuencia de oscilacin del microcontrolador, por ejemplo en este caso la frecuencia es de 4 Mega Hertz, lo cual nos lleva a decir que el ciclo de cada instruccin es de 1

MICROCONTROLADORES
alarma es almacenada en la memoria EEPROM interna del microcontrolador. La exactitud del reloj que les ofrecemos en este proyecto no es del todo perfecta, ya que tiene un retraso de 31.5 Minutos al ao. Como una nota curiosa le mencionamos que hace algunos meses, cientficos de la NASA utilizando tecnologa lser adems de un tomo de mercurio y gracias a un sistema de campos elctricos ha puesto a punto el reloj mas exacto del mundo, que garantiza una mayor precisin. El margen de error seria reducido a un minuto por cada 10000 millones de aos. Componentes 1 Microcontrolador PIC 16F84 1 Oscilador de Cristal de 4 Mhz 2 Capacitores cermicos 1 CI 74LS164 (Registro de desplazamiento) 1 CI 74LS47 (Decodificador de 7 segmentos) 4 Displays con nodo comn 5 Leds 4 Transistores BC558 1 Transistor BC548 1 Buzzer 4 Pulsadores 2 Switchs 6 Resistencias de 10 Kilo Ohms 3 Resistencias de 220 Ohms 1 Resistencia de 4,7 Kilo Ohms

MICROCONTROLADORES

MARQUESINA ELECTRNICA

Los sistemas de visualizacin de mensajes, estn siendo utilizados desde hace ya muchos aos y se los ocupa en los sistemas informadores que vemos en las industrias, centros comerciales, bancos, avenidas, etc. Para tener una mejor comprensin del funcionamiento de estos sistemas, debemos tener en cuenta los fenmenos pticos que se dan: Si una imagen se est mostrando durante 100 o ms milisegundos, el cerebro humano entiende que esta imagen es fija o que no est en movimiento, pero si se muestran varias imgenes en un intervalo de tiempo menor al de 100 milisegundos, se crear una ilusin ptica con la cual el cerebro tendr la impresin de movimiento, este fenmeno se lo ha estado usando durante mucho tiempo en el cine, por ejemplo en una cinta cinematogrfica los cuadros que integran dicha cinta se deslizan a razn de 18 o 24 cuadros por segundo, lo cual nos da la impresin de movimiento. Para una mayor compresin describiremos paso a paso el circuito que se muestra en la figura X, que se trata de una marquesina electrnica en la cual se despliegan los mensajes que se desean.

que tomar en cuenta: el numero de filas y columnas de leds en las que se va a mostrar el mensaje. Para este proyecto tenemos 6 columnas y 7 filas. Como ya se mencion anteriormente, se tiene que lograr una ilusin ptica para lograr plasmar algn carcter en la matriz de leds. El procedimiento que hay que seguir para lograr esta ilusin ptica es sencilla: Hay que tener en cuenta en este circuito que las filas estn conectadas al puerto B del PIC (RB0 a RB6) a travs del buffer 74LS244, y que las columnas lo hacen al Puerto A (RA0 a RA2) a travs de un decodificador BCD a Decimal 74LS42, con salida negada, conociendo esto ser ms fcil entender el funcionamiento general del circuito.

El efecto ptico que se desea, se lo obtiene mediante la mltiplexacin de los datos que transmite el PIC. Por ejemplo, para mostrar la letra S tendramos que mostrar los datos referentes a cada columna, como se muestra en la figura XXX. El microcontrolador se encarga de enviar el dato para cada columna a travs del puerto B, por ejemplo en la primera columna enva el valor decimal 50, para luego activar dicha columna a travs del puerto A, para luego hacer un retardo de algunos milisegundos, y as sucesivamente con cada columna, este efecto tambin se lo emplea con displays de siete segmentos y es llamado efecto de barrido.

Figura Principio de Funcionamiento En la Figura XX se observa una matriz de Leds, en la cual se exhibe la letra S, para tal efecto se tiene

MICROCONTROLADORES
decodificador, es decir que si se quiere activar la columna 3, el PIC enva el valor 3 al decodificador

COMPONENTES

1 Microcontrolador PIC 16F84 1 Oscilador de Cristal de 4 MHz 2 Capacitores cermicos de 22 pF 42 Leds de alto brillo 1 Buffer 74LS244 1 Decodificador BCD a Decimal 74Ls42 1 Resistencia de 4,7 Kilo Ohms
Figura

1 Pulsador

Para la activacin de cada columna el PIC enva el valor binario de la columna correspondiente al CIRCUITO ESQUEMATICO

MICROCONTROLADORES

TEMPORIZADOR PROGRAMABLE

La necesidad de controlar el tiempo de funcionamiento de equipos electrnicos u otros dispositivos, tienen soluciones bastantes sofisticadas cuando se hace uso de la electrnica moderna. En este artculo describimos un temporizador de hasta 99 minutos usando el microcontrolador PIC 16F84 de Microchip Los temporizadores son elementos cada vez ms populares entre los aficionados y profesionales. El circuito presentado en este articulo es un temporizador proyectado a partir de un microcontrolador en el que se puede programar una temporizacin de hasta 99 minutos en intervalos regulares de 11 minutos. El circuito tiene por base un microcontrolador PIC 16F84. Una de las caractersticas especiales que tienen estos microcontroladores, es su temporizador interno (TMRO), el cual es la base para este proyecto. Para este TMRO existen varias bases de tiempo programables para finalidades diversas como por ejemplo: temporizaciones. Internamente la frecuencia del oscilador externo es dividida entre 4 por tanto con un oscilador de 4 Mhz por lo tanto cada ciclo de maquina de la unidad central de procesamiento es de 1 microsegundo. La mayora de las instrucciones requieren de un ciclo de instruccin, mientras que otras precisan de 2 ciclos como son las de salto. De esta manera se puede calcular con precisin el tiempo que se demora para ejecutar alguna subrutina en el microcontrolador. Si se habilita el temporizador que posee el microcontrolador, ste se incrementa cada microsegundo independientemente de las instrucciones que son ejecutadas. Para realizar el

conteo de los segundos se utilizan dos registros de 8 bits (16 Bits), que generan una interrupcin en el programa cuando el conteo llega a FFFF HEX, dependiendo de los valores que son cargados estos registros, se pueden obtener diferentes valores de temporizacin. En el proyecto que presentamos hacemos uso de estas caractersticas. La mayora de las familias de los microcontroladores poseen uno o dos temporizadores internos, que trabajan en forma similar a lo descrito. Funcionamiento El circuito posee 4 pulsadores que tienen las siguientes funciones: Minutos - Incrementa el valor de los minutos. Segundos Incrementa el valor de los segundos Start Da inicio a la temporizacin. Restart Detiene el conteo y reinicia al Micro. Cuando el temporizador es encendido, el valor mostrado en los displays corresponden a 0. Con las teclas Minutos / Segundos podemos programar la cantidad de tiempo de la temporizacin. El conteo se lo realiza en forma descendente, de modo que cuando el valor de los minutos y segundos llega a 0, el conteo se detiene. El pin de salida (RA1) utilizado como seal de control, pasa a tener un nivel lgico alto, activando al rel que se encuentra conectado a ste. El Circuito Los displays estn conectados en paralelo siendo multiplexados por los transistores BC558, la seal BCD que es producida por el PIC est

MICROCONTROLADORES
conectada al decodificador de 7 segmentos 74LS47 que suministra los datos correspondientes para que en los displays se exhiban los nmeros respectivos al tiempo que est siendo establecido. Los pulsadores estn conectados a 5 Volts, y cuando stos son accionados, el nivel lgico es bajo o cero, colocando a tierra las entradas del PIC. La salida de seal del microcontrolador fue conectada a un rel a travs de un transistor para el control de algn dispositivo electrnico. El dispositivo debe ser conectado a una fuente estabilizada de 5 V. Para la realizacin prctica puede ser usado cualquier microcontrolador compatible con el PIC 16F84. Considere que la descripcin de los pines del circuito est realizada sobre la base del PIC 16F84 de Microchip. Componentes Microcontrolador PIC 16f84 1 Oscilador de Cristal de 4 Mhz 1 Decodificador de 7 segmentos 74LS47 4 Displays nodo comn 2 Capacitores cermicos de 22 pF 4 Resistencias de 10 K 4 Resistencias de 100 Ohms 4 Transistores BC558 1 Transistor BC548 1 Diodo 1N4148 4 Pulsadores 1 Rel

MICROCONTROLADORES

GENERADOR DE SEALES DE VIDEO PARA MONITORES

El generador de seales de video es un instrumento extremadamente til en el proceso de prueba, reparacin y mantenimiento de monitores, evitando con este pequeo dispositivo la trabajosa tarea de conectar y desconectar el cable de seal de la CPU de la computadora cada vez que se desea probar el monitor, siendo esta su caracterstica principal. La informacin necesaria para presentar una imagen en el monitor de una computadora, viaja en lo que se conoce como seal de video; esta seal de video puede descomponerse en fragmentos que nos permiten clasificar y diferenciar unos sistemas grficos de otros. As tenemos informacin de la duracin de las lneas que componen la imagen (barrido horizontal), informacin del nmero de lneas que componen cada imagen (barrido vertical), y el tiempo que tarda el haz electrnico en retroceder desde la ultima lnea a la primera del nuevo cuadro (borrado vertical). Cada uno de estos fragmentos se puede descomponer a su vez en una porcin principal que se llama sincronismo y unos tiempos de guarda antes y despus del sincronismo, que se conocen como porches o pedestales, y que tambin hay que definir si se quiere determinar un sistema grfico concreto. As pues hablaremos del pedestal anterior, sincronismo y pedestal posterior. La polaridad de los sincronismos (positiva o negativa) y si las lneas que componen la imagen se entrelazan o no, son parmetros que juegan tambin un papel muy importante. En resumen, para definir un sistema de generacin de seales de video asociada a un sistema grfico concreto, es necesario conocer los siguientes parmetros: Tiempos o frecuencia de barrido horizontal y vertical.

Pedestal vertical.

anterior

de

barrido

horizontal

Pedestal posterior de barrido horizontal y vertical. Sincronismo horizontal y vertical. Polaridad de los sincronismos. Entrelazado.

El proyecto que les presentamos en este articulo cumple los requerimientos bsicos para trabajar con Monitores VGA con una frecuencia de sincronismo horizontal de 31,4 Kilo hertz y de 60 Hertz de sincronismo vertical, para un modo de video de 640 x 480. Componentes

Microcontrolador PIC 16F84 1 Oscilador de Cristal de 4 Mhz 2 Capacitores cermicos de 22 pF 1 Potencimetro de 10 Kohms 1 Resistencia de 4,7 Kohms 1 Pulsador

MICROCONTROLADORES

S-ar putea să vă placă și