SISTEMAS DE MICROCONTROLAD MICROCONTROLADORES ORES ING. OMAR ROSAS
MANEJO DE MATRIZ DE LEDS OBJETIVO GENERAL: Realizar una serie de figuras sobre la matriz de leds controladas desde el ATMEGA16.
OBJETIVOS ESPECÍFICOS:
Realizar un programa en el software AVR STUDIO que realice una serie de figuras, que serán visualizadas a través de la matriz de leds. Realizar la simulación del circuito en el software ISIS DE PROTEUS para verificar si cumple con los requisitos planteados en el objetivo general. Realizar el armado del circuito con los componentes electrónicos necesarios.
MARCO TEÓRICO: Matriz de LEDs
Una matriz de LEDs consiste en un arreglo de LEDs que pueden ser encendidos y apagados individualmente desde un microntrolador. Pueden pensar en ella como una pantalla de pocos pixeles en en los cuales pueden presentar gráficos y textos, tanto estáticos como en movimiento. Pines de conexión de una matriz de 5×7 Existen muchas aplicaciones para este tipo de displays. Uno de los ejemplos más interesantes que conozco es el Bitman desarrollado por Ryota Kuwakubo bajo Maywa Denki.. Denki
CARACTER CARACT ER STICAS GENERALES GENERALES DEL ATMEGA ATMEGA16/16L 16/16L Microcontrolador AVR de 8 bit de alto rendimiento y bajo consumo. Arquitectura RISC avanzada. - 131 instrucciones. La mayoría de un simple ciclo de clock de ejecución. - 32 x 8 registros de trabajo de propósito general. - Capacidad de procesamiento de unos 16 MIPS a 16 MHz. - Funcionamiento estático total. - Multiplicador On-Chip de 2 ciclos Memorias de programa y de datos no volátiles. - 16K bytes de FLASH autoprogramable en sistema. Resistencia: 1.000 ciclos de escritura / borrado. - Sección de código añadida opcional con bits de bloqueo independientes. Programación en sistema con el programa añadido On-Chip. Operación de lectura durante la escritura. - 512 bytes de EEPROM. Resistencia: 100.000 ciclos de escritura / borrado. - 1K bytes de SRAM interna. - Bloqueo (cerradura) programable para la seguridad del software.
LABORATORIO # 3
Página 1
SISTEMAS DE MICROCONTROLADORES ING. OMAR ROSAS
Interface JTAG. - Mantenimiento de eliminación de errores On-Chip. - Programación de FLASH, EEPROM, fusibles y bits de bloqueo a través de la interface JTAG. - Capacidades de Boundary Scan de acuerdo con el Standard (norma) JTAG. Características de los periféricos. - Dos Timer/Contadores de 8 bits con prescaler separado y modo comparación. - Un Timer/Contador de 16 bits con prescaler separado, modo comparación y modo de captura. - Comparador analógico On-Chip. - Timer watchdog programable con oscilador separado On-Chip. - Interface serie SPI maestro/esclavo. - USART serie programable. - Contador en tiempo real con oscilador separado. - ADC de 10 bit y 8 canales. 8 canales de terminación simple 7 canales diferenciales sólo en el encapsulado TQFP. 2 canales diferenciales con ganancia programable a 1x, 10x o 200x. - 4 canales de PWM. - Interface serie de dos hilos orientada a byte. Características especiales del microcontrolador. - Reset de Power-on y detección de Brown-out programable. - Oscilador RC interno calibrado. - Fuentes de interrupción externas e internas. - 6 modos de descanso: Idle, reducción de ruido ADC, Power-save, Power-down, Standby y Standby extendido. I/O y encapsulados - 32 líneas de I/O programables. - PDIP de 40 pines, TQFP y MLF de 44 pines. Tensiones de funcionamiento. - 2.7 - 5.5V (ATmega16L). - 4.5 - 5.5V (ATmega16). Niveles de velocidad. - 0 - 8 MHz (ATmega16L). - 0 - 16 MHz (ATmega16).
LABORATORIO # 3
Página 2
SISTEMAS DE MICROCONTROLADORES ING. OMAR ROSAS
MARCO PRÁCTICO DIAGRAMA DEL CIRCUITO:
CÓDIGO DEL PROGRAMA: #include
#include #define ck _delay_ms(500) #define col PORTA #define fila PORTB int main(void) { DDRA=0xFF; DDRB=0xFF; int cd[]={1,2,4,8,16}; //Columna Diagonal Positiva int fd[]={111,119,123,125,127}; //Fila Diagonal Positiva int cd1[]={1,2,4,8,16}; //Columna Diagonal Negativa int fd1[]={111,125,123,119,127}; //Fila Diagonal Negativa int c[]={1,2,4,8,16}; //Columna Horizontal Inferior int f[]={126,126,126,126,126}; //Fila Horizontal Inferior int c1[]={1,2,4,8,16}; //Columna Horizontal Superior int f1[]={111,111,111,111,111}; //Fila Horizontal Superior int c2[]={1,2,4,8,16}; //Columna Horizontal Superior Media int f2[]={119,119,119,119,119}; //Fila Horizontal Superior Media int c3[]={1,2,4,8,16}; //Columna Horizontal Inferior Media int f3[]={125,125,125,125,125}; //Fila Horizontal Inferior Media while(1) { //RECORRIDO 1
LABORATORIO # 3
Página 3
SISTEMAS DE MICROCONTROLADORES ING. OMAR ROSAS
for (int i=0;i<=4;i++) { fila=f[i]; col=c[i]; ck; col=0; } //RECORRIDO 2 for (int i=3;i>=0;i--) { fila=fd[i]; col=cd[i]; ck; col=0; } //RECORRIDO 3 for (int i=1;i<=4;i++) { fila=f1[i]; col=c1[i]; ck; col=0; } //RECORRIDO 4 for (int i=3;i>=1;i--) { fila=fd1[i]; col=cd1[i]; ck; col=0; } //RECORRIDO 5 for (int i=2;i<=3;i++) { fila=f3[i]; col=c3[i]; ck; col=0; } //RECORRIDO 6 for (int i=2;i>=1;i--) { fila=fd[i]; col=cd[i]; ck; col=0; } //RECORRIDO 7 for (int i=2;i<=3;i++) { fila=f2[i]; col=c2[i]; ck; col=0; } //RECORRIDO 8 for (int i=2;i>=2;i--) { fila=fd1[i]; col=cd1[i]; ck; col=0; } } return(0); }
LABORATORIO # 3
Página 4
SISTEMAS DE MICROCONTROLADORES ING. OMAR ROSAS
MATERIAL Y EQUIPO UTILIZADO:
Son todos los materiales que a continuación describiremos:
Laptop Programa AVR Studio 5.1 Programa de Simulación Proteus Grabador de Atmega Protoboard Matriz de LEDs Atmega 16 Fuente Regulable de voltaje Cables de experimentación Multimetro Material de escritorio (lápiz, hojas, calculadora, etc.)
LABORATORIO # 3
Página 5
SISTEMAS DE MICROCONTROLADORES ING. OMAR ROSAS
CONCLUSIONES: Tras haber realizado paso a paso los objetivos específicos planteados, se ha llegado a concluir este laboratorio de forma exitosa sin ningún tipo de inconveniente. Realizamos el programa paso a paso para no tener problemas al tener finalizado de forma total el programa.
RECOMENDACIONES: Realizar el programa con el mayor detalle posible para así poder encontrar de manera rápida las fallas que se pueda tener al momento de compilar el programa. Hay que tener mucho cuidado al momento de manipular el microcontrolador ATMEGA16 ya que es un circuito integrado sensible a corrientes y voltajes altos. Realizar el reconocimiento de pines de la matriz de leds con un multímetro. Hay que brindarle la corriente y el voltaje necesario a la matriz de leds para que no sufra ningún tipo de daño.
BIBLIOGRAFÍA Y PAGINAS WEBS: http://www.sc.ehu.es/sbweb/webcentro/automatica/web_avr/archivos/Otros%20AVRs/ATmega/ATmega16.htm
http://galaxi0.wordpress.com/about/salidas-y-entradas-digitales/matriz-de-leds/
LABORATORIO # 3
Página 6