UNIVERSIDAD NACIONAL DEL CALLAO 2014v MICROCONTROLADORES
MSc. Ing. Jacob Astocondor Villar 1
LABORATORIO 2B. ENCENDIDO SECUENCIAL DE LEDs ENUNCIADO: Empleando el microcontrolador ATmega8 realizar el encendido intermitente ( 5 veces ) de 8 LEDs conectados en nodo comn al Puerto D. Luego de un retardo de 2 segundos un LED se desplaza desde el pin D0 a D7 y reversa, emulando las luces de auto fantstico, con un retardo de 150ms. OBJETIVOS Configurar todos los pines de un puerto como salida. Manejar la instruccin rotacion. FUNDAMENTO TERICO Y ESQUEMAS Como sabemos, para configurar los puertos como salidas intervienen, en este caso, los registros DDRD y PORTD, en los cuales debemos escribir los valores 0xFF y 0x00 respectivamente para que este puerto sea salida a cero lgico ( LEDs apagados ) . De igual manera, como hicimos el clculo anterior debemos poner las resistencias para limitar la corriente en los pines del puerto. En ocasiones, se necesita dar mayor brillo a los LEDs, por tanto disminuir el valor de las resistencias, pero la limitante es la corriente que dan los pines del puerto. Para solucionar este inconveniente es necesario emplear drivers que manejan corrientes grandes y protegen al microcontrolador , entre ellos mencionamos: inversores CMOS 4069, buffer CMOS 4050, como tambin se tiene de la familia TTL 7428 que manejan corrientes superiores a 50mA. De las condiciones del enunciado podemos armar el siguiente circuito de prueba.
En el programa vamos a emplear una nueva instruccin Instrucciones de bit y de bit-test. . Esta instruccin desplaza los bits de una variable un bit ( posicin ) a la izquierda (LSL Rd) o un bit a la derecha (LSR Rd ) . Tambin las instrucciones de rotacin a la izquierda ROL Rd y la instruccin de rotacin a la derecha ROR Rd La rotacin a la izquierda significa multiplicar un valor por 2, mientras que desplazar a la derecha es dividir por 2, por tanto, UNIVERSIDAD NACIONAL DEL CALLAO 2014v MICROCONTROLADORES
MSc. Ing. Jacob Astocondor Villar 2
En ASSEMBLER , una constante puede escribirse en decimal , binario o hexadecimal. As, es por ejemplo, en decimal 150, en binario &B10010110, mientras que en hexadecimal es &H96. En caso de la configuracin de puertos, es aconsejable el empleo del sistema binario, pues nos indica con claridad cuales lneas son entradas ( 0 ) y cuales salidas ( 1 ) MATERIALES Resistencia 330 1/4W ( 8) Diodo LED de alto brillo 3mm ( 8) ATmega8 ( 1) Protoboard ( 1) Fuente estabilizada de voltaje 5V/1A ( 1 ) Cables No. 22AWG Grabador de microcontrolador AVR tipo USB2.0
DESARROLLO DEL PROGRAMA 1. En la realizacin del programa se han seguido los siguientes pasos: Definir el procesador a utilizarse Definir el PORTD como salida con los LEDs apagados Prender y apagar 5 veces con un retardo de 200ms Desplazar los LEDs a la izquierda y luego a la derecha de manera indefinida. 2. Hacer un diagrama de flujo del programa 3. Escriba las instrucciones comentadas
PARA EL INFORME
1. Hacer los cambios en el programa en caso de conectarse los LEDs en ctodo comn. 2. Realizar un juego de LEDs que se desplacen desde los extremos ( D7 y D0 inicialmente encendidos ) hacia el centro. Los LEDs estn conectados al PORTB. 3. Emular el funcionamiento de un semforo de 2 caras ( con 6 LEDs ) 4. Investigar el funcionamiento del motor paso a paso e implementar un programa para hacerlo funcionar a paso simple. 5. Diga sus conclusiones y recomendaciones