Barebone digitalklocka
För maskinvara: Jag använde en tiny2313 (du kan använda alla små med minst 14 IO), motstånd, 7segment (4digits) och en RTC (DS1307) modul. Modulen dockar in en 5-pin uttag så dess flyttbara för programmering. Jag monterade dem alla i en proto styrelse. Jag målade styrelsen med svart markering att ge den ett professionellt utseende). Power tillhandahålls av USB-port (jag använde en från min loptop dockningsstation)...
För firmware: mcu körs på 1MHz intern osc. Varje sekund, RTC data läses via I2C (RTC tid är förprogrammerade separat med en arduino...). Med timme och minut endast data, separeras det därefter för varje 7segment siffra. Siffrorna är sedan cyklat med 60Hz uppdateringsfrekvens (60Hhz x 4 eller ~ 42ms intervall mellan siffra aktivera). Vi har avbrott på siffran uppdatera timer, så att vi kan ägna större delen av tiden sova... De sekunder timer (för RTC läsa) är egentligen bara en räknare ökas med siffran uppdatera isr. Tjocktarmen ledde ska växlas varje sekund.
Med liten 2313 har du fortfarande byte minne kvar och 3 IO reservdelar... Med detta kan du fortfarande lägga till en peizo högtalare och spela några låtar till funky när klockan slår timmen...
Jag är ingen pro så vara snäll med min koder... BTW kom de i2c rutinerna från Atmel app anteckningar som jag ändrade bara för mitt syfte... Pls gärna lämna en kommentar.
Tack!