En enkel USB-drivna binär klocka (3 / 3 steg)
Steg 3: programmering
Starta upp:
När strömmen är på mikrokontroller läser klockan och ser till att klockan körs av inställningen lite 7 registrera 0 (oscilloskop aktiverar bit) till 0. Som databladet antyder, behövs det eftersom påslagen starttillståndet för registren inte definieras.
Huvudloop:
När programmet går den viktigaste loopen, det läsa klockan igen och konvertera 3 decimaltalen (timmar, minits, sekunder) till 6 colums.
Jag använde efter beräkning(se bild för colums):
sekunder:
värde / 10 (disgard decimaler) ger dig colum 2
värde - (colum2 * 10) ger dig colum 1
minits:
värde / 10 (disgard decimaler) ger dig colum 4
värde - (colum2 * 10) ger dig colum 3
Öppettider:
värde / 10 (disgard decimaler) ger dig colum 6
värde - (colum2 * 10) ger dig colum 5
När gjort, skickas colum värdena till port C enligt colum som möjliggör på port B. Denna multiplexing gör att vi kan använda mindre stift och håller nuvarande lägre än 100 ma.
Efter detta loopen startar om
När en knapp trycks ner, motsvarande avbrottet kallas och timmar eller minits höjs med 1 därmed. Klockan ställs omedelbart efter öka ett värde via en uppsättning subrutin.
Jag la en hexfile med programmet.