Stap 3: programmeren
Opstarten:
Wanneer de macht de microcontroller aanstaat leest de klok en zorgt ervoor dat de klok wordt uitgevoerd door de instelling beetje 7 registreren 0 (oscilloscoop Schakel bits) op 0. Als het gegevensblad suggereert, is dit nodig omdat de oorspronkelijke power on staat van de registers is niet gedefinieerd.
Hoofdlus:
Nadat het programma de hoofdlus binnenkomt, zal het opnieuw lezen van de klok en de 3 decimale getallen (uur, minits, seconden) converteren naar 6 kolommen.
Ik gebruikte na berekening(zie foto voor de kolommen):
seconden:
waarde / 10 (disgard de decimalen) geeft u colum 2
waarde - (colum2 * 10) geeft u colum 1
minits:
waarde / 10 (disgard de decimalen) geeft u colum 4
waarde - (colum2 * 10) geeft u colum 3
Openingstijden:
waarde / 10 (disgard de decimalen) geeft u colum 6
waarde - (colum2 * 10) geeft u colum 5
Wanneer gedaan, worden de colum-waarden doorberekend naar de haven van C volgens de colum thats schakelt op poort B. Deze multiplexing kunnen we gebruiken minder pinnen en houdt de huidige lager dan 100mA.
Na deze de lus wordt opnieuw opgestart
Wanneer een knop wordt ingedrukt, de bijbehorende interrupt heet en de uren of minits zijn verhoogd met 1. De klok is ingesteld onmiddellijk na het verhogen van een waarde via een set subroutine.
Ik heb een hexfile met het programma toegevoegd.