Circuito aleatorio SFF (factor de forma pequeño) del microcontrolador de LED

3

Quiero 12 leds programados para que el circuito circule a una cierta velocidad. 17 smd leds en total. Lo que necesito hacer es que la persecución elija al azar reducir la velocidad durante 1 segundo o acelerar durante 1 segundo con un led respectivo encendido cada vez que se elija. Está utilizando un microcontrolador ATMEL AT89C2051-24PU (DIP-20), batería 3v, 17 leds (12 para chase, 3 para rotación, 2 para notificador de velocidad hacia arriba / abajo), 1 interruptor, 1 piezo. Los leds giran a las velocidades programadas y registran 1 rotación notificada por un led individual 3 rotaciones en total. Inicio de rotación notificado por piezo y al final. ¿Cómo puedo hacer esto, puedo programar en el microcontrolador o necesitaré uno o dos diferentes?

Soy un novato.

Gracias

    
pregunta Mr Men

1 respuesta

2

Usted dijo que es un novato, ¿Tiene alguna experiencia en C o en la programación de ensamblajes? En cuanto a su pregunta, el requisito de su programa no es simple.

Sin embargo, te guiaré.

Puede hacer su trabajo con un solo microcontrolador, pero necesita una técnica de multiplexación para esto, ya que su controlador descrito tiene 15 E / S y usted está interconectando 17 LED, 1 interruptor de botón y 1 timbre.

Para Buzzer se requiere una salida. Para el botón pulsador se requiere una entrada. Para 3 LED de rotación y 2 LED de velocidad necesitas 5 salidas Para 12 LED, puede conectar los 12 LED en formato 4x3, 12 LED en 4 filas y 3 colores, que consumieron 7 salidas.

Por lo tanto, se consumen un total de 14 E / S, 1 aún está libre.

Supuse que tienes algunos conocimientos básicos sobre la programación de microcontroladores y todos sus registros.

Usted tiene que hacer su programa en forma modular (módulo: pequeño o un programa grande) y etiquetarlos según su nombre de función, cada función tiene su propio módulo. Digamos que el nombre del módulo de función LED Chaser puede ser LED_Chaseer o LED_Chase.

Cree un módulo para la función de temporizador y otro para la función de interruptor y buzzer.

Función de interrupción del temporizador ONE, donde está controlando todos los LED.

Obviamente, se requiere una función principal para ejecutar de forma continua. En esta función PRINCIPAL, debe leer primero la función de cambio que el temporizador de inicio enviando un valor a la función de temporizador. En cada temporizador, interrumpa los LED de la unidad como desee. y que incrementa o disminuye el valor del temporizador para el cambio visual del LED.

De esta manera puedes obtener tus resultados.

Te deseo la mejor de las suertes

    
respondido por el masterleous

Lea otras preguntas en las etiquetas