Para el hardware: utilicé un tiny2313 (puede utilizar cualquier pequeño con por lo menos 14 IO), resistores, 7segmentos (4digits) y un módulo RTC (DS1307). El módulo de muelles en una toma de 5-pin tan su desprendible para la programación. Los reuní a todos en un proto board. Pinté el tablero con el marcador negro para darle un aspecto profesional;). Energía es proporcionada por el puerto USB (yo usé uno de mi loptop docking station)...
Para el firmware: el mcu funciona con oscilador interno de 1MHz. Cada segundo se leen datos RTC vía I2C (tiempo RTC es preprogramado por separado utilizando un arduino...). Tomando la hora y minuto datos, luego se separa para cada dígito de 7segmentos. Los dígitos son entonces un ciclo con tasa de refresco de 60Hz (60Hhz x 4 o ~ 42ms intervalo entre dígitos habilitar). Tenemos interrupción de temporizador de actualización de cifras, así que podemos pasar la mayor parte del tiempo durmiendo... Los segundos temporizador (para RTC leer) es sólo un contador que se incrementa con el dígito actualizar ISR. El colon led se enciende cada segundo.
Con pequeña 2313, todavía tienes bytes de memoria a la izquierda y repuestos 3 IO... Con esto todavía puede añadir un altavoz peizo y reproducir algunas canciones funky cuando el reloj llega a la hora...
Yo no pro lo estoy ser amable con mis códigos... Por cierto las rutinas i2c vinieron de notas de aplicación de Atmel que modifiqué apenas para mi proposito... Pls no dude en dejar un comentario.
¡ Gracias!