Академический Документы
Профессиональный Документы
Культура Документы
(modo comn)
Como fototransistor, cuando la luz que incide en la base hace que entre en modo
de conduccin (conduccin entre colector y emisor).
El componente utilizado en esta prctica puede ser considerado un optoacoplador, ste
es un dispositivo de emisin y recepcin que funciona como un interruptor activado
mediante la luz emitida por un diodo LED que satura un componente optoelectrnico, en
este caso un fototransistor; combinando en un solo dispositivo semiconductor dos
componentes conectados de forma ptica. Su funcionamiento es simple (la explicacin es
en base a la imagen de abajo) el voltaje y la resistencia en serie con el LED generan una
corriente en el LED emisor cuando se cierra el interruptor
. Si la corriente proporciona
un nivel adecuado de luz, al incidir sobre el fototransistor, ste se saturar generando una
corriente en
cerrado y
con
abierto [4].
Figura 3. Configuracin bsica de un optoacoplador. El funcionamiento se resume en la tabla 1.
Tabla 1. Descripcin del funcionamiento de un optoacoplador en base a la figura 3.
LED emitiendo luz (energizado)? Voltaje a la salida?
SI, LED encendido Voltaje de salida igual a cero
NO, LED apagado Voltaje de salida igual a
Prctica #2
Sistemas con Microprocesador 3 de febrero de 2014
5
El dispositivo utilizado en esta prctica es el switch interruptor de corriente mediante un
fototransistor QVE00832 el cual tiene las siguientes caractersticas principales [5]:
No hay contacto entre el interruptor (LED separado del fototransistor)
Empaquetado opaco
Transistor normalmente abierto
Corriente continua de 60 mA
Consumo de energa de 150 mW
Voltaje mximo de emisor de 1.5 V
Corriente mxima en colector de 14 mA
Figura 4. Fototransistor QVE00832 (dispositivo fsico a la izquierda y esquemtico a la derecha)
Figura 5. Diagrama de conexin del QVE00832 [5].
Material
1 Cristal de
1 Capacitor de cermica de .
1 Capacitor electroltico
8 Resistencias
2 Resistencias
1 Resistencia
1 Push Botton
8 LEDs
1 Fototransitor QVE00832
1 Microcontrolador AT89LP6440
Fuente de Voltaje de 3.3 V (Arduino UNO)
Protoboard
Prctica #2
Sistemas con Microprocesador 3 de febrero de 2014
6
Desarrollo
El objetivo principal es lograr que un corrimiento de LEDs conectados al puerto uno del
microcontrolador AT89LP6440, logre cambiar de direccin dependiendo de una entrada
digital. Lo necesario para lograr esto es explicado a continuacin.
Descripcin del algoritmo
El algoritmo utilizado para cumplir el objetivo es prcticamente el mismo que se dise en
la prctica pasada, el corrimiento de LEDs se realiza de la misma forma, esto se traduce a
poner los bits en nivel alto o bajo en el registro correspondiente al puerto uno del
microcontrolador. Inicialmente se pone el bit de mayor peso (o menor peso) en estado
lgico uno, mientras los dems permanecen en estado lgico cero, esto se mantiene
durante un periodo de tiempo en milisegundos, despus de esto el bit en estado lgico
uno es desplazado mediante la funcin o que simplemente recorre el registro un
nmero definido de posiciones (en este caso una posicin a la vez), al hacer esto el bit en
nivel lgico uno pasa a tener un estado lgico cero y el bit siguiente de mayor peso (o
menor peso) pasa a estar en estado lgico uno; esto est dentro de un ciclo infinito
(while) por lo que al darse una iteracin el bit en el registro se va desplazando siempre
una posicin.
Aunado a esto es importante determinar el momento adecuado para reiniciar el registro,
ya que al darse un desplazamiento en ste y tener el bit en nivel lgico uno en la posicin
de mayor peso (o menor peso) el registro se desplazar y quedar sin ningn bit en
estado lgico uno, para esto simplemente se utiliza una decisin (if) que verifica si el bit
de mayor peso (o menor peso) est en uno lgico, de ser as reinicia el registro. Este
algoritmo se repite indefinidamente, recorriendo un bit en el registro y reinicindolo
cuando es necesario, dando la apariencia de que el bit se desplaza y regresa al inicio al
salir del registro.
Para establecer la direccin del desplazamiento, en el algoritmo, simplemente se verifica
el valor de la entrada lgica en cada iteracin del ciclo infinito ya mencionado, si el valor
de la entrada es cero, el desplazamiento es del bit de mayor peso al de menor peso, si la
entrada cambia a nivel alto, el desplazamiento se invierte. Cabe mencionar que al verificar
la entrada lgica se utiliza una decisin doble (if) por lo que al no cumplirse un caso se
ejecuta el otro, es decir, la seccin de instrucciones utilizada para hacer el
desplazamiento en el registro, es la misma en ambos casos dependientes de la entrada al
sistema, solamente cambia la direccin del desplazamiento y por ende la verificacin para
el reinicio del registro, por lo que puede reutilizarse cdigo en esta seccin.
Cdigo desarrollado en lenguaje C
El cdigo utilizado para realizar el algoritmo explicado se presenta a continuacin, el cual
es prcticamente el utilizado en la prctica 1 [6], el cdigo est comentado, facilitando la
comprensin del mismo.
El cdigo se divide en cuatro secciones principales: definicin de libreras, inicializacin de
puertos (entradas y salidas) y variables, funciones de propsito especfico y la funcin
Prctica #2
Sistemas con Microprocesador 3 de febrero de 2014
7
principal (main). La utilizacin de funciones de propsito especfico es con el fin de
reutilizar cdigo o simplificar operaciones, logrando un cdigo ms eficiente y organizado.
//Header Files
#include <at89lp6440.h>
void inicializacion(void)
{
//Puerto 1 como salida cada bit define un pin
//el bit de menor peso configura el puerto P1.0 el siguiente el P1.1
//y as sucesivamente
P1M0 = 0x00;
P1M1 = 0xFF;
//P0.0 como entrada
P0M0 = 0x01;
P0M1 = 0x00;
}
//Funcin para introducir un retardo en la ejecucin del programa
void delay(void)
{
unsigned int i; //definiendo variable para ciclo for
for(i = 0; i < 65000; i++) //Ciclo for sin funcin alguna
{}
}
void reinicio(v_final, v_inicial)
{
delay(); //retardo en ejecucin
//Verificando si un bit especfico (v_final) es igual en el puerto P1
if( (P1&v_final) == v_final )
{
P1 = v_inicial; //Reiniciando el puerto P1
delay(); //retardo en ejecucin
}
}
void main(void)
{
inicializacion(); //estableciendo configuracin de puertos
P1 = 0x01; //asignando valor a puerto P1
while(1)
{
if( (P0&0x01) == 0x01) //verificando valor de P0.0 para determinar
direccin
{
reinicio(0x80, 0x01); //reiniciando puerto P1
P1 = P1 << 1; //corrimiento de un bit a la izquierda
}
else
{
reinicio(0x01, 0x80); //reiniciando puerto P1
P1 = P1 >> 1; //corrimiento de un bit a la derecha
}
}
}
Prctica #2
Sistemas con Microprocesador 3 de febrero de 2014
8
Circuito fsico implementado
Primeramente se presenta el circuito utilizado para dar la entrada al sistema que definir
la direccin del desplazamiento de LEDs, ste consta del dispositivo QVE00832, que
como ya se mencion, puede ser considerado como un optoacoplador que utiliza un LED
para estimular a un fototransistor mediante luz. El diagrama del circuito se presenta en la
imagen de abajo.
El funcionamiento de este circuito es simple, si algn cuerpo opaco est entre el LED y el
transistor, la luz del primero no ser recibida por el segundo y por ende el transistor estar
apagado dando a la salida un nivel alto indicando que el desplazamiento es hacia la
izquierda; por el contrario si no existe algo que obstruya la luz del LED sobre el
fototransistor, ste ltimo conducir corriente cerrando el circuito, dando un cero lgico a
la entrada del sistema.
Figura 6. Circuito para la entrada al sistema, compuesto principalmente por un QVE00832.
A continuacin se presenta el diagrama del sistema completo implementado fsicamente
para probar el programa generado mediante lenguaje C para el corrimiento de LEDs
bidireccional utilizando un fototransistor para definir la direccin del desplazamiento.
Prctica #2
Sistemas con Microprocesador 3 de febrero de 2014
9
Figura 7. Circuito fsico implementado, utilizando un el componente QVE00832 como entrada.
Resultados
Ciertamente los resultados obtenidos de la implementacin del cdigo en lenguaje C
diseado son meramente visibles, es decir, no se pueden realizar tablas o grficas para
comprobar su funcionamiento, por tal motivo slo se presentan algunas capturas del
circuito fsico en donde se puede apreciar la conexin de los dispositivos de entrada y
salida, tales como el fototransistor y varios LEDs. Tambin se puede observar que la
fuente de alimentacin para el sistema es un Arduino UNO, el cual es utilizado con la
finalidad de obtener el voltaje de 3.3v requerido para su funcionamiento.
Prctica #2
Sistemas con Microprocesador 3 de febrero de 2014
10
Figura 8. Conexin fsica del sistema, se puede observar la alimentacin de 3.3v mediante el
Arduino UNO y los LEDs utilizados para el desplazamiento en una direccin determinada por una
entrada al sistema.
Figura 9. En esta imagen se puede apreciar el fototransistor utilizado para dar la entrada al sistema
y determinar la direccin del desplazamiento.
Bibliografa
[1] Entrada/Salida. Wikipedia. <http://es.wikipedia.org/wiki/Entrada/salida>. (Consultado el
2 de febrero de 2014)
[2] Hoja de datos Microcontrolador AT89LP6440.
<http://www.atmel.com/devices/at89lp6440.aspx>. (Consultado 2 de febrero de 2014)
[3] Fototransistor. Wikipedia. <http://es.wikipedia.org/wiki/Fototransistor>. (Consultado el 2
de febrero de 2014)
Prctica #2
Sistemas con Microprocesador 3 de febrero de 2014
11
[4] Optoacoplador. Wikipedia. <http://es.wikipedia.org/wiki/Fototransist>. (Consultado el 2
de febrero de 2014)
[5] Hoja de datos QVE00832. <http://www.alldatasheet.es/datasheet-
pdf/pdf/54388/FAIRCHILD/QVE00832.html>. (Consultado 2 de febrero de 2014)
[6] Valenzuela De La Cruz, Vctor Manuel. Prctica #1 - Corrimiento de LEDs. Universidad
Autnoma de Ciudad Jurez. Mxico. 2014